{"id":2871,"date":"2022-12-14T08:37:35","date_gmt":"2022-12-14T08:37:35","guid":{"rendered":"https:\/\/clevry.fi-t.seravo.com\/?page_id=2871"},"modified":"2025-12-23T11:29:36","modified_gmt":"2025-12-23T11:29:36","slug":"pricing","status":"publish","type":"page","link":"https:\/\/www.clevry.com\/en\/pricing\/","title":{"rendered":"Pricing"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2871\" class=\"elementor elementor-2871\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-69452c72 e-flex e-con-boxed e-con e-parent\" data-id=\"69452c72\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-4504d61e e-con-full e-flex e-con e-child\" data-id=\"4504d61e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-77c1497 elementor-widget elementor-widget-html\" data-id=\"77c1497\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\n    \/\/ JavaScript to hide all language options except English\ndocument.addEventListener('DOMContentLoaded', function() {\n  \/\/ Find all language list items\n  const languageItems = document.querySelectorAll('.wpml-ls-item');\n  \n  \/\/ Loop through each item\n  languageItems.forEach(function(item) {\n    \/\/ If the item doesn't have the English class ('wpml-ls-item-en'), hide it\n    if (!item.classList.contains('wpml-ls-item-en')) {\n      item.style.display = 'none';\n    }\n  });\n});\n\n\/\/ Alternative version if you need to apply this after the page has already loaded\nfunction hideNonEnglishLanguages() {\n  const languageItems = document.querySelectorAll('.wpml-ls-item');\n  \n  languageItems.forEach(function(item) {\n    if (!item.classList.contains('wpml-ls-item-en')) {\n      item.style.display = 'none';\n    }\n  });\n}\n\n\/\/ You can call this function directly if the DOM is already loaded\n\/\/ hideNonEnglishLanguages();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4098333a elementor-widget elementor-widget-heading\" data-id=\"4098333a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\"><b>Platform Plans<\/b><\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-38c8b5eb elementor-widget elementor-widget-heading\" data-id=\"38c8b5eb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><b>Make every hire count with predictive insights.<\/b><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-37ab0278 elementor-widget elementor-widget-text-editor\" data-id=\"37ab0278\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>A complete hiring platform with unlimited candidate assessments. Choose the tools you need today and scale effortlessly as your hiring needs evolve.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-478304f9 e-flex e-con-boxed e-con e-parent\" data-id=\"478304f9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8888550 elementor-align-center elementor-widget elementor-widget-breadcrumbs\" data-id=\"8888550\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"breadcrumbs.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p id=\"breadcrumbs\"><span><span><a href=\"https:\/\/www.clevry.com\/en\/\">Home<\/a><\/span><\/span><\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5b1bce3b e-flex e-con-boxed e-con e-parent\" data-id=\"5b1bce3b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-56843670 elementor-widget elementor-widget-spacer\" data-id=\"56843670\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e3dbb03 elementor-widget elementor-widget-shortcode\" data-id=\"e3dbb03\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t<div data-elementor-type=\"section\" data-elementor-id=\"53021\" class=\"elementor elementor-53021\" data-elementor-post-type=\"elementor_library\">\n\t\t\t<div class=\"elementor-element elementor-element-22bc5c3 e-flex e-con-boxed e-con e-parent\" data-id=\"22bc5c3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3040221 elementor-widget elementor-widget-html\" data-id=\"3040221\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<!-- \r\n    Clevry Pricing Widget\r\n    \r\n    This is a standalone HTML\/CSS\/JS widget for displaying Clevry's pricing options.\r\n    It can be embedded directly into an Elementor HTML widget on the Clevry website.\r\n    \r\n    Features:\r\n    - Interactive headcount slider with direct input option\r\n    - Dynamic pricing display based on company size\r\n    - Tabbed navigation between different product categories\r\n    - Responsive design for all devices\r\n    - No external dependencies\r\n-->\r\n\r\n<div id=\"clevry-pricing-widget\">\r\n    <!-- Header and Company Size Selector -->\r\n    <div class=\"clevry-pricing-header\">\r\n        <h2>Choose the plan that's right for you<\/h2>\r\n        <p class=\"clevry-pricing-subtitle\">All plans include core assessment features, unlimited usage, and our enterprise-grade security.<\/p>\r\n        \r\n        <!-- Currency Switcher -->\r\n        <div class=\"clevry-currency-switcher\">\r\n            <div class=\"clevry-switcher-track\">\r\n                <div class=\"clevry-switcher-indicator\"><\/div>\r\n                <!-- Primary currencies will be populated here -->\r\n            <\/div>\r\n            <div class=\"clevry-currency-dropdown\">\r\n                <button class=\"clevry-dropdown-toggle\">More \u25bc<\/button>\r\n                <div class=\"clevry-dropdown-content\">\r\n                    <!-- Secondary currencies will be populated here -->\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n        \r\n        <div class=\"clevry-company-size-selector\">\r\n            <label for=\"clevry-headcount-slider\">Company Size (Headcount)<\/label>\r\n            <div class=\"clevry-slider-container\">\r\n                <div id=\"custom-clevry-slider\">\r\n                    <div class=\"clevry-slider-track\"><\/div>\r\n                    <div class=\"clevry-slider-thumb\" tabindex=\"0\"><\/div>\r\n                <\/div>\r\n                <input type=\"number\" id=\"clevry-headcount-input\" min=\"1\" max=\"200000\" value=\"50\">\r\n            <\/div>\r\n            <div class=\"clevry-current-range\">Current range: <span id=\"clevry-range-display\">26-50<\/span><\/div>\r\n        <\/div>\r\n    <\/div>\r\n    \r\n    <!-- Category Tabs -->\r\n    <div class=\"clevry-pricing-tabs\">\r\n        <button class=\"clevry-tab active\" data-category=\"full-suite\">Full-suite Subscription<\/button>\r\n        <button class=\"clevry-tab\" data-category=\"separate-modules\">Assessments Only<\/button>\r\n    <\/div>\r\n    \r\n    <!-- Pricing Cards Container -->\r\n    <div class=\"clevry-pricing-cards\">\r\n        <!-- Cards will be generated by JavaScript -->\r\n    <\/div>\r\n    \r\n    <!-- Feature Comparison Table -->\r\n    <div class=\"clevry-feature-comparison\">\r\n        <h3>Feature Comparison<\/h3>\r\n        <div class=\"clevry-feature-table-container\">\r\n            <table class=\"clevry-feature-table\">\r\n                <!-- Table will be generated by JavaScript -->\r\n            <\/table>\r\n        <\/div>\r\n    <\/div>\r\n    \r\n    <!-- Pricing Disclaimer -->\r\n    <div class=\"clevry-pricing-disclaimer\">\r\n        <p>We've estimated your pricing based on the options you've chosen. You will receive an accurate quote from our sales department upon request. Any applicable taxes are not included.<\/p>\r\n    <\/div>\r\n    \r\n    <!-- Contact CTA -->\r\n    <div class=\"clevry-contact-cta\">\r\n        <p>Need a custom solution? Contact our sales team for a personalized quote.<\/p>\r\n        <button class=\"clevry-contact-button\">Contact Sales<\/button>\r\n    <\/div>\r\n<\/div>\r\n\r\n<style>\r\n\/* ===== VARIABLES ===== *\/\r\n:root {\r\n    --clevry-primary: #36705B;\r\n    --clevry-primary-light: #478a70;\r\n    --clevry-primary-dark: #295544;\r\n    --clevry-secondary: #DDF3EC;\r\n    --clevry-accent: #BDDCEC;\r\n    --clevry-text: #333333;\r\n    --clevry-text-light: #666666;\r\n    --clevry-background: #ffffff;\r\n    --clevry-border: #e4e4e4;\r\n    --clevry-success: #28a745;\r\n    --clevry-error: #dc3545;\r\n    --clevry-gray: #f8f9fa;\r\n    --clevry-gray-dark: #e9ecef;\r\n    --clevry-border-radius: 8px;\r\n    --clevry-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\r\n    --clevry-transition: all 0.3s ease;\r\n}\r\n\r\n\/* ===== GLOBAL STYLES ===== *\/\r\n#clevry-pricing-widget {\r\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif !important;\r\n    color: var(--clevry-text);\r\n    line-height: 1.5;\r\n    max-width: 1200px;\r\n    margin: 0 auto;\r\n    padding: 20px;\r\n    box-sizing: border-box;\r\n}\r\n\r\n#clevry-pricing-widget * {\r\n    box-sizing: border-box;\r\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif !important;\r\n}\r\n\r\n#clevry-pricing-widget h2 {\r\n    font-size: 2rem;\r\n    font-weight: 600;\r\n    text-align: center;\r\n    margin-bottom: 1rem;\r\n    color: var(--clevry-primary);\r\n}\r\n\r\n#clevry-pricing-widget h3 {\r\n    font-size: 1.5rem;\r\n    font-weight: 500;\r\n    margin-bottom: 1rem;\r\n}\r\n\r\n#clevry-pricing-widget p {\r\n    margin-bottom: 1rem;\r\n}\r\n\r\n\/* ===== HEADER AND SUBTITLE ===== *\/\r\n#clevry-pricing-widget .clevry-pricing-header {\r\n    text-align: center !important;\r\n    margin-bottom: 2rem !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-pricing-subtitle {\r\n    font-size: 1.1rem !important;\r\n    color: var(--clevry-text-light) !important;\r\n    margin-bottom: 2rem !important;\r\n}\r\n\r\n\/* ===== CURRENCY SWITCHER ===== *\/\r\n.clevry-currency-switcher {\r\n    display: flex !important;\r\n    align-items: center !important;\r\n    justify-content: center !important;\r\n    margin: 0 auto 2rem !important;\r\n    gap: 10px !important;\r\n    max-width: 400px !important; \/* Reduced from 600px to make it smaller *\/\r\n}\r\n\r\n.clevry-switcher-track {\r\n    display: flex !important;\r\n    position: relative !important;\r\n    background-color: white !important;\r\n    border-radius: 50px !important; \/* Match the package selector *\/\r\n    padding: 4px !important;\r\n    border: 2px solid var(--clevry-primary) !important; \/* Match the package selector border *\/\r\n}\r\n\r\n.clevry-switcher-indicator {\r\n    position: absolute !important;\r\n    top: 4px !important;\r\n    left: 4px !important;\r\n    height: calc(100% - 8px) !important;\r\n    background-color: var(--clevry-primary) !important; \/* Match the active package selector *\/\r\n    border-radius: 25px !important;\r\n    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;\r\n    transition: transform 0.3s ease, width 0.3s ease !important;\r\n    z-index: 1 !important;\r\n}\r\n\r\n.clevry-currency-option {\r\n    padding: 6px 14px !important; \/* Smaller padding *\/\r\n    border: none !important;\r\n    background: none !important;\r\n    font-weight: 500 !important;\r\n    font-size: 0.9rem !important; \/* Smaller font *\/\r\n    cursor: pointer !important;\r\n    position: relative !important;\r\n    z-index: 2 !important;\r\n    transition: color 0.3s ease !important;\r\n    color: var(--clevry-primary) !important; \/* Default color for non-active options *\/\r\n}\r\n\r\n.clevry-currency-option.active {\r\n    color: white !important; \/* Match the active package selector *\/\r\n}\r\n\r\n.clevry-currency-dropdown {\r\n    position: relative !important;\r\n}\r\n\r\n.clevry-dropdown-toggle {\r\n    background-color: white !important;\r\n    border: 2px solid var(--clevry-primary) !important; \/* Match package selector border *\/\r\n    border-radius: 50px !important; \/* Match package selector *\/\r\n    padding: 6px 14px !important; \/* Smaller padding *\/\r\n    font-size: 0.9rem !important;\r\n    font-weight: 500 !important;\r\n    color: var(--clevry-primary) !important;\r\n    cursor: pointer !important;\r\n    transition: var(--clevry-transition) !important;\r\n    height: 36px !important; \/* Match height of currency switcher track *\/\r\n    display: flex !important;\r\n    align-items: center !important;\r\n    justify-content: center !important;\r\n}\r\n\r\n.clevry-dropdown-toggle:hover {\r\n    background-color: var(--clevry-primary-light) !important;\r\n    color: white !important;\r\n}\r\n\r\n.clevry-dropdown-toggle.active-dropdown {\r\n    background-color: var(--clevry-primary) !important;\r\n    color: white !important;\r\n}\r\n\r\n.clevry-dropdown-content {\r\n    display: none !important;\r\n    position: absolute !important;\r\n    top: 100% !important;\r\n    right: 0 !important;\r\n    background-color: white !important;\r\n    min-width: 180px !important;\r\n    box-shadow: var(--clevry-box-shadow) !important;\r\n    border-radius: var(--clevry-border-radius) !important;\r\n    z-index: 10 !important;\r\n    margin-top: 8px !important;\r\n    padding: 8px 0 !important;\r\n    border: 1px solid var(--clevry-border) !important;\r\n}\r\n\r\n.clevry-dropdown-content.show {\r\n    display: block !important;\r\n}\r\n\r\n.clevry-dropdown-item {\r\n    padding: 8px 16px !important;\r\n    cursor: pointer !important;\r\n    transition: background-color 0.2s !important;\r\n}\r\n\r\n.clevry-dropdown-item:hover {\r\n    background-color: var(--clevry-gray) !important;\r\n}\r\n\r\n\/* ===== COMPANY SIZE SELECTOR ===== *\/\r\n.clevry-company-size-selector {\r\n    max-width: 600px !important;\r\n    margin: 0 auto 2rem !important;\r\n    padding: 1.5rem !important;\r\n    background-color: var(--clevry-secondary) !important;\r\n    border-radius: var(--clevry-border-radius) !important;\r\n}\r\n\r\n.clevry-company-size-selector label {\r\n    display: block !important;\r\n    font-weight: 500 !important;\r\n    margin-bottom: 1rem !important;\r\n}\r\n\r\n.clevry-slider-container {\r\n    display: flex !important;\r\n    align-items: center !important;\r\n    gap: 1rem !important;\r\n    margin-bottom: 1rem !important;\r\n}\r\n\r\n#custom-clevry-slider {\r\n    flex: 1 !important;\r\n    height: 40px !important;\r\n    position: relative !important;\r\n    cursor: pointer !important;\r\n}\r\n\r\n.clevry-slider-track {\r\n    width: 100% !important;\r\n    height: 8px !important;\r\n    background-color: white !important;\r\n    border-radius: 4px !important;\r\n    position: absolute !important;\r\n    top: 50% !important;\r\n    transform: translateY(-50%) !important;\r\n    border: 1px solid var(--clevry-border) !important;\r\n    z-index: 1 !important;\r\n}\r\n\r\n.clevry-slider-thumb {\r\n    width: 24px !important;\r\n    height: 24px !important;\r\n    background-color: var(--clevry-primary) !important;\r\n    border-radius: 50% !important;\r\n    position: absolute !important;\r\n    top: 50% !important;\r\n    transform: translateY(-50%) !important;\r\n    border: 2px solid white !important;\r\n    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;\r\n    margin-left: -12px !important; \/* Half of the width to center *\/\r\n    left: 0;\r\n    z-index: 2 !important;\r\n    transition: left 0.1s ease-out !important;\r\n}\r\n\r\n.clevry-slider-container input[type=\"range\"] {\r\n    flex: 1 !important;\r\n    height: 8px !important;\r\n    background-color: var(--clevry-background) !important;\r\n    border-radius: 4px !important;\r\n    appearance: none !important;\r\n    -webkit-appearance: none !important;\r\n    outline: none !important;\r\n}\r\n\r\n.clevry-slider-container input[type=\"range\"]::-webkit-slider-thumb {\r\n    appearance: none !important;\r\n    -webkit-appearance: none !important;\r\n    width: 24px !important;\r\n    height: 24px !important;\r\n    background-color: var(--clevry-primary) !important;\r\n    border-radius: 50% !important;\r\n    cursor: pointer !important;\r\n    border: 2px solid white !important;\r\n    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;\r\n}\r\n\r\n.clevry-slider-container input[type=\"range\"]::-moz-range-thumb {\r\n    width: 24px !important;\r\n    height: 24px !important;\r\n    background-color: var(--clevry-primary) !important;\r\n    border-radius: 50% !important;\r\n    cursor: pointer !important;\r\n    border: 2px solid white !important;\r\n    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;\r\n}\r\n\r\n.clevry-slider-container input[type=\"number\"] {\r\n    width: 100px !important;\r\n    padding: 0.5rem !important;\r\n    border: 1px solid var(--clevry-border) !important;\r\n    border-radius: var(--clevry-border-radius) !important;\r\n    font-size: 1rem !important;\r\n    text-align: center !important;\r\n}\r\n\r\n.clevry-current-range {\r\n    font-weight: 500 !important;\r\n    color: var(--clevry-primary) !important;\r\n}\r\n\r\n\/* ===== TABS ===== *\/\r\n#clevry-pricing-widget .clevry-pricing-tabs {\r\n    display: flex !important;\r\n    justify-content: center !important;\r\n    margin-bottom: 2rem !important;\r\n    gap: 10px !important;\r\n}\r\n\r\n\/* ===== PRICING DISCLAIMER ===== *\/\r\n#clevry-pricing-widget .clevry-pricing-disclaimer {\r\n    max-width: 800px !important;\r\n    margin: 0 auto 2rem !important;\r\n    padding: 1rem 1.5rem !important;\r\n    background-color: var(--clevry-secondary) !important;\r\n    border-radius: var(--clevry-border-radius) !important;\r\n    text-align: center !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-pricing-disclaimer p {\r\n    margin: 0 !important;\r\n    font-size: 0.95rem !important;\r\n    color: var(--clevry-text) !important;\r\n    line-height: 1.5 !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-tab {\r\n    background-color: white !important;\r\n    border: 2px solid var(--clevry-primary) !important;\r\n    border-radius: 50px !important; \/* More rounded, pill-shaped buttons *\/\r\n    padding: 0.75rem 1.5rem !important;\r\n    font-size: 1rem !important;\r\n    font-weight: 500 !important;\r\n    color: var(--clevry-primary) !important;\r\n    cursor: pointer !important;\r\n    transition: var(--clevry-transition) !important;\r\n    position: relative !important;\r\n    min-width: 180px !important; \/* Ensure consistent width *\/\r\n    text-align: center !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-tab:hover {\r\n    background-color: var(--clevry-primary-light) !important;\r\n    color: white !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-tab.active {\r\n    background-color: var(--clevry-primary) !important;\r\n    color: white !important;\r\n    border-color: var(--clevry-primary) !important;\r\n}\r\n\r\n\/* ===== SUBTABS ===== *\/\r\n#clevry-pricing-widget .clevry-subtabs-container {\r\n    margin-bottom: 2rem !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-pricing-subtabs {\r\n    display: flex !important;\r\n    justify-content: center !important;\r\n    gap: 10px !important;\r\n    max-width: 800px !important;\r\n    margin: 0 auto !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-subtab {\r\n    background-color: white !important;\r\n    border: 1px solid var(--clevry-primary) !important;\r\n    border-radius: 30px !important;\r\n    padding: 0.5rem 1.25rem !important;\r\n    font-size: 0.9rem !important;\r\n    font-weight: 500 !important;\r\n    color: var(--clevry-primary) !important;\r\n    cursor: pointer !important;\r\n    transition: var(--clevry-transition) !important;\r\n    position: relative !important;\r\n    min-width: 200px !important;\r\n    text-align: center !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-subtab:hover {\r\n    background-color: rgba(54, 112, 91, 0.1) !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-subtab.active {\r\n    background-color: var(--clevry-secondary) !important;\r\n    color: var(--clevry-primary) !important;\r\n    border-color: var(--clevry-primary) !important;\r\n    font-weight: 600 !important;\r\n}\r\n\r\n\/* ===== PRICING CARDS ===== *\/\r\n#clevry-pricing-widget .clevry-pricing-cards {\r\n    display: flex !important;\r\n    gap: 2rem !important;\r\n    margin-bottom: 3rem !important;\r\n    justify-content: center !important;\r\n    flex-wrap: wrap !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-pricing-card {\r\n    flex: 1 !important;\r\n    min-width: 250px !important;\r\n    max-width: 350px !important;\r\n    background-color: var(--clevry-background) !important;\r\n    border: 1px solid var(--clevry-border) !important;\r\n    border-radius: var(--clevry-border-radius) !important;\r\n    padding: 2rem !important;\r\n    transition: var(--clevry-transition) !important;\r\n    position: relative !important;\r\n    overflow: hidden !important;\r\n    display: flex !important;\r\n    flex-direction: column !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-pricing-card:hover {\r\n    box-shadow: var(--clevry-box-shadow) !important;\r\n    transform: translateY(-5px) !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-card-popular {\r\n    position: absolute !important;\r\n    top: 0 !important;\r\n    right: 0 !important;\r\n    background-color: var(--clevry-primary) !important;\r\n    color: white !important;\r\n    padding: 0.5rem 1rem !important;\r\n    font-size: 0.8rem !important;\r\n    font-weight: 500 !important;\r\n    transform: rotate(45deg) translate(20%, -50%) !important;\r\n    width: 150px !important;\r\n    text-align: center !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-card-header {\r\n    margin-bottom: 1.5rem !important;\r\n    padding-bottom: 1.5rem !important;\r\n    border-bottom: 1px solid var(--clevry-border) !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-card-title {\r\n    font-size: 1.5rem !important;\r\n    font-weight: 600 !important;\r\n    margin-bottom: 0.5rem !important;\r\n    color: var(--clevry-primary) !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-card-discount {\r\n    display: inline-block !important;\r\n    background-color: var(--clevry-secondary) !important;\r\n    color: var(--clevry-primary) !important;\r\n    padding: 0.25rem 0.5rem !important;\r\n    border-radius: 4px !important;\r\n    font-size: 0.9rem !important;\r\n    font-weight: 500 !important;\r\n    margin-bottom: 1rem !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-card-price {\r\n    font-size: 2.5rem !important;\r\n    font-weight: 700 !important;\r\n    margin-bottom: 0.5rem !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-card-period {\r\n    font-size: 1rem !important;\r\n    color: var(--clevry-text-light) !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-card-features {\r\n    flex: 1 !important;\r\n    margin-bottom: 2rem !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-feature-list {\r\n    list-style: none !important;\r\n    padding: 0 !important;\r\n    margin: 0 0 1.5rem 0 !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-feature-item {\r\n    display: flex !important;\r\n    align-items: flex-start !important;\r\n    margin-bottom: 0.75rem !important;\r\n    font-size: 0.95rem !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-feature-icon {\r\n    flex-shrink: 0 !important;\r\n    margin-right: 0.75rem !important;\r\n    color: var(--clevry-success) !important;\r\n    font-weight: bold !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-card-cta {\r\n    background-color: var(--clevry-primary) !important;\r\n    color: white !important;\r\n    border: none !important;\r\n    border-radius: 50px !important; \/* Fully rounded, pill-shaped button *\/\r\n    padding: 0.75rem 1.5rem !important;\r\n    font-size: 1rem !important;\r\n    font-weight: 500 !important;\r\n    cursor: pointer !important;\r\n    width: 100% !important;\r\n    transition: var(--clevry-transition) !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-card-cta:hover {\r\n    background-color: var(--clevry-primary-dark) !important;\r\n}\r\n\r\n\/* ===== FEATURE COMPARISON TABLE ===== *\/\r\n#clevry-pricing-widget .clevry-feature-comparison {\r\n    margin-bottom: 3rem !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-feature-table-container {\r\n    overflow-x: auto !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-feature-table {\r\n    width: 100% !important;\r\n    border-collapse: collapse !important;\r\n    text-align: left !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-feature-table th,\r\n#clevry-pricing-widget .clevry-feature-table td {\r\n    padding: 1rem !important;\r\n    border-bottom: 1px solid var(--clevry-border) !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-feature-table thead th {\r\n    background-color: var(--clevry-gray) !important;\r\n    font-weight: 500 !important;\r\n    color: var(--clevry-primary) !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-feature-table tbody tr:nth-child(even) {\r\n    background-color: var(--clevry-gray) !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-feature-category {\r\n    font-weight: 600 !important;\r\n    padding-top: 1.5rem !important;\r\n    background-color: var(--clevry-gray-dark) !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-feature-included {\r\n    color: var(--clevry-success) !important;\r\n    font-weight: bold !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-feature-not-included {\r\n    color: var(--clevry-text-light) !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-feature-new {\r\n    display: inline-block !important;\r\n    background-color: var(--clevry-primary) !important;\r\n    color: white !important;\r\n    font-size: 0.75rem !important;\r\n    font-weight: bold !important;\r\n    padding: 2px 6px !important;\r\n    border-radius: 4px !important;\r\n    margin-left: 8px !important;\r\n    vertical-align: middle !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-package-summary {\r\n    font-weight: 500 !important;\r\n    font-style: italic !important;\r\n    background-color: rgba(54, 112, 91, 0.1) !important;\r\n}\r\n\r\n\/* ===== CONTACT CTA ===== *\/\r\n#clevry-pricing-widget .clevry-contact-cta {\r\n    text-align: center !important;\r\n    padding: 2rem !important;\r\n    background-color: var(--clevry-secondary) !important;\r\n    border-radius: var(--clevry-border-radius) !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-contact-button {\r\n    background-color: var(--clevry-primary) !important;\r\n    color: white !important;\r\n    border: none !important;\r\n    border-radius: 50px !important; \/* Fully rounded, pill-shaped button *\/\r\n    padding: 0.75rem 2rem !important;\r\n    font-size: 1rem !important;\r\n    font-weight: 500 !important;\r\n    cursor: pointer !important;\r\n    transition: var(--clevry-transition) !important;\r\n    min-width: 180px !important;\r\n    text-align: center !important;\r\n}\r\n\r\n#clevry-pricing-widget .clevry-contact-button:hover {\r\n    background-color: var(--clevry-primary-dark) !important;\r\n}\r\n\r\n\/* ===== TOOLTIP STYLES ===== *\/\r\n.clevry-feature-tooltip {\r\n    position: relative;\r\n    display: inline-flex;\r\n    align-items: center;\r\n}\r\n\r\n.clevry-feature-tooltip .tooltip-icon {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    width: 16px;\r\n    height: 16px;\r\n    margin-left: 6px;\r\n    background-color: var(--clevry-primary);\r\n    color: white;\r\n    border-radius: 50%;\r\n    font-size: 10px;\r\n    cursor: help;\r\n}\r\n\r\n.clevry-feature-tooltip .tooltip-content {\r\n    visibility: hidden;\r\n    width: 250px;\r\n    background-color: rgba(0, 0, 0, 0.8);\r\n    color: #fff;\r\n    text-align: left;\r\n    border-radius: 6px;\r\n    padding: 10px;\r\n    position: absolute;\r\n    z-index: 100; \/* Higher z-index to ensure it's above other elements *\/\r\n    bottom: 125%;\r\n    left: 50%;\r\n    margin-left: -125px;\r\n    transform: translateY(10px);\r\n    opacity: 0;\r\n    transition: opacity 0.3s, transform 0.3s;\r\n    pointer-events: none;\r\n    font-weight: normal;\r\n    font-size: 0.85rem;\r\n    line-height: 1.4;\r\n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\r\n}\r\n\r\n\/* Adjust positioning for tooltips near the edge of the container *\/\r\n.clevry-feature-table td:first-child .clevry-feature-tooltip .tooltip-content {\r\n    left: 0;\r\n    margin-left: 0;\r\n}\r\n\r\n.clevry-feature-table td:first-child .clevry-feature-tooltip .tooltip-content::after {\r\n    left: 20px;\r\n    margin-left: 0;\r\n}\r\n\r\n.clevry-feature-table td:last-child .clevry-feature-tooltip .tooltip-content {\r\n    left: auto;\r\n    right: 0;\r\n    margin-left: 0;\r\n}\r\n\r\n.clevry-feature-table td:last-child .clevry-feature-tooltip .tooltip-content::after {\r\n    left: auto;\r\n    right: 20px;\r\n    margin-left: 0;\r\n}\r\n\r\n\/* For elements near the top edge, show tooltip below instead of above *\/\r\n.clevry-feature-table tr:first-child .clevry-feature-tooltip .tooltip-content,\r\n.clevry-feature-table tr:nth-child(2) .clevry-feature-tooltip .tooltip-content {\r\n    bottom: auto;\r\n    top: 125%;\r\n}\r\n\r\n.clevry-feature-table tr:first-child .clevry-feature-tooltip .tooltip-content::after,\r\n.clevry-feature-table tr:nth-child(2) .clevry-feature-tooltip .tooltip-content::after {\r\n    top: auto;\r\n    bottom: 100%;\r\n    border-color: transparent transparent rgba(0, 0, 0, 0.8) transparent;\r\n}\r\n\r\n.clevry-feature-tooltip .tooltip-content::after {\r\n    content: \"\";\r\n    position: absolute;\r\n    top: 100%;\r\n    left: 50%;\r\n    margin-left: -5px;\r\n    border-width: 5px;\r\n    border-style: solid;\r\n    border-color: rgba(0, 0, 0, 0.8) transparent transparent transparent;\r\n}\r\n\r\n.clevry-feature-tooltip:hover .tooltip-content {\r\n    visibility: visible;\r\n    opacity: 1;\r\n    transform: translateY(0);\r\n}\r\n\r\n\/* Ensure tooltips remain visible within the container *\/\r\n#clevry-pricing-widget {\r\n    overflow: visible;\r\n}\r\n\r\n.clevry-feature-table-container {\r\n    overflow: visible;\r\n}\r\n\r\n\/* ===== RESPONSIVE STYLES ===== *\/\r\n@media (max-width: 768px) {\r\n    .clevry-pricing-disclaimer {\r\n        padding: 1rem !important;\r\n    }\r\n    \r\n    .clevry-pricing-disclaimer p {\r\n        font-size: 0.9rem !important;\r\n    }\r\n    \r\n    .clevry-pricing-cards {\r\n        flex-direction: column;\r\n        align-items: center;\r\n    }\r\n    \r\n    .clevry-pricing-card {\r\n        width: 100%;\r\n        max-width: 100%;\r\n    }\r\n    \r\n    .clevry-pricing-tabs {\r\n        flex-wrap: wrap;\r\n    }\r\n    \r\n    .clevry-tab {\r\n        flex: 1;\r\n        padding: 0.75rem;\r\n        min-width: 33%;\r\n        text-align: center;\r\n    }\r\n    \r\n    .clevry-pricing-subtabs {\r\n        flex-wrap: wrap;\r\n    }\r\n    \r\n    .clevry-subtab {\r\n        flex: 1;\r\n        padding: 0.5rem 0.75rem;\r\n        min-width: 30%;\r\n        font-size: 0.85rem;\r\n    }\r\n    \r\n    .clevry-feature-tooltip .tooltip-content {\r\n        width: 200px;\r\n        margin-left: -100px;\r\n    }\r\n}\r\n\r\n@media (max-width: 480px) {\r\n    .clevry-slider-container {\r\n        flex-direction: column !important;\r\n    }\r\n    \r\n    \/* Add width to custom slider to prevent collapse in column layout *\/\r\n    #custom-clevry-slider {\r\n        width: 100% !important;\r\n    }\r\n    \r\n    .clevry-slider-container input[type=\"number\"] {\r\n        width: 100% !important;\r\n    }\r\n    \r\n    .clevry-tab {\r\n        font-size: 0.9rem;\r\n        padding: 0.5rem;\r\n    }\r\n    \r\n    .clevry-subtab {\r\n        font-size: 0.8rem;\r\n        padding: 0.4rem 0.6rem;\r\n        min-width: 45%;\r\n    }\r\n    \r\n    \/* Enhanced mobile slider styles *\/\r\n    #custom-clevry-slider {\r\n        height: 50px !important;  \/* Larger touch target *\/\r\n    }\r\n    \r\n    .clevry-slider-track {\r\n        height: 10px !important;  \/* Thicker track for better visibility *\/\r\n        background-color: white !important;\r\n        border: 1px solid var(--clevry-border) !important;\r\n    }\r\n    \r\n    .clevry-slider-thumb {\r\n        width: 28px !important;\r\n        height: 28px !important;\r\n        border: 2px solid white !important;\r\n        z-index: 2 !important;\r\n    }\r\n}\r\n<\/style>\r\n\r\n<script>\r\n\/\/ ===== CONFIGURATION =====\r\n\/\/ This section contains all configurable variables for the Clevry pricing widget\r\n\/\/ Modify these values to update the pricing data without changing the core functionality\r\n\r\n\/\/ Tooltip data for all features\r\nconst featureTooltips = {\r\n    \/\/ ASSESSMENTS\r\n    \"Unlimited use\": \"No limits on psychometric assessment volume or frequency.\",\r\n    \"Anti-cheat monitoring\": \"Combines proactive deterrents and smart detection tools like mouse tracking, copy-paste blocking, and several other proprietary methods to ensure fair assessment conditions.\",\r\n    \"Reasonable Adjustments\": \"Easily extend time limits to accommodate candidates who need extra support or adjustments.\",\r\n    \"GDPR Compliancy\": \"All data handling meets strict GDPR standards to protect individual privacy.\",\r\n    \"ISO27001 Data Security\": \"Your data is stored and processed under certified ISO27001 information security standards.\",\r\n    \"Automated candidate feedback\": \"Share personalised candidate feedback \u2014send it manually or bulk automate it, your choice.\",\r\n    \"All ability tests\": \"Access Clevry's full library of verbal, numerical, abstract, and mechanical reasoning, and checking tests.\",\r\n    \"Ability Test reports\": \"Insights into candidates' cognitive strengths from every ability test.\",\r\n    \"Email support\": \"Get help from our team via email for any questions or technical issues.\",\r\n    \"Basic onboarding\": \"Quick-start guidance to get your team up and running on the platform.\",\r\n    \"All Personality Questionnaires\": \"Access to our off-the-shelf Core and Enchanced personality questionnaires as well as all role-specific ones.\",\r\n    \"All SJTs\": \"Access to our library of off-the-shelf situational judgment tests for realistic role-based scenarios.\",\r\n    \"Custom Personality Questionnaires\": \"Create fully tailored personality questionnaires by selecting from our library of 46 traits to measure exactly what you need.\",\r\n    \"Customise job-match algorithm\": \"Customize how candidate profiles are matched to specific job requirements for more accurate fits.\",\r\n    \"Recruitment reports\": \"Support hiring decisions with Selection, Interviewer, Insights, Sales, Team, and Leadership reports.\",\r\n    \"Development reports\": \"Improve onboarding and development with Onboarding and group comparison versions of Sales, Team, and Leadership reports.\",\r\n    \"Premium support (priority in SLAs)\": \"Priority response times and faster resolution with premium SLA handling.\",\r\n    \"Stage automation\": \"Build your assessment flows with stages and automatically progress candidates based on rules or assessment scores.\",\r\n    \"Automated messaging\": \"Automate custom emails to candidates at each stage.\",\r\n    \"Custom questions\": \"Add your own questions to application forms to gather the info you need.\",\r\n    \"Bespoke webskin\": \"Branded candidate experience with your logo, colors, and custom visuals.\",\r\n    \"SSO\": \"Single sign-on for secure, seamless login via common identity provider.\",\r\n    \"Dedicated CSM\": \"A dedicated Customer Success Manager to support your implementation and ongoing usage.\",\r\n    \r\n    \/\/ ATS\r\n    \"Application form\": \"Collect candidate info for each job with a customisable application form.\",\r\n    \"Killer questions\": \"Filter out unqualified candidates early with must-pass hard skills questions.\",\r\n    \"Job board\": \"Get your own branded job board to publish open roles.\",\r\n    \"File upload\": \"Let candidates upload CVs, cover letters, or other documents directly in the application form.\",\r\n    \"Candidate messaging\": \"Keep contact with candidates with in-app messages and emails.\",\r\n    \"Candidate search & Filtering\": \"Quickly find and filter candidates based on various criteria.\",\r\n    \"Messaging centre & Email connecting\": \"Centralized messaging system connected to email for efficient communication.\",\r\n    \r\n    \/\/ VIDEO INTERVIEWS & VAC\r\n    \"Video interviews\": \"Set up your own structured questions and collect one-way video responses from candidates.\",\r\n    \"\\\"Reasonable usage\\\"\": \"Includes moderate usage of video interviews and activities\u2014fair use limits may apply.\",\r\n    \"Written exercises\": \"Create your own written exercises to assess candidates' thinking and communication.\",\r\n    \"Presentation activity\": \"Create your own presentation activities and have candidates prepare and record video presentations to evaluate structure and delivery.\",\r\n    \"Assessor portal\": \"Invite assessors to review candidates, score exercises, and leave structured feedback.\",\r\n    \"Assessor logins\": \"Provide secure access for assessors to evaluate candidates and provide feedback.\",\r\n    \"Reasonable usage of video exercises\": \"Includes moderate usage of video interviews and activities\u2014fair use limits may apply.\",\r\n    \r\n    \/\/ INTERVIEW BUILDER\r\n    \"Structured Interview Builder\": \"Create competency-based interview guidelines with our off-the-shelf competencies and soft skills.\",\r\n    \"Interview questions\": \"Get automatically generated interview questions based on your selected soft skills for the role.\",\r\n    \"Bespoke questions\": \"Add your own interview questions and probes to your structure.\",\r\n    \"Candidate preparation guide\": \"Generate a ready-to-share guide to help candidates prepare for interviews.\",\r\n    \"Link to bespoke Personality Questionnaire builder*\": \"Directly connect your interview setup to a custom-built personality questionnaire.\",\r\n    \"Link to recorded interviews**\": \"Link structured interview questions into one-way video interviews in your process.\",\r\n    \r\n    \/\/ HIRING MANAGER PORTAL\r\n    \"Candidate presentation builder\": \"Create custom candidate presentation templates to present candidates to hiring managers.\",\r\n    \"Hiring manager portal\": \"Managers can view, rate, and comment on presentated candidates directly in their own portal.\",\r\n    \"Custom presentation sliders\": \"Have full control on visual indicators for candidates suitability in soft skills, hard skills, interview and ability.\",\r\n    \"Anonymous presentations\": \"Control what individual information you share to hiring managers.\"\r\n};\r\n\r\nconst clevryPricingConfig = {\r\n\/\/ UI Settings\r\n    uiSettings: {\r\n        showRangeDisplay: false,  \/\/ Set to false to hide the \"Current range: X-Y\" display\r\n        showNewFeatureBadges: false,  \/\/ Set to false to hide the \"NEW in X\" badges\r\n        showDiscountPercentages: false,  \/\/ Set to false to hide discount percentages\r\n        showAddons: false,  \/\/ Set to false to hide the Add-ons tab (hidden by default)\r\n        buttonText: \"Contact Sales\",  \/\/ Text to display on all CTA buttons\r\n        buttonUrl: \"https:\/\/www.clevry.com\/contact\",  \/\/ Target URL for CTA buttons\r\n        \r\n        \/\/ Headcount cap settings\r\n        enableHeadcountCap: true,  \/\/ Set to true to enable headcount cap functionality\r\n        maxHeadcountForPricing: 1000,  \/\/ Above this headcount, display custom message instead of price\r\n        headcountCapMessage: \"Contact Sales for a custom quote\",  \/\/ Message to display instead of price\r\n    },\r\n    \r\n    \/\/ Currency configuration\r\n    currencyConfig: {\r\n        \/\/ Define all available currencies\r\n        currencies: [\r\n            { code: 'GBP', symbol: '\u00a3', name: 'British Pound', isPrimary: true },\r\n            { code: 'EUR', symbol: '\u20ac', name: 'Euro', isPrimary: true },\r\n            { code: 'USD', symbol: '$', name: 'US Dollar', isPrimary: true },\r\n            { code: 'SEK', symbol: 'kr', name: 'Swedish Krona', isPrimary: false },\r\n            { code: 'NOK', symbol: 'kr', name: 'Norwegian Krone', isPrimary: false },\r\n            { code: 'CAD', symbol: 'C$', name: 'Canadian Dollar', isPrimary: false },\r\n            { code: 'AED', symbol: '\u062f.\u0625', name: 'UAE Dirham', isPrimary: false },\r\n            { code: 'ZAR', symbol: 'R', name: 'South African Rand', isPrimary: false },\r\n            { code: 'INR', symbol: '\u20b9', name: 'Indian Rupee', isPrimary: false },\r\n            { code: 'KES', symbol: 'KSh', name: 'Kenyan Shilling', isPrimary: false },\r\n            { code: 'BWP', symbol: 'P', name: 'Botswana Pula', isPrimary: false },\r\n            { code: 'PHP', symbol: '\u20b1', name: 'Philippine Peso', isPrimary: false },\r\n            { code: 'AUD', symbol: 'A$', name: 'Australian Dollar', isPrimary: false }\r\n        ],\r\n        defaultCurrency: 'GBP'\r\n    },\r\n    \r\n    \/\/ Tier name configuration (change these names as needed)\r\n    tierNames: {\r\n        basicTier: \"Essential\",    \/\/ Name for entry-level tier\r\n        standardTier: \"Advanced\",  \/\/ Name for mid-level tier\r\n        premiumTier: \"Premium\"     \/\/ Name for top-level tier\r\n    },\r\n    \r\n    \/\/ Color scheme (CSS variables are defined in the stylesheet)\r\n    colors: {\r\n        primary: '#36705B',\r\n        secondary: '#DDF3EC',\r\n        accent: '#BDDCEC',\r\n        text: '#333333',\r\n        textLight: '#666666'\r\n    },\r\n    \r\n    \/\/ Headcount ranges for pricing tiers with step sizes\r\n    headcountRanges: [\r\n        { min: 1, max: 25, step: 1, displayWeight: 6 },        \/\/ Further reduced\r\n        { min: 26, max: 50, step: 1, displayWeight: 5 },       \/\/ Further reduced\r\n        { min: 51, max: 100, step: 5, displayWeight: 4 },      \/\/ Further reduced\r\n        { min: 101, max: 200, step: 10, displayWeight: 4 },    \/\/ Further reduced\r\n        { min: 201, max: 400, step: 25, displayWeight: 3.5 },  \/\/ Further reduced\r\n        { min: 401, max: 750, step: 50, displayWeight: 3 },    \/\/ Unchanged\r\n        { min: 751, max: 1250, step: 100, displayWeight: 3 },  \/\/ Unchanged\r\n        { min: 1251, max: 2000, step: 250, displayWeight: 3 }, \/\/ Increased for better balance\r\n        { min: 2001, max: 3000, step: 250, displayWeight: 3 }, \/\/ Increased for better balance\r\n        { min: 3001, max: 4500, step: 500, displayWeight: 3 }, \/\/ Increased for better balance\r\n        { min: 4501, max: 7000, step: 500, displayWeight: 3 }, \/\/ Increased for better balance\r\n        { min: 7001, max: 12000, step: 1000, displayWeight: 3 },   \/\/ Increased for better balance\r\n        { min: 12001, max: 25000, step: 1000, displayWeight: 3 },  \/\/ Increased for better balance\r\n        { min: 25001, max: 50000, step: 5000, displayWeight: 2.5 }, \/\/ Increased for better balance\r\n        { min: 50001, max: 100000, step: 10000, displayWeight: 2 }, \/\/ Increased for better balance\r\n        { min: 100001, max: 200000, step: 20000, displayWeight: 2 }  \/\/ Increased for better balance\r\n    ],\r\n    \r\n    \/\/ Full Suite Subscription Pricing\r\n    fullSuite: {\r\n        title: \"Skills-First Hiring Platform Subscriptions\",\r\n        tiers: [\r\n            {\r\n                name: function() { return clevryPricingConfig.tierNames.basicTier; },\r\n                discount: 0.15, \/\/ 15%\r\n                popular: false,\r\n                prices: {\r\n                    GBP: [3000, 4700, 7100, 10500, 14500, 19600, 25600, 33500, 42000, 51600, 61700, 77500, 93200, 124200, 186500, 248500],\r\n                    EUR: [3130, 4900, 7410, 10960, 15130, 20460, 26720, 34970, 43840, 53870, 64410, 80910, 97300, 129660, 194700, 259430],\r\n                    USD: [3650, 5730, 8650, 12800, 17670, 23890, 31210, 40840, 51200, 62910, 75220, 94480, 113620, 151420, 227380, 302970],\r\n                    SEK: [36400, 57100, 86200, 127500, 176100, 238100, 311000, 407000, 510300, 626900, 749600, 941600, 1132300, 1509000, 2265900, 3019200],\r\n                    NOK: [44500, 69700, 105400, 155900, 215300, 291000, 380100, 497400, 623700, 766200, 916200, 1150800, 1384000, 1844300, 2769500, 3690200],\r\n                    CAD: [5320, 8340, 12600, 18640, 25750, 34800, 45460, 59490, 74590, 91640, 109570, 137640, 165520, 220570, 331220, 441330],\r\n                    AED: [12690, 19880, 30030, 44410, 61330, 82900, 108280, 141700, 177660, 218260, 260990, 327820, 394230, 525360, 788890, 1051150],\r\n                    ZAR: [64800, 101500, 153300, 226800, 313200, 423300, 552900, 723600, 907200, 1114500, 1332700, 1674000, 2013100, 2682700, 4028400, 5367600],\r\n                    INR: [220000, 345000, 521000, 771000, 1065000, 1439000, 1880000, 2460000, 3084000, 3790000, 4531000, 5692000, 6845000, 9122000, 13698000, 18252000],\r\n                    KES: [432000, 676000, 1022000, 1512000, 2088000, 2822000, 3686000, 4824000, 6048000, 7430000, 8884000, 11160000, 13420000, 17884000, 26856000, 35784000],\r\n                    BWP: [37800, 59200, 89400, 132300, 182700, 246900, 322500, 422100, 529200, 650100, 777400, 976500, 1174300, 1564900, 2349900, 3131100],\r\n                    PHP: [166000, 260000, 394000, 582000, 804000, 1087000, 1420000, 1859000, 2331000, 2863000, 3424000, 4301000, 5172000, 6893000, 10350000, 13791000],\r\n                    AUD: [6000, 9400, 14200, 21000, 29000, 39200, 51200, 67000, 84000, 103200, 123400, 155000, 186400, 248400, 373000, 497000]\r\n                },\r\n                features: [\r\n                    \/\/ Assessment Essential\r\n                    \"Unlimited use\",\r\n                    \"Anti-cheat monitoring\",\r\n                    \"Reasonable Adjustments\",\r\n                    \"GDPR Compliancy\",\r\n                    \"ISO27001 Data Security\",\r\n                    \"Automated candidate feedback\",\r\n                    \"All ability tests\",\r\n                    \"Ability Test reports\",\r\n                    \"Email support\",\r\n                    \/\/ ATS\r\n                    \"Stage automation\",\r\n                    \"Application form\",\r\n                    \"Custom questions\",\r\n                    \"Killer questions\",\r\n                    \"File upload\",\r\n                    \"Job board\",\r\n                    \"Candidate messaging\",\r\n                    \"Candidate pseydonymization\",\r\n                    \"Candidate search & Filtering\",\r\n                    \"Messaging centre & Email connecting\"\r\n                ]\r\n            },\r\n            {\r\n                name: function() { return clevryPricingConfig.tierNames.standardTier; },\r\n                discount: 0.20, \/\/ 20%\r\n                popular: true,\r\n                prices: {\r\n                    GBP: [3700, 5900, 8800, 13100, 17900, 24400, 31800, 41700, 52200, 64200, 76800, 96400, 115900, 154500, 231900, 309100],\r\n                    EUR: [3860, 6150, 9180, 13670, 18680, 25470, 33190, 43530, 54490, 67020, 80170, 100640, 120990, 161290, 242100, 322700],\r\n                    USD: [4510, 7190, 10720, 15970, 21820, 29740, 38770, 50840, 63640, 78270, 93630, 117530, 141300, 188360, 282730, 376850],\r\n                    SEK: [44900, 71600, 106900, 159100, 217400, 296400, 386300, 506600, 634200, 780000, 933100, 1171200, 1408100, 1877100, 2817500, 3755500],\r\n                    NOK: [54900, 87600, 130600, 194500, 265800, 362300, 472200, 619200, 775100, 953300, 1140400, 1431500, 1721100, 2294300, 3443700, 4590100],\r\n                    CAD: [6570, 10470, 15620, 23260, 31790, 43330, 56470, 74050, 92700, 114010, 136390, 171200, 205830, 274390, 411850, 548960],\r\n                    AED: [15650, 24950, 37220, 55410, 75710, 103210, 134510, 176390, 220800, 271560, 324860, 407770, 490250, 653530, 980930, 1307490],\r\n                    ZAR: [79900, 127400, 190000, 282900, 386600, 527000, 686800, 900700, 1127500, 1386700, 1658800, 2082200, 2503400, 3337200, 5009000, 6676500],\r\n                    INR: [271000, 433000, 646000, 962000, 1314000, 1792000, 2335000, 3062000, 3834000, 4715000, 5640000, 7080000, 8512000, 11348000, 17033000, 22703000],\r\n                    KES: [532000, 849000, 1267000, 1886000, 2577000, 3513000, 4579000, 6004000, 7516000, 9244000, 11059000, 13881000, 16689000, 22248000, 33393000, 44510000],\r\n                    BWP: [46600, 74300, 110800, 165000, 225500, 307400, 400600, 525400, 657700, 808900, 967600, 1214600, 1460300, 1946700, 2921900, 3894600],\r\n                    PHP: [205000, 327000, 488000, 727000, 993000, 1354000, 1764000, 2314000, 2897000, 3563000, 4262000, 5350000, 6432000, 8574000, 12870000, 17155000],\r\n                    AUD: [7400, 11800, 17600, 26200, 35800, 48800, 63600, 83400, 104400, 128400, 153600, 192800, 231800, 309000, 463800, 618200]\r\n                },\r\n                features: [\r\n                    \/\/ Assessment Advanced\r\n                    \"Unlimited use\",\r\n                    \"Anti-cheat monitoring\",\r\n                    \"Reasonable Adjustments\",\r\n                    \"GDPR Compliancy\",\r\n                    \"ISO27001 Data Security\",\r\n                    \"Automated candidate feedback\",\r\n                    \"All ability tests\",\r\n                    \"Ability Test reports\",\r\n                    \"Email support\",\r\n                    \"All Personality Questionnaires\",\r\n                    \"All SJTs\",\r\n                    \"Custom Personality Questionnaires\",\r\n                    \"Recruitment reports\",\r\n                    \"Development reports\",\r\n                    \"Premium support (priority in SLAs)\",\r\n                    \/\/ ATS\r\n                    \"ATS\",\r\n                    \"Stage automation\",\r\n                    \"Application form\",\r\n                    \"Custom questions\",\r\n                    \"Killer questions\",\r\n                    \"File upload\",\r\n                    \"Job board\",\r\n                    \"Candidate messaging\",\r\n                    \"Candidate pseydonymization\",\r\n                    \"Candidate search & Filtering\",\r\n                    \"Messaging centre & Email connecting\",\r\n                    \/\/ Video Interviews\r\n                    \"Video Interviews\"\r\n                ]\r\n            },\r\n            {\r\n                name: function() { return clevryPricingConfig.tierNames.premiumTier; },\r\n                discount: 0.40, \/\/ 40%\r\n                popular: false,\r\n                prices: {\r\n                    GBP: [13700, 13700, 13700, 20500, 28000, 38000, 49700, 65200, 81500, 100300, 119900, 150400, 180900, 241100, 362000, 482500],\r\n                    EUR: [14300, 14300, 14300, 21400, 29230, 39670, 51880, 68060, 85080, 104710, 125170, 157010, 188850, 251700, 377920, 503730],\r\n                    USD: [16700, 16700, 16700, 24990, 34130, 46320, 60590, 79490, 99360, 122280, 146180, 183360, 220550, 293940, 441350, 588260],\r\n                    SEK: [166400, 166400, 166400, 249000, 340200, 461700, 603800, 792100, 990200, 1218600, 1456700, 1827300, 2197900, 2929300, 4398300, 5862300],\r\n                    NOK: [203400, 203400, 203400, 304400, 415800, 564300, 738000, 968200, 1210200, 1489400, 1780500, 2233400, 2686300, 3580300, 5375700, 7165100],\r\n                    CAD: [24330, 24330, 24330, 36400, 49720, 67480, 88260, 115790, 144740, 178130, 212940, 267110, 321270, 428190, 642910, 856920],\r\n                    AED: [57950, 57950, 57950, 86710, 118440, 160740, 210230, 275790, 344740, 424260, 507170, 636190, 765200, 1019850, 1531260, 2040970],\r\n                    ZAR: [295900, 295900, 295900, 442800, 604800, 820800, 1073500, 1408300, 1760400, 2166400, 2589800, 3248600, 3907400, 5207700, 7819200, 10422000],\r\n                    INR: [1006000, 1006000, 1006000, 1505000, 2056000, 2791000, 3650000, 4788000, 5986000, 7367000, 8806000, 11046000, 13287000, 17708000, 26588000, 35439000],\r\n                    KES: [1972000, 1972000, 1972000, 2952000, 4032000, 5472000, 7156000, 9388000, 11736000, 14443000, 17265000, 21657000, 26049000, 34718000, 52128000, 69480000],\r\n                    BWP: [172600, 172600, 172600, 258300, 352800, 478800, 626200, 821500, 1026900, 1263700, 1510700, 1895000, 2279300, 3037800, 4561200, 6079500],\r\n                    PHP: [760000, 760000, 760000, 1137000, 1554000, 2109000, 2758000, 3618000, 4523000, 5566000, 6654000, 8347000, 10039000, 13381000, 20091000, 26778000],\r\n                    AUD: [27400, 27400, 27400, 41000, 56000, 76000, 99400, 130400, 163000, 200600, 239800, 300800, 361800, 482200, 724000, 965000]\r\n                },\r\n                features: [\r\n                    \/\/ Assessment Premium\r\n                    \"Unlimited use\",\r\n                    \"Anti-cheat monitoring\",\r\n                    \"Reasonable Adjustments\",\r\n                    \"GDPR Compliancy\",\r\n                    \"ISO27001 Data Security\",\r\n                    \"Automated candidate feedback\",\r\n                    \"All ability tests\",\r\n                    \"Ability Test reports\",\r\n                    \"Email support\",\r\n                \"All Personality Questionnaires\",\r\n                \"All SJTs\",\r\n                \"Custom Personality Questionnaires\",\r\n                    \"Recruitment reports\",\r\n                    \"Development reports\",\r\n                    \"Premium support (priority in SLAs)\",\r\n                    \"Dedicated CSM\",\r\n                    \"Bespoke Webskin\",\r\n                    \"SSO\",\r\n                    \/\/ ATS\r\n                    \"ATS\",\r\n                    \"Stage automation\",\r\n                    \"Application form\",\r\n                    \"Custom questions\",\r\n                    \"Killer questions\",\r\n                    \"File upload\",\r\n                    \"Job board\",\r\n                    \"Candidate messaging\",\r\n                    \"Candidate pseydonymization\",\r\n                    \"Candidate search & Filtering\",\r\n                    \"Messaging centre & Email connecting\",\r\n                    \/\/ Video Interviews\r\n                    \"Video Interviews\",\r\n                    \/\/ Interview Builder\r\n                    \"Structured Interview Builder\",\r\n                    \/\/ Virtual Assessment Centre\r\n                    \"Written exercises\",\r\n                    \"Presentation activity\",\r\n                    \"Assessor logins\"\r\n                ]\r\n            }\r\n        ],\r\n        featureCategories: {\r\n            \"ASSESSMENTS\": [\r\n                \"Unlimited use\",\r\n                \"Anti-cheat monitoring\",\r\n                \"Reasonable Adjustments\",\r\n                \"GDPR Compliancy\",\r\n                \"ISO27001 Data Security\",\r\n                \"Automated candidate feedback\",\r\n                \"All ability tests\",\r\n                \"Ability Test reports\",\r\n                \"Email support\",\r\n                    \"All Personality Questionnaires\",\r\n                    \"All SJTs\",\r\n                    \"Custom Personality Questionnaires\",\r\n                \"Recruitment reports\",\r\n                \"Development reports\",\r\n                \"Premium support (priority in SLAs)\",\r\n                \"Dedicated CSM\",\r\n                \"Bespoke Webskin\",\r\n                \"SSO\"\r\n            ],\r\n            \"APPLICANT TRACKING SYSTEM\": [\r\n                \"ATS\",\r\n                \"Stage automation\",\r\n                \"Application form\",\r\n                \"Custom questions\",\r\n                \"Killer questions\",\r\n                \"File upload\",\r\n                \"Job board\",\r\n                \"Candidate messaging\",\r\n                \"Candidate search & Filtering\",\r\n                \"Messaging centre & Email connecting\"\r\n            ],\r\n            \"VIDEO INTERVIEWS\": [\r\n                \"Video Interviews\"\r\n            ],\r\n            \"INTERVIEW BUILDER\": [\r\n                \"Structured Interview Builder\"\r\n            ],\r\n            \"VIRTUAL ASSESSMENT CENTRE\": [\r\n                \"Written exercises\",\r\n                \"Presentation activity\",\r\n                \"Assessor logins\"\r\n            ]\r\n        }\r\n    },\r\n    \r\n    \/\/ Separate Modules Pricing\r\n    separateModules: {\r\n        title: \"Separate Products\",\r\n        modules: [\r\n            {\r\n                name: function() { return \"Assessments \" + clevryPricingConfig.tierNames.basicTier; },\r\n                discount: 0.8, \/\/ 80% of full price\r\n                popular: false,\r\n                prices: {\r\n                    GBP: [2010, 3150, 4750, 7100, 9700, 13150, 17200, 22550, 28200, 34700, 41500, 52100, 62600, 83500, 125400, 167100],\r\n                    EUR: [2090, 3280, 4950, 7410, 10120, 13720, 17950, 23540, 29440, 36220, 43320, 54390, 65350, 87170, 130910, 174450],\r\n                    USD: [2450, 3840, 5790, 8650, 11820, 16030, 20970, 27490, 34380, 42300, 50590, 63520, 76320, 101800, 152880, 203720],\r\n                    SEK: [24400, 38200, 57700, 86200, 117800, 159700, 208900, 273900, 342600, 421600, 504200, 633000, 760500, 1014500, 1523600, 2030200],\r\n                    NOK: [29800, 46700, 70500, 105400, 144000, 195200, 255400, 334800, 418700, 515200, 616200, 773600, 929600, 1239900, 1862100, 2481400],\r\n                    CAD: [3560, 5590, 8430, 12600, 17220, 23350, 30540, 40040, 50080, 61620, 73700, 92520, 111170, 148290, 222710, 296760],\r\n                    AED: [8500, 13320, 20090, 30030, 41030, 55620, 72750, 95380, 119280, 146780, 175540, 220380, 264790, 353200, 530440, 706830],\r\n                    ZAR: [43400, 68000, 102600, 153300, 209500, 284000, 371500, 487000, 609100, 749500, 896400, 1125300, 1352100, 1803600, 2708600, 3609300],\r\n                    USD_ZA: [2290, 3600, 5420, 8110, 11080, 15030, 19650, 25770, 32230, 39660, 47430, 59550, 71550, 95440, 143330, 190990],\r\n                    INR: [147000, 231000, 348000, 521000, 712000, 965000, 1263000, 1656000, 2071000, 2548000, 3048000, 3826000, 4597000, 6133000, 9210000, 12273000],\r\n                    KES: [289000, 453000, 684000, 1022000, 1396000, 1893000, 2476000, 3247000, 4060000, 4996000, 5976000, 7502000, 9014000, 12024000, 18057000, 24062000],\r\n                    BWP: [25300, 39600, 59800, 89400, 122200, 165600, 216700, 284100, 355300, 437200, 522900, 656400, 788700, 1052100, 1580000, 2105400],\r\n                    PHP: [111000, 174000, 263000, 394000, 538000, 729000, 954000, 1251000, 1565000, 1925000, 2303000, 2891000, 3474000, 4634000, 6959000, 9274000],\r\n                    GBP_ID: [1200, 1890, 2850, 4260, 5820, 7890, 10320, 13530, 16920, 20820, 24900, 31260, 37560, 50100, 75240, 100260],\r\n                    AUD: [4020, 6300, 9500, 14200, 19400, 26300, 34400, 45100, 56400, 69400, 83000, 104200, 125200, 167000, 250800, 334200]\r\n                },\r\n                features: [\r\n                    \"Unlimited use\",\r\n                    \"All ability tests\",\r\n                    \"Ability Test reports\",\r\n                    \"Email support\",\r\n                    \"Standard onboarding\",\r\n                    \"Anti-cheat monitoring\",\r\n                    \"Reasonable Adjustments\",\r\n                    \"GDPR Compliancy\",\r\n                    \"ISO27001 Data Security\",\r\n                    \"Automated candidate feedback\"\r\n                ]\r\n            },\r\n            {\r\n                name: function() { return \"Assessments \" + clevryPricingConfig.tierNames.standardTier; },\r\n                discount: 1.0, \/\/ 100% (full price)\r\n                popular: true,\r\n                prices: {\r\n                    GBP: [2510, 3940, 5940, 8880, 12100, 16450, 21500, 28200, 35250, 43400, 51900, 65100, 78300, 104400, 156700, 208900],\r\n                    EUR: [2620, 4110, 6200, 9270, 12630, 17170, 22440, 29440, 36800, 45300, 54180, 67960, 81740, 108990, 163590, 218090],\r\n                    USD: [3060, 4800, 7240, 10820, 14750, 20050, 26210, 34380, 42970, 52910, 63270, 79360, 95460, 127280, 191040, 254690],\r\n                    SEK: [30400, 47800, 72100, 107800, 147000, 199800, 261200, 342600, 428200, 527300, 630500, 790900, 951300, 1268400, 1903900, 2538100],\r\n                    NOK: [37200, 58500, 88200, 131800, 179600, 244200, 319200, 418700, 523400, 644400, 770700, 966700, 1162700, 1550300, 2326900, 3102100],\r\n                    CAD: [4450, 6990, 10540, 15770, 21480, 29210, 38180, 50080, 62600, 77070, 92170, 115610, 139060, 185410, 278290, 371000],\r\n                    AED: [10610, 16660, 25120, 37560, 51180, 69580, 90940, 119280, 149100, 183580, 219530, 275370, 331200, 441610, 662840, 883640],\r\n                    ZAR: [54200, 85100, 128300, 191800, 261300, 355300, 464400, 609100, 761400, 937400, 1121000, 1406100, 1691200, 2255000, 3384700, 4512200],\r\n                    USD_ZA: [2860, 4500, 6780, 10140, 13830, 18800, 24570, 32230, 40290, 49600, 59320, 74400, 89490, 119320, 179100, 238770],\r\n                    INR: [184000, 289000, 436000, 652000, 888000, 1208000, 1579000, 2071000, 2589000, 3187000, 3812000, 4781000, 5751000, 7668000, 11509000, 15343000],\r\n                    KES: [361000, 567000, 855000, 1278000, 1742000, 2368000, 3096000, 4060000, 5076000, 6249000, 7473000, 9374000, 11275000, 15033000, 22564000, 30081000],\r\n                    BWP: [31600, 49600, 74800, 111800, 152400, 207200, 270900, 355300, 444100, 546800, 653900, 820200, 986500, 1315400, 1974400, 2632100],\r\n                    PHP: [139000, 218000, 329000, 492000, 671000, 912000, 1193000, 1565000, 1956000, 2408000, 2880000, 3613000, 4345000, 5794000, 8696000, 11593000],\r\n                    GBP_ID: [1500, 2360, 3560, 5320, 7260, 9870, 12900, 16920, 21150, 26040, 31140, 39060, 46980, 62640, 94020, 125340],\r\n                    AUD: [5020, 7880, 11880, 17760, 24200, 32900, 43000, 56400, 70500, 86800, 103800, 130200, 156600, 208800, 313400, 417800]\r\n                },\r\n                features: [\r\n                    \"Unlimited use\",\r\n                    \"All ability tests\",\r\n                    \"All Personality Questionnaires\",\r\n                    \"All SJTs\",\r\n                    \"Custom Personality Questionnaires\",\r\n                    \"Ability Test reports\",\r\n                    \"Recruitment reports\",\r\n                    \"Development reports\",\r\n                    \"Automated candidate feedback\",\r\n                    \"Email support\",\r\n                    \"Standard onboarding\",\r\n                    \"Anti-cheat monitoring\",\r\n                    \"Reasonable Adjustments\",\r\n                    \"GDPR Compliancy\",\r\n                    \"ISO27001 Data Security\",\r\n                    \"Premium support (priority in SLAs)\"\r\n                ]\r\n            },\r\n            {\r\n                name: function() { return \"Assessments \" + clevryPricingConfig.tierNames.premiumTier; },\r\n                discount: 1.25, \/\/ 125% of full price\r\n                popular: false,\r\n                prices: {\r\n                    GBP: [7425, 7425, 7425, 11100, 15150, 20550, 26900, 35300, 44100, 54300, 64900, 81400, 97900, 130500, 195900, 261100],\r\n                    EUR: [7750, 7750, 7750, 11580, 15810, 21450, 28080, 36850, 46040, 56680, 67750, 84980, 102200, 136240, 204510, 272580],\r\n                    USD: [9050, 9050, 9050, 13530, 18470, 25050, 32790, 43030, 53760, 66200, 79120, 99240, 119350, 159100, 238840, 318330],\r\n                    SEK: [90200, 90200, 90200, 134800, 184000, 249600, 326800, 428800, 535800, 659700, 788500, 989000, 1189400, 1585500, 2380100, 3172300],\r\n                    NOK: [110200, 110200, 110200, 164800, 224900, 305100, 399400, 524200, 654800, 806300, 963700, 1208700, 1453800, 1937900, 2909100, 3877300],\r\n                    CAD: [13180, 13180, 13180, 19710, 26900, 36490, 47770, 62690, 78320, 96430, 115260, 144560, 173870, 231760, 347910, 463710],\r\n                    AED: [31400, 31400, 31400, 46950, 64080, 86920, 113780, 149310, 186540, 229680, 274520, 344320, 414110, 552010, 828650, 1104450],\r\n                    ZAR: [160300, 160300, 160300, 239700, 327200, 443800, 581000, 762400, 952500, 1172800, 1401800, 1758200, 2114600, 2818800, 4231400, 5639700],\r\n                    USD_ZA: [8480, 8480, 8480, 12680, 17310, 23480, 30740, 40340, 50400, 62060, 74180, 93040, 111890, 149160, 223910, 298430],\r\n                    INR: [545000, 545000, 545000, 815000, 1112000, 1509000, 1975000, 2592000, 3239000, 3988000, 4766000, 5978000, 7190000, 9585000, 14388000, 19177000],\r\n                    KES: [1069000, 1069000, 1069000, 1598000, 2181000, 2959000, 3873000, 5083000, 6350000, 7819000, 9345000, 11721000, 14097000, 18792000, 28209000, 37598000],\r\n                    BWP: [93500, 93500, 93500, 139800, 190800, 258900, 338900, 444700, 555600, 684100, 817700, 1025600, 1233500, 1644300, 2468300, 3289800],\r\n                    PHP: [412000, 412000, 412000, 616000, 840000, 1140000, 1492000, 1959000, 2447000, 3013000, 3601000, 4517000, 5433000, 7242000, 10872000, 14491000],\r\n                    GBP_ID: [4450, 4450, 4450, 6660, 9090, 12330, 16140, 21180, 26460, 32580, 38940, 48840, 58740, 78300, 117540, 156660],\r\n                    AUD: [14850, 14850, 14850, 22200, 30300, 41100, 53800, 70600, 88200, 108600, 129800, 162800, 195800, 261000, 391800, 522200]\r\n                },\r\n                features: [\r\n                    \"Unlimited use\",\r\n                    \"All ability tests\",\r\n                    \"All Personality Questionnaires\",\r\n                    \"All SJTs\",\r\n                    \"Custom Personality Questionnaires\",\r\n                    \"Ability Test reports\",\r\n                    \"Recruitment reports\",\r\n                    \"Development reports\",\r\n                    \"Automated candidate feedback\",\r\n                    \"Premium support (priority in SLAs)\",\r\n                    \"Standard onboarding\",\r\n                    \"Anti-cheat monitoring\",\r\n                    \"Reasonable Adjustments\",\r\n                    \"GDPR Compliancy\",\r\n                    \"ISO27001 Data Security\",\r\n                    \"Bespoke webskin\",\r\n                    \"SSO\",\r\n                    \"Dedicated customer success\"\r\n                ]\r\n            },\r\n            {\r\n                name: \"Applicant Tracking System\",\r\n                discount: 0.6, \/\/ 60% of full price\r\n                popular: false,\r\n                prices: [1500, 2400, 3600, 5300, 7300, 9900, 12900, 16900, 21200, 26000, 31100, 39100, 47000, 62600, 94000, 125300],\r\n                features: [\r\n                    \"GDPR Compliancy\",\r\n                    \"ISO27001 Data Security\",\r\n                    \"Unlimited use\",\r\n                    \"Application form\",\r\n                    \"Custom questions\",\r\n                    \"Killer questions\",\r\n                    \"Stage automation\",\r\n                    \"Job board\",\r\n                    \"Email support\",\r\n                    \"File upload\",\r\n                    \"Candidate messaging\",\r\n                    \"Candidate search & Filtering\",\r\n                    \"Messaging centre & Email connecting\"\r\n                ]\r\n            },\r\n            {\r\n                name: \"Virtual Assessment Center\",\r\n                discount: 1.5, \/\/ 150% of full price\r\n                popular: false,\r\n                prices: [3100, 4900, 7400, 11100, 15100, 20600, 26900, 35300, 44100, 54300, 64900, 81400, 97900, 130500, 195900, 261100],\r\n                features: [\r\n                    \"GDPR Compliancy\",\r\n                    \"ISO27001 Data Security\",\r\n                    \"Written exercises\",\r\n                    \"Presentation activity\",\r\n                    \"Video interviews\",\r\n                    \"Email support\",\r\n                    \"Assessor portal\",\r\n                    \"Reasonable usage of video exercises\"\r\n                ]\r\n            }\r\n        ]\r\n    },\r\n    \r\n    \/\/ Add-ons Pricing (cannot be sold independently)\r\n    addons: {\r\n        title: \"Add-ons (cannot be sold independently)\",\r\n        items: [\r\n            {\r\n                name: \"Video Interviews\",\r\n                discount: 0.35, \/\/ 35% of full price\r\n                prices: [630, 990, 1490, 2220, 3030, 4110, 5380, 7050, 8810, 10850, 12980, 16280, 19580, 26100, 39180, 52230],\r\n                features: [\r\n                    \"Video interviews\",\r\n                    \"\\\"Reasonable usage\\\"\"\r\n                ]\r\n            },\r\n            {\r\n                name: \"Interview Builder\",\r\n                discount: 0.5, \/\/ 50% of full price\r\n                prices: [1260, 1970, 2970, 4440, 6050, 8230, 10750, 14100, 17630, 21700, 25950, 32550, 39150, 52200, 78350, 104450],\r\n                features: [\r\n                    \"Structured Interview Builder\",\r\n                    \"Interview questions\",\r\n                    \"Bespoke questions\",\r\n                    \"Candidate preparation guide\",\r\n                    \"Link to bespoke Personality Questionnaire builder*\",\r\n                    \"Link to recorded interviews**\",\r\n    \"* requires access to Personality Questionnaires\",\r\n                    \"** requires recorded video interview access\"\r\n                ]\r\n            },\r\n            {\r\n                name: \"Hiring Manager Portal\",\r\n                discount: 0.2, \/\/ 20% of full price\r\n                prices: [500, 790, 1190, 1780, 2420, 3290, 4300, 5640, 7050, 8680, 10380, 13020, 15660, 20880, 31340, 41780],\r\n                features: [\r\n                    \"Candidate presentation builder\",\r\n                    \"Hiring manager portal\",\r\n                    \"Custom presentation sliders\",\r\n                    \"Anonymous presentations\"\r\n                ]\r\n            },\r\n            {\r\n                name: \"Performance Insights\",\r\n                discount: 0.5, \/\/ 50% of full price\r\n                prices: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], \/\/ Empty pricing\r\n                features: []\r\n            },\r\n            {\r\n                name: \"360\",\r\n                discount: 0.0, \/\/ Placeholder\r\n                prices: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], \/\/ Empty pricing\r\n                features: []\r\n            }\r\n        ]\r\n    }\r\n};\r\n\r\n\/\/ ===== UTILITY FUNCTIONS =====\r\n\r\n\/\/ Function to find the range index based on a headcount number\r\nfunction findHeadcountRangeIndex(headcount) {\r\n    \/\/ Handle cases where headcount is outside the overall min\/max\r\n    if (headcount <= clevryPricingConfig.headcountRanges[0].min) {\r\n        return 0;\r\n    }\r\n    if (headcount >= clevryPricingConfig.headcountRanges[clevryPricingConfig.headcountRanges.length - 1].max) {\r\n        return clevryPricingConfig.headcountRanges.length - 1;\r\n    }\r\n\r\n    for (let i = 0; i < clevryPricingConfig.headcountRanges.length; i++) {\r\n        const range = clevryPricingConfig.headcountRanges[i];\r\n        if (headcount >= range.min && headcount <= range.max) {\r\n            return i;\r\n        }\r\n    }\r\n    \/\/ Fallback if somehow not found within defined ranges (should ideally not happen with guards above)\r\n    return 0;\r\n}\r\n\r\n\/\/ Current selected currency\r\nlet currentCurrency = clevryPricingConfig.currencyConfig.defaultCurrency;\r\n\r\n\/\/ Function to format price with currency symbol and commas\r\nfunction formatPrice(price, currencyCode = currentCurrency) {\r\n    \/\/ Get currency details from config\r\n    const currency = clevryPricingConfig.currencyConfig.currencies.find(c => c.code === currencyCode);\r\n    \r\n    if (!currency) {\r\n        return '\u00a3' + price.toString().replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, \",\");\r\n    }\r\n    \r\n    \/\/ Format based on currency\r\n    if (currencyCode === 'SEK' || currencyCode === 'NOK') {\r\n        \/\/ Swedish\/Norwegian Krona\/Krone: 1,234 kr\r\n        return price.toString().replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, \",\") + ' ' + currency.symbol;\r\n    } else if (currencyCode === 'INR') {\r\n        \/\/ Indian Rupee: \u20b91,23,456 (groups of 2 except first group of 3)\r\n        const str = price.toString();\r\n        let formatted = '';\r\n        for (let i = str.length - 1, count = 0; i >= 0; i--, count++) {\r\n            formatted = str[i] + formatted;\r\n            if (i > 0 && ((count + 1) % 2 === 0) && (count > 0)) {\r\n                formatted = ',' + formatted;\r\n            }\r\n        }\r\n        return currency.symbol + formatted;\r\n    } else {\r\n        \/\/ Default format: $1,234 \r\n        return currency.symbol + price.toString().replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, \",\");\r\n    }\r\n}\r\n\r\n\/\/ Function to get the range text based on index\r\nfunction getRangeText(index) {\r\n    const range = clevryPricingConfig.headcountRanges[index];\r\n    return `${range.min}-${range.max}`;\r\n}\r\n\r\n\/\/ Function to switch currency\r\nfunction switchCurrency(currencyCode) {\r\n    \/\/ Find the currency in config\r\n    const currency = clevryPricingConfig.currencyConfig.currencies.find(c => c.code === currencyCode);\r\n    if (!currency) {\r\n        \/\/ If currency not found, default to primary currency\r\n        currencyCode = clevryPricingConfig.currencyConfig.defaultCurrency;\r\n        const defaultCurrency = clevryPricingConfig.currencyConfig.currencies.find(c => c.code === currencyCode);\r\n        if (!defaultCurrency) return; \/\/ Safety check\r\n        currency = defaultCurrency;\r\n    }\r\n    \r\n    \/\/ Update current currency\r\n    currentCurrency = currencyCode;\r\n    \r\n    \/\/ Update UI\r\n    const options = document.querySelectorAll('.clevry-currency-option');\r\n    const indicator = document.querySelector('.clevry-switcher-indicator');\r\n    const dropdownToggle = document.querySelector('.clevry-dropdown-toggle');\r\n    \r\n    \/\/ First reset all states\r\n    options.forEach(option => option.classList.remove('active'));\r\n    dropdownToggle.classList.remove('active-dropdown');\r\n    \r\n    \/\/ Find the selected option among primary currencies\r\n    let selectedOption;\r\n    if (currency.isPrimary) {\r\n        options.forEach(option => {\r\n            if (option.dataset.currency === currencyCode) {\r\n                option.classList.add('active');\r\n                selectedOption = option;\r\n            }\r\n        });\r\n        \r\n        \/\/ For primary currencies, show indicator and reset dropdown\r\n        if (selectedOption) {\r\n            const position = selectedOption.offsetLeft - 4; \/\/ Adjust for padding\r\n            const width = selectedOption.offsetWidth;\r\n            \r\n            \/\/ Set the indicator width and position\r\n            indicator.style.width = `${width}px`;\r\n            indicator.style.transform = `translateX(${position}px)`;\r\n        }\r\n        \r\n        \/\/ Reset dropdown text for primary currencies\r\n        dropdownToggle.innerHTML = 'More \u25bc';\r\n    } else {\r\n        \/\/ For secondary currencies:\r\n        \/\/ 1. Hide the indicator (no button in track)\r\n        indicator.style.width = \"0px\";\r\n        indicator.style.transform = \"translateX(0)\";\r\n        \r\n        \/\/ 2. Update dropdown button to show selected currency\r\n        dropdownToggle.innerHTML = `${currencyCode} \u25bc`;\r\n        dropdownToggle.classList.add('active-dropdown');\r\n    }\r\n    \r\n    \/\/ Update active state in dropdown items\r\n    const dropdownItems = document.querySelectorAll('.clevry-dropdown-item');\r\n    dropdownItems.forEach(item => {\r\n        item.classList.toggle('active', item.dataset.currency === currencyCode);\r\n    });\r\n    \r\n    \/\/ Update pricing display\r\n    updatePricing(parseInt(document.getElementById('clevry-headcount-input').value));\r\n    \r\n    \/\/ Save preference to localStorage\r\n    try {\r\n        localStorage.setItem('clevry-selected-currency', currencyCode);\r\n    } catch (e) {\r\n        \/\/ Handle localStorage errors silently\r\n        console.warn('Could not save currency preference:', e);\r\n    }\r\n}\r\n\r\n\/\/ Function to initialize the currency switcher\r\nfunction initCurrencySwitcher() {\r\n    const switcherTrack = document.querySelector('.clevry-switcher-track');\r\n    const dropdown = document.querySelector('.clevry-dropdown-content');\r\n    const dropdownToggle = document.querySelector('.clevry-dropdown-toggle');\r\n    const indicator = document.querySelector('.clevry-switcher-indicator');\r\n    \r\n    \/\/ Clear existing content\r\n    switcherTrack.innerHTML = '<div class=\"clevry-switcher-indicator\"><\/div>';\r\n    dropdown.innerHTML = '';\r\n    \r\n    \/\/ IMPORTANT: Override any localStorage - ALWAYS start with default currency\r\n    currentCurrency = clevryPricingConfig.currencyConfig.defaultCurrency;\r\n    \r\n    \/\/ Add primary currencies to the track\r\n    const primaryCurrencies = [];\r\n    \r\n    clevryPricingConfig.currencyConfig.currencies.forEach(currency => {\r\n        if (currency.isPrimary) {\r\n            const button = document.createElement('button');\r\n            button.className = 'clevry-currency-option';\r\n            button.dataset.currency = currency.code;\r\n            button.textContent = currency.code;\r\n            \r\n            \/\/ Highlight the default currency\r\n            if (currency.code === currentCurrency) {\r\n                button.classList.add('active');\r\n            }\r\n            \r\n            button.addEventListener('click', () => switchCurrency(currency.code));\r\n            switcherTrack.appendChild(button);\r\n            primaryCurrencies.push(currency);\r\n        } else {\r\n            \/\/ Add secondary currencies to dropdown\r\n            const item = document.createElement('div');\r\n            item.className = 'clevry-dropdown-item';\r\n            item.dataset.currency = currency.code;\r\n            item.textContent = `${currency.code} - ${currency.name}`;\r\n            item.addEventListener('click', () => {\r\n                switchCurrency(currency.code);\r\n                dropdown.classList.remove('show');\r\n                \/\/ Force the dropdown to display the selected currency\r\n                dropdownToggle.innerHTML = `${currency.code} \u25bc`;\r\n                dropdownToggle.classList.add('active-dropdown');\r\n            });\r\n            \r\n            dropdown.appendChild(item);\r\n        }\r\n    });\r\n    \r\n    \/\/ Set the \"More \u25bc\" button text (always starts with \"More\")\r\n    dropdownToggle.innerHTML = 'More \u25bc';\r\n    dropdownToggle.classList.remove('active-dropdown');\r\n    \r\n    \/\/ Position the indicator for the default currency\r\n    \/\/ Get the selected button based on default currency\r\n    const defaultButton = document.querySelector(`.clevry-currency-option[data-currency=\"${currentCurrency}\"]`);\r\n    if (defaultButton) {\r\n        const position = defaultButton.offsetLeft - 4; \/\/ Adjust for padding\r\n        const width = defaultButton.offsetWidth;\r\n        \r\n        \/\/ Get the indicator again since we recreated it\r\n        const newIndicator = document.querySelector('.clevry-switcher-indicator');\r\n        newIndicator.style.width = `${width}px`;\r\n        newIndicator.style.transform = `translateX(${position}px)`;\r\n    }\r\n    \r\n    \/\/ Toggle dropdown visibility\r\n    dropdownToggle.addEventListener('click', (event) => {\r\n        event.stopPropagation();\r\n        dropdown.classList.toggle('show');\r\n        \r\n        \/\/ Update dropdown text based on current state\r\n        const isDropdownOpen = dropdown.classList.contains('show');\r\n        \r\n        \/\/ Set arrow direction based on open state\r\n        const arrow = isDropdownOpen ? '\u25b2' : '\u25bc';\r\n        \r\n        \/\/ If a secondary currency is selected, show its code\r\n        const currentCurrencyObj = clevryPricingConfig.currencyConfig.currencies.find(c => c.code === currentCurrency);\r\n        if (currentCurrencyObj && !currentCurrencyObj.isPrimary) {\r\n            dropdownToggle.innerHTML = `${currentCurrency} ${arrow}`;\r\n        } else {\r\n            dropdownToggle.innerHTML = `More ${arrow}`;\r\n        }\r\n    });\r\n    \r\n    \/\/ Close dropdown when clicking outside\r\n    document.addEventListener('click', event => {\r\n        if (!event.target.closest('.clevry-currency-dropdown')) {\r\n            dropdown.classList.remove('show');\r\n            \r\n            \/\/ Update toggle text when closing dropdown\r\n            const currentCurrencyObj = clevryPricingConfig.currencyConfig.currencies.find(c => c.code === currentCurrency);\r\n            if (currentCurrencyObj && !currentCurrencyObj.isPrimary) {\r\n                dropdownToggle.innerHTML = `${currentCurrency} \u25bc`;\r\n            } else {\r\n                dropdownToggle.innerHTML = 'More \u25bc';\r\n            }\r\n        }\r\n    });\r\n    \r\n    \/\/ Update pricing display with current currency\r\n    updatePricing(parseInt(document.getElementById('clevry-headcount-input').value));\r\n}\r\n\r\n\/\/ Function to create pricing cards for the full suite subscription\r\nfunction createFullSuiteCards(rangeIndex) {\r\n    const container = document.querySelector('.clevry-pricing-cards');\r\n    container.innerHTML = '';\r\n    \r\n    \/\/ Get the current headcount to check against cap\r\n    const currentHeadcount = parseInt(document.getElementById('clevry-headcount-input').value);\r\n    const showCapMessage = clevryPricingConfig.uiSettings.enableHeadcountCap && \r\n                           currentHeadcount > clevryPricingConfig.uiSettings.maxHeadcountForPricing;\r\n    \r\n    \/\/ Get the tiers and their features\r\n    const tiers = clevryPricingConfig.fullSuite.tiers;\r\n    \r\n    \/\/ Create a card for each tier\r\n    tiers.forEach((tier, tierIndex) => {\r\n        \/\/ Get price for current currency\r\n        const pricesByRange = tier.prices[currentCurrency] || tier.prices.GBP;\r\n        const price = pricesByRange[rangeIndex];\r\n        const discountPercentage = tier.discount * 100;\r\n        \r\n        const card = document.createElement('div');\r\n        card.className = 'clevry-pricing-card';\r\n        \r\n        if (tier.popular) {\r\n            const popularBadge = document.createElement('div');\r\n            popularBadge.className = 'clevry-card-popular';\r\n            popularBadge.textContent = 'Most Popular';\r\n            card.appendChild(popularBadge);\r\n        }\r\n        \r\n        \/\/ Determine key features to show (highlight differentiating features)\r\n        let featuresToShow = [];\r\n        let featureHeader = '<h4>Key Features<\/h4>';\r\n        \r\n        if (tierIndex === 0) {\r\n            \/\/ Essential tier - show top features\r\n            featuresToShow = tier.features.slice(0, 8);\r\n        } else if (tierIndex === 1) {\r\n            \/\/ Advanced tier - show what's added beyond Essential\r\n            const prevTierFeatures = new Set(tiers[0].features);\r\n            const uniqueFeatures = tier.features.filter(feature => !prevTierFeatures.has(feature));\r\n            featureHeader = '<h4>Everything in Essential, plus:<\/h4>';\r\n            featuresToShow = uniqueFeatures.slice(0, 8);\r\n        } else if (tierIndex === 2) {\r\n            \/\/ Premium tier - show what's added beyond Advanced\r\n            const prevTierFeatures = new Set(tiers[1].features);\r\n            const uniqueFeatures = tier.features.filter(feature => !prevTierFeatures.has(feature));\r\n            featureHeader = '<h4>Everything in Advanced, plus:<\/h4>';\r\n            featuresToShow = uniqueFeatures.slice(0, 8);\r\n        }\r\n        \r\n        \/\/ Get tier name (call the function if it's a function)\r\n        let tierName = typeof tier.name === 'function' ? tier.name() : tier.name;\r\n        \r\n        \/\/ Show\/hide discount percentages based on settings\r\n        const discountElementHtml = clevryPricingConfig.uiSettings.showDiscountPercentages \r\n            ? `<div class=\"clevry-card-discount\">${discountPercentage}% Discount<\/div>` \r\n            : '';\r\n        \r\n        \/\/ Determine what to show for price - actual price or cap message\r\n        let priceHtml;\r\n        if (showCapMessage) {\r\n            priceHtml = `\r\n                <div class=\"clevry-card-price\" style=\"font-size: 1.8rem;\">${clevryPricingConfig.uiSettings.headcountCapMessage}<\/div>\r\n                <div class=\"clevry-card-period\"><\/div>\r\n            `;\r\n        } else {\r\n            priceHtml = `\r\n                <div class=\"clevry-card-price\">${formatPrice(price)}<\/div>\r\n                <div class=\"clevry-card-period\">per year<\/div>\r\n            `;\r\n        }\r\n            \r\n        card.innerHTML = `\r\n            <div class=\"clevry-card-header\">\r\n                <div class=\"clevry-card-title\">${tierName}<\/div>\r\n                ${discountElementHtml}\r\n                ${priceHtml}\r\n            <\/div>\r\n            <div class=\"clevry-card-features\">\r\n                ${featureHeader}\r\n                <ul class=\"clevry-feature-list\">\r\n                    ${featuresToShow.map(feature => `\r\n                        <li class=\"clevry-feature-item\">\r\n                            <span class=\"clevry-feature-icon\">\u2713<\/span>\r\n                            <span>${feature}<\/span>\r\n                        <\/li>\r\n                    `).join('')}\r\n                <\/ul>\r\n            <\/div>\r\n            <button class=\"clevry-card-cta\" data-subscription=\"subscription_${tierName.toLowerCase()}\">${clevryPricingConfig.uiSettings.buttonText}<\/button>\r\n        `;\r\n        \r\n        container.appendChild(card);\r\n    });\r\n}\r\n\r\n\/\/ Function to filter modules based on subcategory\r\nfunction filterModulesBySubcategory(subcategory) {\r\n    const allModules = clevryPricingConfig.separateModules.modules;\r\n    \r\n    \/\/ If no subcategory, return all modules\r\n    if (!subcategory) return allModules;\r\n    \r\n    \/\/ Filter based on subcategory\r\n    return allModules.filter(module => {\r\n        const moduleName = typeof module.name === 'function' ? module.name() : module.name;\r\n        \r\n        if (subcategory === 'assessments') {\r\n            return moduleName.includes('Assessments');\r\n        } else if (subcategory === 'ats') {\r\n            return moduleName === 'Applicant Tracking System';\r\n        } else if (subcategory === 'vac') {\r\n            return moduleName === 'Virtual Assessment Center';\r\n        }\r\n        \r\n        \/\/ Default behavior: return all modules\r\n        return true;\r\n    });\r\n}\r\n\r\n\/\/ Function to create pricing cards for separate modules\r\nfunction createSeparateModulesCards(rangeIndex) {\r\n    const container = document.querySelector('.clevry-pricing-cards');\r\n    container.innerHTML = '';\r\n    \r\n    \/\/ Get the current headcount to check against cap\r\n    const currentHeadcount = parseInt(document.getElementById('clevry-headcount-input').value);\r\n    const showCapMessage = clevryPricingConfig.uiSettings.enableHeadcountCap && \r\n                          currentHeadcount > clevryPricingConfig.uiSettings.maxHeadcountForPricing;\r\n    \r\n    \/\/ Only show assessment modules (filter out ATS, VAC, etc.)\r\n    const assessmentModules = clevryPricingConfig.separateModules.modules.filter(module => {\r\n        const moduleName = typeof module.name === 'function' ? module.name() : module.name;\r\n        return moduleName.includes('Assessments');\r\n    });\r\n    \r\n    \/\/ Create a card for each assessment module\r\n    assessmentModules.forEach((module, moduleIndex) => {\r\n        \/\/ Get price for current currency\r\n        const pricesByRange = module.prices[currentCurrency] || module.prices.GBP;\r\n        const price = pricesByRange[rangeIndex];\r\n        const discountLabel = module.discount * 100 + '%';\r\n        \r\n        const card = document.createElement('div');\r\n        card.className = 'clevry-pricing-card';\r\n        \r\n        if (module.popular) {\r\n            const popularBadge = document.createElement('div');\r\n            popularBadge.className = 'clevry-card-popular';\r\n            popularBadge.textContent = 'Most Popular';\r\n            card.appendChild(popularBadge);\r\n        }\r\n        \r\n        \/\/ Get module name (call the function if it's a function)\r\n        let moduleName = typeof module.name === 'function' ? module.name() : module.name;\r\n        \r\n        \/\/ Show\/hide discount percentages based on settings\r\n        const discountElementHtml = clevryPricingConfig.uiSettings.showDiscountPercentages \r\n            ? `<div class=\"clevry-card-discount\">${discountLabel}<\/div>` \r\n            : '';\r\n        \r\n        \/\/ Determine what to show for price - actual price or cap message\r\n        let priceHtml;\r\n        if (showCapMessage) {\r\n            priceHtml = `\r\n                <div class=\"clevry-card-price\" style=\"font-size: 1.8rem;\">${clevryPricingConfig.uiSettings.headcountCapMessage}<\/div>\r\n                <div class=\"clevry-card-period\"><\/div>\r\n            `;\r\n        } else {\r\n            priceHtml = `\r\n                <div class=\"clevry-card-price\">${formatPrice(price)}<\/div>\r\n                <div class=\"clevry-card-period\">per year<\/div>\r\n            `;\r\n        }\r\n        \r\n        card.innerHTML = `\r\n            <div class=\"clevry-card-header\">\r\n                <div class=\"clevry-card-title\">${moduleName}<\/div>\r\n                ${discountElementHtml}\r\n                ${priceHtml}\r\n            <\/div>\r\n            <div class=\"clevry-card-features\">\r\n                <h4>Key Features<\/h4>\r\n                <ul class=\"clevry-feature-list\">\r\n                    ${module.features.map(feature => `\r\n                        <li class=\"clevry-feature-item\">\r\n                            <span class=\"clevry-feature-icon\">\u2713<\/span>\r\n                            <span>${feature}<\/span>\r\n                        <\/li>\r\n                    `).join('')}\r\n                <\/ul>\r\n            <\/div>\r\n            <button class=\"clevry-card-cta\" data-subscription=\"assessments_${moduleName.toLowerCase().replace(\/\\s+\/g, '_')}\">${clevryPricingConfig.uiSettings.buttonText}<\/button>\r\n        `;\r\n        \r\n        container.appendChild(card);\r\n    });\r\n    \r\n    \/\/ If no cards were created (possibly because a subcategory filter returned no results)\r\n    if (container.children.length === 0) {\r\n        const emptyMessage = document.createElement('div');\r\n        emptyMessage.className = 'clevry-empty-message';\r\n        emptyMessage.style.width = '100%';\r\n        emptyMessage.style.textAlign = 'center';\r\n        emptyMessage.style.padding = '2rem';\r\n        emptyMessage.textContent = 'No products available in this category';\r\n        container.appendChild(emptyMessage);\r\n    }\r\n}\r\n\r\n\/\/ Function to create pricing cards for add-ons\r\nfunction createAddonsCards(rangeIndex) {\r\n    const container = document.querySelector('.clevry-pricing-cards');\r\n    container.innerHTML = '';\r\n    \r\n    \/\/ Get the current headcount to check against cap\r\n    const currentHeadcount = parseInt(document.getElementById('clevry-headcount-input').value);\r\n    const showCapMessage = clevryPricingConfig.uiSettings.enableHeadcountCap && \r\n                           currentHeadcount > clevryPricingConfig.uiSettings.maxHeadcountForPricing;\r\n    \r\n    \/\/ Update the main contact button text\r\n    const contactButton = document.querySelector('.clevry-contact-button');\r\n    contactButton.textContent = clevryPricingConfig.uiSettings.buttonText;\r\n    \r\n    \/\/ Create a card for each add-on\r\n    clevryPricingConfig.addons.items.forEach(item => {\r\n        const price = item.prices[rangeIndex];\r\n        \r\n        \/\/ Skip items with zero pricing\r\n        if (price === 0) return;\r\n        \r\n        const discountLabel = item.discount * 100 + '%';\r\n        \r\n        const card = document.createElement('div');\r\n        card.className = 'clevry-pricing-card';\r\n        \r\n        \/\/ Show\/hide discount percentages based on settings\r\n        const discountElementHtml = clevryPricingConfig.uiSettings.showDiscountPercentages \r\n            ? `<div class=\"clevry-card-discount\">${discountLabel}<\/div>` \r\n            : '';\r\n        \r\n        \/\/ Determine what to show for price - actual price or cap message\r\n        let priceHtml;\r\n        if (showCapMessage) {\r\n            priceHtml = `\r\n                <div class=\"clevry-card-price\" style=\"font-size: 1.8rem;\">${clevryPricingConfig.uiSettings.headcountCapMessage}<\/div>\r\n                <div class=\"clevry-card-period\"><\/div>\r\n            `;\r\n        } else {\r\n            priceHtml = `\r\n                <div class=\"clevry-card-price\">${formatPrice(price)}<\/div>\r\n                <div class=\"clevry-card-period\">per year<\/div>\r\n            `;\r\n        }\r\n            \r\n        card.innerHTML = `\r\n            <div class=\"clevry-card-header\">\r\n                <div class=\"clevry-card-title\">${item.name}<\/div>\r\n                ${discountElementHtml}\r\n                ${priceHtml}\r\n            <\/div>\r\n            <div class=\"clevry-card-features\">\r\n                <h4>Key Features<\/h4>\r\n                <ul class=\"clevry-feature-list\">\r\n                    ${item.features.map(feature => `\r\n                        <li class=\"clevry-feature-item\">\r\n                            <span class=\"clevry-feature-icon\">\u2713<\/span>\r\n                            <span>${feature}<\/span>\r\n                        <\/li>\r\n                    `).join('')}\r\n                <\/ul>\r\n            <\/div>\r\n            <button class=\"clevry-card-cta\" data-subscription=\"addon_${item.name.toLowerCase().replace(\/\\s+\/g, '_')}\">${clevryPricingConfig.uiSettings.buttonText}<\/button>\r\n        `;\r\n        \r\n        container.appendChild(card);\r\n    });\r\n}\r\n\r\n\/\/ Function to create the feature comparison table for full suite\r\nfunction createFullSuiteFeatureTable() {\r\n    const tableContainer = document.querySelector('.clevry-feature-table');\r\n    tableContainer.innerHTML = '';\r\n    \r\n    \/\/ Get tier names from config\r\n    const basicTier = clevryPricingConfig.tierNames.basicTier;\r\n    const standardTier = clevryPricingConfig.tierNames.standardTier;\r\n    const premiumTier = clevryPricingConfig.tierNames.premiumTier;\r\n    \r\n    \/\/ Create table header\r\n    const thead = document.createElement('thead');\r\n    thead.innerHTML = `\r\n        <tr>\r\n            <th>Feature<\/th>\r\n            <th>${basicTier}<\/th>\r\n            <th>${standardTier}<\/th>\r\n            <th>${premiumTier}<\/th>\r\n        <\/tr>\r\n    `;\r\n    tableContainer.appendChild(thead);\r\n    \r\n    \/\/ Create table body\r\n    const tbody = document.createElement('tbody');\r\n    \r\n    \/\/ Get the tiers\r\n    const tiers = clevryPricingConfig.fullSuite.tiers;\r\n    \r\n    \/\/ Find the features unique to each tier\r\n    const goodFeatures = new Set(tiers[0].features);\r\n    const betterFeatures = new Set(tiers[1].features);\r\n    const bestFeatures = new Set(tiers[2].features);\r\n    \r\n    const uniqueToBetter = [...betterFeatures].filter(f => !goodFeatures.has(f));\r\n    const uniqueToBest = [...bestFeatures].filter(f => !betterFeatures.has(f));\r\n    \r\n    \/\/ Add package summary rows at the top\r\n    const summaryHeaderRow = document.createElement('tr');\r\n    summaryHeaderRow.innerHTML = `\r\n        <td colspan=\"4\" class=\"clevry-feature-category\">Package Overview<\/td>\r\n    `;\r\n    tbody.appendChild(summaryHeaderRow);\r\n    \r\n    const goodSummaryRow = document.createElement('tr');\r\n    goodSummaryRow.className = 'clevry-package-summary';\r\n    goodSummaryRow.innerHTML = `\r\n        <td>Base package with essential features<\/td>\r\n        <td class=\"clevry-feature-included\">\u2713<\/td>\r\n        <td class=\"clevry-feature-included\">\u2713<\/td>\r\n        <td class=\"clevry-feature-included\">\u2713<\/td>\r\n    `;\r\n    tbody.appendChild(goodSummaryRow);\r\n    \r\n    const betterSummaryRow = document.createElement('tr');\r\n    betterSummaryRow.className = 'clevry-package-summary';\r\n    betterSummaryRow.innerHTML = `\r\n        <td>Everything in ${basicTier}, plus ${uniqueToBetter.length} additional features<\/td>\r\n        <td class=\"clevry-feature-not-included\">\u2013<\/td>\r\n        <td class=\"clevry-feature-included\">\u2713<\/td>\r\n        <td class=\"clevry-feature-included\">\u2713<\/td>\r\n    `;\r\n    tbody.appendChild(betterSummaryRow);\r\n    \r\n    const bestSummaryRow = document.createElement('tr');\r\n    bestSummaryRow.className = 'clevry-package-summary';\r\n    bestSummaryRow.innerHTML = `\r\n        <td>Everything in ${standardTier}, plus ${uniqueToBest.length} additional features<\/td>\r\n        <td class=\"clevry-feature-not-included\">\u2013<\/td>\r\n        <td class=\"clevry-feature-not-included\">\u2013<\/td>\r\n        <td class=\"clevry-feature-included\">\u2713<\/td>\r\n    `;\r\n    tbody.appendChild(bestSummaryRow);\r\n    \r\n    \/\/ Loop through feature categories\r\n    Object.entries(clevryPricingConfig.fullSuite.featureCategories).forEach(([category, features]) => {\r\n        \/\/ Add category header\r\n        const categoryRow = document.createElement('tr');\r\n        categoryRow.innerHTML = `\r\n            <td colspan=\"4\" class=\"clevry-feature-category\">${category}<\/td>\r\n        `;\r\n        tbody.appendChild(categoryRow);\r\n        \r\n        \/\/ Add features for this category\r\n        features.forEach(feature => {\r\n            const row = document.createElement('tr');\r\n            const goodHas = goodFeatures.has(feature);\r\n            const betterHas = betterFeatures.has(feature);\r\n            const bestHas = bestFeatures.has(feature);\r\n            \r\n            \/\/ Highlight unique features if badges are enabled\r\n            const isUniqueToBetter = uniqueToBetter.includes(feature);\r\n            const isUniqueToBest = uniqueToBest.includes(feature);\r\n            \r\n            \/\/ Create feature text with tooltip if available\r\n            let featureText = feature;\r\n            let tooltipHtml = '';\r\n            \r\n            \/\/ Add tooltip if available\r\n            if (featureTooltips[feature]) {\r\n                tooltipHtml = `\r\n                    <div class=\"clevry-feature-tooltip\">\r\n                        ${feature}\r\n                        <span class=\"tooltip-icon\">i<\/span>\r\n                        <div class=\"tooltip-content\">${featureTooltips[feature]}<\/div>\r\n                    <\/div>\r\n                `;\r\n            }\r\n            \r\n            \/\/ Add new feature badge if enabled\r\n            let badgeHtml = '';\r\n            if (clevryPricingConfig.uiSettings.showNewFeatureBadges) {\r\n                if (isUniqueToBetter) {\r\n                    badgeHtml = ` <span class=\"clevry-feature-new\">NEW in ${standardTier}<\/span>`;\r\n                } else if (isUniqueToBest) {\r\n                    badgeHtml = ` <span class=\"clevry-feature-new\">NEW in ${premiumTier}<\/span>`;\r\n                }\r\n            }\r\n            \r\n            row.innerHTML = `\r\n                <td>${tooltipHtml ? tooltipHtml : feature}${badgeHtml}<\/td>\r\n                <td class=\"${goodHas ? 'clevry-feature-included' : 'clevry-feature-not-included'}\">${goodHas ? '\u2713' : '\u2013'}<\/td>\r\n                <td class=\"${betterHas ? 'clevry-feature-included' : 'clevry-feature-not-included'}\">${betterHas ? '\u2713' : '\u2013'}<\/td>\r\n                <td class=\"${bestHas ? 'clevry-feature-included' : 'clevry-feature-not-included'}\">${bestHas ? '\u2713' : '\u2013'}<\/td>\r\n            `;\r\n            \r\n            tbody.appendChild(row);\r\n        });\r\n    });\r\n    \r\n    tableContainer.appendChild(tbody);\r\n}\r\n\r\n\/\/ Function to create a generic feature comparison table\r\nfunction createGenericFeatureTable(items) {\r\n    const tableContainer = document.querySelector('.clevry-feature-table');\r\n    tableContainer.innerHTML = '';\r\n    \r\n    \/\/ Create table header\r\n    const thead = document.createElement('thead');\r\n    const headerRow = document.createElement('tr');\r\n    \r\n    headerRow.innerHTML = `<th>Feature<\/th>`;\r\n    items.forEach(item => {\r\n        \/\/ Get item name (call the function if it's a function)\r\n        let itemName = typeof item.name === 'function' ? item.name() : item.name;\r\n        headerRow.innerHTML += `<th>${itemName}<\/th>`;\r\n    });\r\n    \r\n    thead.appendChild(headerRow);\r\n    tableContainer.appendChild(thead);\r\n    \r\n    \/\/ Create table body\r\n    const tbody = document.createElement('tbody');\r\n    \r\n    \/\/ Find features unique to each tier (for tiered assessment products)\r\n    let uniqueFeatures = {};\r\n    let assessmentItems = items.filter(item => item.name.includes(\"Assessments\"));\r\n    \r\n    if (assessmentItems.length > 1) {\r\n        \/\/ This is a set of tiered assessment products (Good, Better, Best)\r\n        \/\/ Add package summary rows at the top\r\n        const summaryHeaderRow = document.createElement('tr');\r\n        summaryHeaderRow.innerHTML = `\r\n            <td colspan=\"${items.length + 1}\" class=\"clevry-feature-category\">Package Overview<\/td>\r\n        `;\r\n        tbody.appendChild(summaryHeaderRow);\r\n        \r\n        const baseItem = assessmentItems[0]; \/\/ \"Good\" tier\r\n        const baseFeatures = new Set(baseItem.features);\r\n        \r\n        const baseSummaryRow = document.createElement('tr');\r\n        baseSummaryRow.className = 'clevry-package-summary';\r\n        baseSummaryRow.innerHTML = `<td>Base package with essential features<\/td>`;\r\n        \r\n        items.forEach(item => {\r\n            baseSummaryRow.innerHTML += `\r\n                <td class=\"clevry-feature-included\">\u2713<\/td>\r\n            `;\r\n        });\r\n        tbody.appendChild(baseSummaryRow);\r\n        \r\n        \/\/ Add upgrade summaries for each higher tier\r\n        for (let i = 1; i < assessmentItems.length; i++) {\r\n            const prevTier = assessmentItems[i-1];\r\n            const currTier = assessmentItems[i];\r\n            const prevFeatures = new Set(prevTier.features);\r\n            const uniqueToCurr = currTier.features.filter(f => !prevFeatures.has(f));\r\n            \r\n            uniqueFeatures[currTier.name] = uniqueToCurr;\r\n            \r\n            const upgradeSummaryRow = document.createElement('tr');\r\n            upgradeSummaryRow.className = 'clevry-package-summary';\r\n            \r\n            \/\/ Get tier names (call the function if it's a function)\r\n            let prevTierName = typeof prevTier.name === 'function' ? prevTier.name() : prevTier.name;\r\n            \r\n            upgradeSummaryRow.innerHTML = `\r\n                <td>Everything in ${prevTierName}, plus ${uniqueToCurr.length} additional features<\/td>\r\n            `;\r\n            \r\n            items.forEach((item, idx) => {\r\n                if (items.indexOf(currTier) <= idx) {\r\n                    upgradeSummaryRow.innerHTML += `<td class=\"clevry-feature-included\">\u2713<\/td>`;\r\n                } else {\r\n                    upgradeSummaryRow.innerHTML += `<td class=\"clevry-feature-not-included\">\u2013<\/td>`;\r\n                }\r\n            });\r\n            \r\n            tbody.appendChild(upgradeSummaryRow);\r\n        }\r\n    }\r\n    \r\n    \/\/ Get all unique features\r\n    let allFeatures = new Set();\r\n    items.forEach(item => {\r\n        item.features.forEach(feature => allFeatures.add(feature));\r\n    });\r\n    \r\n    \/\/ Add features\r\n    allFeatures = Array.from(allFeatures);\r\n    allFeatures.forEach(feature => {\r\n        const row = document.createElement('tr');\r\n        \r\n        \/\/ Create feature text with tooltip if available\r\n        let tooltipHtml = '';\r\n        let badgeHtml = '';\r\n        \r\n        \/\/ Add tooltip if available\r\n        if (featureTooltips[feature]) {\r\n            tooltipHtml = `\r\n                <div class=\"clevry-feature-tooltip\">\r\n                    ${feature}\r\n                    <span class=\"tooltip-icon\">i<\/span>\r\n                    <div class=\"tooltip-content\">${featureTooltips[feature]}<\/div>\r\n                <\/div>\r\n            `;\r\n        }\r\n        \r\n        \/\/ Add badge for unique features if enabled\r\n        if (clevryPricingConfig.uiSettings.showNewFeatureBadges) {\r\n            for (const [tierName, uniqueList] of Object.entries(uniqueFeatures)) {\r\n                if (uniqueList.includes(feature)) {\r\n                    badgeHtml = ` <span class=\"clevry-feature-new\">NEW in ${tierName.split(' ').pop()}<\/span>`;\r\n                    break;\r\n                }\r\n            }\r\n        }\r\n        \r\n        row.innerHTML = `<td>${tooltipHtml ? tooltipHtml : feature}${badgeHtml}<\/td>`;\r\n        \r\n        items.forEach(item => {\r\n            const hasFeature = item.features.includes(feature);\r\n            row.innerHTML += `\r\n                <td class=\"${hasFeature ? 'clevry-feature-included' : 'clevry-feature-not-included'}\">\r\n                    ${hasFeature ? '\u2713' : '\u2013'}\r\n                <\/td>\r\n            `;\r\n        });\r\n        \r\n        tbody.appendChild(row);\r\n    });\r\n    \r\n    tableContainer.appendChild(tbody);\r\n}\r\n\r\n\/\/ Function to update the UI based on the selected headcount\r\nfunction updatePricing(headcount) {\r\n    const rangeIndex = findHeadcountRangeIndex(headcount);\r\n    const rangeText = getRangeText(rangeIndex);\r\n    \r\n    \/\/ Update range display\r\n    document.getElementById('clevry-range-display').textContent = rangeText;\r\n    \r\n    \/\/ Get the active category\r\n    const activeTab = document.querySelector('.clevry-tab.active');\r\n    const category = activeTab.dataset.category;\r\n    \r\n    \/\/ Get the feature comparison section\r\n    const featureComparisonSection = document.querySelector('.clevry-feature-comparison');\r\n    \r\n    \/\/ Update pricing cards based on category\r\n    if (category === 'full-suite') {\r\n        createFullSuiteCards(rangeIndex);\r\n        createFullSuiteFeatureTable();\r\n        featureComparisonSection.style.display = 'block'; \/\/ Always show for full suite\r\n    } else if (category === 'separate-modules') {\r\n        \/\/ Only show assessment modules (no subtabs needed)\r\n        const assessmentModules = clevryPricingConfig.separateModules.modules.filter(module => {\r\n            const moduleName = typeof module.name === 'function' ? module.name() : module.name;\r\n            return moduleName.includes('Assessments');\r\n        });\r\n        \r\n        createSeparateModulesCards(rangeIndex);\r\n        \r\n        \/\/ Hide feature comparison table for Assessments Only\r\n        featureComparisonSection.style.display = 'none';\r\n    } else if (category === 'addons') {\r\n        const addonItems = clevryPricingConfig.addons.items.filter(item => item.prices[rangeIndex] > 0);\r\n        createAddonsCards(rangeIndex);\r\n        \r\n        \/\/ Only show feature table if we have multiple add-ons to compare\r\n        if (addonItems.length > 1) {\r\n            createGenericFeatureTable(addonItems);\r\n            featureComparisonSection.style.display = 'block';\r\n        } else {\r\n            featureComparisonSection.style.display = 'none';\r\n        }\r\n    }\r\n}\r\n\r\n\/\/ ===== EVENT LISTENERS =====\r\n\r\n\/\/ Function to get the step size based on the current headcount range\r\nfunction getStepSizeForHeadcount(headcount) {\r\n    const rangeIndex = findHeadcountRangeIndex(headcount);\r\n    return clevryPricingConfig.headcountRanges[rangeIndex].step;\r\n}\r\n\r\n\/\/ Function to snap headcount to nearest appropriate increment\r\nfunction snapToIncrement(headcount) {\r\n    const rangeIndex = findHeadcountRangeIndex(headcount);\r\n    const range = clevryPricingConfig.headcountRanges[rangeIndex];\r\n    const stepSize = range.step;\r\n    \r\n    \/\/ Find the nearest valid value within the current range\r\n    let snappedValue = Math.round(headcount \/ stepSize) * stepSize;\r\n    \r\n    \/\/ Ensure we stay within the range boundaries\r\n    snappedValue = Math.max(range.min, Math.min(range.max, snappedValue));\r\n    \r\n    \/\/ If we're at the edge of a range, ensure we snap to the range boundary\r\n    if (Math.abs(snappedValue - range.min) < stepSize \/ 2) {\r\n        return range.min;\r\n    } else if (Math.abs(snappedValue - range.max) < stepSize \/ 2) {\r\n        return range.max;\r\n    }\r\n    \r\n    return snappedValue;\r\n}\r\n\r\n\/\/ Initialize the widget when the DOM is loaded\r\ndocument.addEventListener('DOMContentLoaded', function() {\r\n    const headcountInput = document.getElementById('clevry-headcount-input');\r\n    \r\n    \/\/ Initialize our custom slider\r\n    const customSlider = document.getElementById('custom-clevry-slider');\r\n    const sliderTrack = customSlider.querySelector('.clevry-slider-track');\r\n    const sliderThumb = customSlider.querySelector('.clevry-slider-thumb');\r\n    \r\n    \/\/ Handle showing\/hiding add-ons tab based on configuration\r\n    const addonTab = document.querySelector('.clevry-tab[data-category=\"addons\"]');\r\n    if (addonTab && !clevryPricingConfig.uiSettings.showAddons) {\r\n        addonTab.style.display = 'none';\r\n        \r\n        \/\/ If the add-ons tab was active, activate the first tab instead\r\n        if (addonTab.classList.contains('active')) {\r\n            addonTab.classList.remove('active');\r\n            const firstTab = document.querySelector('.clevry-tab');\r\n            if (firstTab) {\r\n                firstTab.classList.add('active');\r\n            }\r\n        }\r\n    }\r\n    \r\n    \/\/ Initialize currency switcher\r\n    initCurrencySwitcher();\r\n    \r\n    \/\/ Set initial value\r\n    const initialHeadcount = 50;\r\n    headcountInput.value = initialHeadcount;\r\n    updatePricing(initialHeadcount);\r\n    \r\n    \/\/ Show\/hide the current range text based on configuration\r\n    document.querySelector('.clevry-current-range').style.display = \r\n        clevryPricingConfig.uiSettings.showRangeDisplay ? 'block' : 'none';\r\n    \r\n    \/\/ Update the thumb position based on current value\r\n    function updateThumbPosition(value) {\r\n        \/\/ Convert value to percentage position based on the weight distribution\r\n        let percentage = calculatePositionFromValue(value);\r\n        \/\/ Clear any existing transform to avoid conflicts\r\n        sliderThumb.style.transform = 'translateY(-50%)';\r\n        \/\/ Set the left position directly as a percentage\r\n        sliderThumb.style.left = `${percentage}%`;\r\n    }\r\n    \r\n    \/\/ Set the initial position\r\n    updateThumbPosition(initialHeadcount);\r\n    \r\n    \/\/ Function to calculate percentage position from a value\r\n    function calculatePositionFromValue(value) {\r\n        const overallMin = clevryPricingConfig.headcountRanges[0].min;\r\n        const overallMax = clevryPricingConfig.headcountRanges[clevryPricingConfig.headcountRanges.length - 1].max;\r\n\r\n        \/\/ Handle absolute min\/max values explicitly\r\n        if (value <= overallMin) {\r\n            return 0;\r\n        }\r\n        if (value >= overallMax) {\r\n            return 100;\r\n        }\r\n\r\n        \/\/ Find which range this value belongs to\r\n        const rangeIndex = findHeadcountRangeIndex(value);\r\n        const currentRange = clevryPricingConfig.headcountRanges[rangeIndex];\r\n        \r\n        \/\/ Calculate the total \"weight\" across all ranges\r\n        let totalDisplayWeight = 0;\r\n        clevryPricingConfig.headcountRanges.forEach(r => totalDisplayWeight += r.displayWeight);\r\n\r\n        if (totalDisplayWeight === 0) return 0;\r\n\r\n        \/\/ Calculate weights before current range\r\n        let accumulatedWeightBeforeCurrentRange = 0;\r\n        for (let i = 0; i < rangeIndex; i++) {\r\n            accumulatedWeightBeforeCurrentRange += clevryPricingConfig.headcountRanges[i].displayWeight;\r\n        }\r\n        \r\n        \/\/ Calculate proportion within current range\r\n        let proportionInNumericRange = 0;\r\n        if (currentRange.max - currentRange.min > 0) {\r\n            proportionInNumericRange = (value - currentRange.min) \/ (currentRange.max - currentRange.min);\r\n        }\r\n        proportionInNumericRange = Math.max(0, Math.min(1, proportionInNumericRange));\r\n\r\n        \/\/ Calculate weight for current value\r\n        const valueSpecificWeight = accumulatedWeightBeforeCurrentRange + \r\n            (proportionInNumericRange * currentRange.displayWeight);\r\n        \r\n        \/\/ Convert to percentage\r\n        let calculatedPercentage = (valueSpecificWeight \/ totalDisplayWeight) * 100;\r\n        \r\n        \/\/ Final clamp to prevent floating point issues\r\n        calculatedPercentage = Math.max(0, Math.min(100, calculatedPercentage));\r\n\r\n        return calculatedPercentage;\r\n    }\r\n    \r\n    \/\/ Function to calculate value from a percentage position\r\n    function calculateValueFromPosition(percentage) {\r\n        const overallMin = clevryPricingConfig.headcountRanges[0].min;\r\n        const overallMax = clevryPricingConfig.headcountRanges[clevryPricingConfig.headcountRanges.length - 1].max;\r\n\r\n        \/\/ Handle edge cases explicitly for exact min\/max values\r\n        if (percentage <= 0) {\r\n            return overallMin;\r\n        }\r\n        if (percentage >= 100) {\r\n            return overallMax;\r\n        }\r\n\r\n        \/\/ Calculate the total \"weight\" across all ranges\r\n        let totalWeight = 0;\r\n        clevryPricingConfig.headcountRanges.forEach(r => totalWeight += r.displayWeight);\r\n        \r\n        if (totalWeight === 0) {\r\n            return overallMin; \/\/ Should not happen with current config\r\n        }\r\n\r\n        \/\/ Find which range this position belongs to\r\n        const targetWeight = percentage * totalWeight \/ 100;\r\n        \r\n        let accumulatedWeightBeforeCurrentSegment = 0;\r\n        let rangeIndex = 0;\r\n\r\n        for (let i = 0; i < clevryPricingConfig.headcountRanges.length; i++) {\r\n            const currentSegment = clevryPricingConfig.headcountRanges[i];\r\n            \/\/ Check if the targetWeight falls within this segment's weighted portion\r\n            const epsilon = 1e-9; \/\/ Small value for floating point comparisons\r\n            if (targetWeight <= accumulatedWeightBeforeCurrentSegment + currentSegment.displayWeight + epsilon) {\r\n                rangeIndex = i;\r\n                break;\r\n            }\r\n            accumulatedWeightBeforeCurrentSegment += currentSegment.displayWeight;\r\n            \r\n            \/\/ If it's the last segment and we haven't broken, this must be it\r\n            if (i === clevryPricingConfig.headcountRanges.length - 1) {\r\n                rangeIndex = i;\r\n            }\r\n        }\r\n        \r\n        const selectedRange = clevryPricingConfig.headcountRanges[rangeIndex];\r\n        const selectedRangeWeight = selectedRange.displayWeight;\r\n        \r\n        let proportionInSelectedRangeSegment = 0;\r\n        if (selectedRangeWeight > 0) {\r\n            \/\/ Weight attributable to this segment\r\n            let weightInSegment = Math.max(0, targetWeight - accumulatedWeightBeforeCurrentSegment);\r\n            proportionInSelectedRangeSegment = weightInSegment \/ selectedRangeWeight;\r\n        }\r\n        \r\n        proportionInSelectedRangeSegment = Math.max(0, Math.min(1, proportionInSelectedRangeSegment));\r\n        \r\n        const valueInRange = selectedRange.min + proportionInSelectedRangeSegment * (selectedRange.max - selectedRange.min);\r\n        \r\n        let finalValue = snapToIncrement(Math.round(valueInRange));\r\n\r\n        \/\/ Final clamp to ensure it doesn't exceed overall boundaries due to any intermediate logic\r\n        finalValue = Math.max(overallMin, Math.min(overallMax, finalValue));\r\n        \r\n        return finalValue;\r\n    }\r\n    \r\n    \/\/ Track mouse\/touch events for the slider\r\n    let isDragging = false;\r\n    \/\/ These variables help smooth touch movement and prevent jumps\r\n    let lastDragValue = null;\r\n    let lastDragPercentage = null;\r\n    \r\n    function startDrag(e) {\r\n        isDragging = true;\r\n        document.addEventListener('mousemove', onDrag);\r\n        document.addEventListener('touchmove', onDrag, { passive: false });\r\n        document.addEventListener('mouseup', stopDrag);\r\n        document.addEventListener('touchend', stopDrag);\r\n        \r\n        \/\/ Prevent default to avoid text selection during drag\r\n        e.preventDefault();\r\n        \r\n        \/\/ Process initial position separately instead of calling onDrag\r\n        \/\/ This gives more predictable starting behavior, especially on mobile\r\n        handleInitialPosition(e);\r\n    }\r\n    \r\n    \/\/ Handle the initial position separately for more predictable behavior\r\n    function handleInitialPosition(e) {\r\n        let clientX;\r\n        if (e.type.startsWith('touch')) {\r\n            clientX = e.touches[0].clientX;\r\n            \r\n            \/\/ Add a small delay for touch events to ensure proper initialization\r\n            setTimeout(() => {\r\n                processInitialPosition(clientX);\r\n            }, 10);\r\n        } else {\r\n            clientX = e.clientX;\r\n            processInitialPosition(clientX);\r\n        }\r\n    }\r\n    \r\n    function processInitialPosition(clientX) {\r\n        \/\/ Get slider dimensions\r\n        const rect = customSlider.getBoundingClientRect();\r\n        \r\n        \/\/ Ensure the rect has valid dimensions\r\n        if (rect.width <= 0) return;\r\n        \r\n        \/\/ Calculate percentage position within the slider\r\n        let percentage = ((clientX - rect.left) \/ rect.width) * 100;\r\n        percentage = Math.max(0, Math.min(100, percentage));\r\n        \r\n        \/\/ Store the initial percentage for smooth transitions\r\n        lastDragPercentage = percentage;\r\n        \r\n        \/\/ For mobile, use a more conservative initial value calculation\r\n        \/\/ to prevent jumping to extremes\r\n        const isMobile = window.innerWidth <= 768;\r\n        let value;\r\n        \r\n        if (isMobile) {\r\n            \/\/ On mobile, start with a more central value for better control\r\n            \/\/ Use a narrower effective range initially\r\n            const effectivePercentage = percentage * 0.6 + 20; \/\/ Map 0-100 to 20-80 for stability\r\n            value = calculateValueFromPosition(effectivePercentage);\r\n        } else {\r\n            value = calculateValueFromPosition(percentage);\r\n        }\r\n        \r\n        lastDragValue = value;\r\n        \r\n        \/\/ Update the UI\r\n        updateThumbPosition(value);\r\n        headcountInput.value = value;\r\n        \r\n        \/\/ Update range info and pricing\r\n        updatePricing(value);\r\n    }\r\n    \r\n    function onDrag(e) {\r\n        if (!isDragging) return;\r\n        \r\n        \/\/ Prevent scrolling on mobile\r\n        if (e.type === 'touchmove') {\r\n            e.preventDefault();\r\n        }\r\n        \r\n        let clientX;\r\n        if (e.type.startsWith('touch')) {\r\n            clientX = e.touches[0].clientX;\r\n        } else {\r\n            clientX = e.clientX;\r\n        }\r\n        \r\n        \/\/ Get slider dimensions\r\n        const rect = customSlider.getBoundingClientRect();\r\n        \r\n        \/\/ Ensure we have valid dimensions\r\n        if (rect.width <= 0) return;\r\n        \r\n        \/\/ Calculate percentage position within the slider\r\n        let percentage = ((clientX - rect.left) \/ rect.width) * 100;\r\n        percentage = Math.max(0, Math.min(100, percentage));\r\n        \r\n        \/\/ Detect if we're on mobile\r\n        const isMobile = window.innerWidth <= 768;\r\n        \r\n        \/\/ Apply enhanced smoothing for touch events to prevent jumps\r\n        if (e.type.startsWith('touch') && lastDragPercentage !== null) {\r\n            \/\/ Use stronger smoothing factor on mobile\r\n            const smoothFactor = isMobile ? 0.5 : 0.7;\r\n            percentage = (percentage * smoothFactor) + (lastDragPercentage * (1 - smoothFactor));\r\n            \r\n            \/\/ Additional stability for extreme edge cases\r\n            if (percentage < 5) percentage = Math.max(1, percentage);\r\n            if (percentage > 95) percentage = Math.min(99, percentage);\r\n        }\r\n        \r\n        \/\/ Save current percentage for next smoothing calculation\r\n        lastDragPercentage = percentage;\r\n        \r\n        \/\/ Calculate the value based on the weighted distribution\r\n        const value = calculateValueFromPosition(percentage);\r\n        \r\n        \/\/ For touch events, use an improved jump prevention system\r\n        if (e.type.startsWith('touch') && lastDragValue !== null) {\r\n            \/\/ Use a more aggressive jump prevention on mobile\r\n            const maxJumpMultiplier = isMobile ? 5 : 10;\r\n            const minJumpLimit = isMobile ? 1000 : 2000;\r\n            \r\n            const maxJump = Math.max(\r\n                getStepSizeForHeadcount(lastDragValue) * maxJumpMultiplier,\r\n                minJumpLimit\r\n            );\r\n            \r\n            if (Math.abs(value - lastDragValue) > maxJump) {\r\n                \/\/ Use smoother transition for extreme jumps\r\n                const direction = value > lastDragValue ? 1 : -1;\r\n                \r\n                \/\/ More gradual movement on mobile\r\n                const jumpSize = isMobile \r\n                    ? Math.min(maxJump, Math.abs(value - lastDragValue) * 0.3)\r\n                    : maxJump;\r\n                \r\n                const newValue = lastDragValue + (direction * jumpSize);\r\n                \r\n                \/\/ Verify the new value is in valid range\r\n                const safeValue = Math.max(1, Math.min(200000, newValue));\r\n                const snappedValue = snapToIncrement(safeValue);\r\n                \r\n                \/\/ Update using the limited value\r\n                updateThumbPosition(snappedValue);\r\n                headcountInput.value = snappedValue;\r\n                updatePricing(snappedValue);\r\n                \r\n                \/\/ Save the limited value for next comparison\r\n                lastDragValue = snappedValue;\r\n                return;\r\n            }\r\n        }\r\n        \r\n        \/\/ Additional validation to ensure the value is reasonable\r\n        const safeValue = Math.max(1, Math.min(200000, value));\r\n        const validValue = snapToIncrement(safeValue);\r\n        \r\n        \/\/ Save current value for next comparison\r\n        lastDragValue = validValue;\r\n        \r\n        \/\/ Update the UI\r\n        updateThumbPosition(validValue);\r\n        headcountInput.value = validValue;\r\n        \r\n        \/\/ Update range info and pricing\r\n        updatePricing(validValue);\r\n    }\r\n    \r\n    function stopDrag() {\r\n        isDragging = false;\r\n        lastDragValue = null;\r\n        lastDragPercentage = null;\r\n        document.removeEventListener('mousemove', onDrag);\r\n        document.removeEventListener('touchmove', onDrag);\r\n        document.removeEventListener('mouseup', stopDrag);\r\n        document.removeEventListener('touchend', stopDrag);\r\n    }\r\n    \r\n    \/\/ Add event listeners to the custom slider\r\n    customSlider.addEventListener('mousedown', startDrag);\r\n    customSlider.addEventListener('touchstart', startDrag, { passive: false });\r\n    \r\n    \/\/ Add keyboard accessibility\r\n    sliderThumb.addEventListener('keydown', function(e) {\r\n        let currentValue = parseInt(headcountInput.value);\r\n        const rangeIndex = findHeadcountRangeIndex(currentValue);\r\n        const stepSize = clevryPricingConfig.headcountRanges[rangeIndex].step;\r\n        \r\n        if (e.key === 'ArrowRight' || e.key === 'ArrowUp') {\r\n            currentValue += stepSize;\r\n        } else if (e.key === 'ArrowLeft' || e.key === 'ArrowDown') {\r\n            currentValue -= stepSize;\r\n        } else {\r\n            return; \/\/ Exit if not an arrow key\r\n        }\r\n        \r\n        \/\/ Ensure value is within range and update\r\n        currentValue = Math.max(1, Math.min(200000, currentValue));\r\n        currentValue = snapToIncrement(currentValue);\r\n        headcountInput.value = currentValue;\r\n        updateThumbPosition(currentValue);\r\n        updatePricing(currentValue);\r\n        \r\n        e.preventDefault();\r\n    });\r\n    \r\n    \/\/ Handle direct input via the numeric field\r\n    \r\n    \/\/ Handle direct input\r\n    headcountInput.addEventListener('change', function() {\r\n        \/\/ Ensure the value is within range\r\n        let value = parseInt(this.value);\r\n        if (isNaN(value) || value < 1) value = 1;\r\n        if (value > 200000) value = 200000;\r\n        \r\n        \/\/ Keep the exact value input by the user (don't snap)\r\n        this.value = value;\r\n        \r\n        \/\/ Update the custom slider position to approximate location\r\n        updateThumbPosition(value);\r\n        \r\n        \/\/ Update the pricing display with the closest pricing tier\r\n        updatePricing(value);\r\n    });\r\n    \r\n    \/\/ Handle main tab switching\r\n    const tabs = document.querySelectorAll('.clevry-tab');\r\n    \r\n    tabs.forEach(tab => {\r\n        tab.addEventListener('click', function() {\r\n            \/\/ Remove active class from all tabs\r\n            tabs.forEach(t => t.classList.remove('active'));\r\n            \r\n            \/\/ Add active class to clicked tab\r\n            this.classList.add('active');\r\n            \r\n            \/\/ Update pricing based on current headcount from input field\r\n            updatePricing(parseInt(headcountInput.value));\r\n        });\r\n    });\r\n    \r\n    \/\/ Function to handle CTA button clicks\r\n    function handleButtonClick(e) {\r\n        if (e.target.matches('.clevry-card-cta') || e.target.matches('.clevry-contact-button')) {\r\n            \/\/ Get the base URL from settings\r\n            const baseUrl = clevryPricingConfig.uiSettings.buttonUrl;\r\n            \r\n            \/\/ Check if this is a card button with subscription info\r\n            if (e.target.dataset.subscription) {\r\n                \/\/ Append the subscription parameter to the URL\r\n                const targetUrl = `${baseUrl}?subscription_package=${e.target.dataset.subscription}`;\r\n                \r\n                \/\/ In a real implementation, we'd navigate to the URL\r\n                alert(`Redirecting to: ${targetUrl}`);\r\n                \/\/window.location.href = targetUrl;\r\n            } else {\r\n                \/\/ For the main contact button with no specific package\r\n                alert(`Redirecting to: ${baseUrl}`);\r\n                \/\/window.location.href = baseUrl;\r\n            }\r\n        }\r\n    }\r\n    \r\n    \/\/ Add click event listener\r\n    document.addEventListener('click', handleButtonClick);\r\n});\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4bdd121 e-flex e-con-boxed e-con e-parent\" data-id=\"4bdd121\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-df5ea9c elementor-widget elementor-widget-heading\" data-id=\"df5ea9c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Hiring occasionally? <\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e128ac9 elementor-widget__width-initial elementor-widget elementor-widget-n-accordion\" data-id=\"e128ac9\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;default_state&quot;:&quot;all_collapsed&quot;,&quot;max_items_expended&quot;:&quot;one&quot;,&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:400,&quot;sizes&quot;:[]}}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2360\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-2360\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Pay-as-you-go <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-minus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-plus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2360\" class=\"elementor-element elementor-element-7e3f6e8 e-con-full e-flex e-con e-child\" data-id=\"7e3f6e8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a1f74e7 elementor-widget elementor-widget-text-editor\" data-id=\"a1f74e7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Our subscription packages offer the best value, but if you have irregular hiring needs, our pay-as-you-go model might be the best option to start with. A one-time onboarding fee of \u00a3500 applies to pay-as-you-go assessments.\u00a0<\/p><p>Prices per test are as follows:<\/p><ul><li>Personality questionnaires: \u00a3135<\/li><li>Ability tests: \u00a340<\/li><li>Situational Judgement Tests: \u00a340<\/li><li>Group and Leadership reports: \u00a380<\/li><li>All other reports are free of charge<\/li><\/ul><p>\u00a0<\/p><p><a href=\"https:\/\/www.clevry.com\/en\/platform\/contact-us-pricing\/\">Contact us<\/a> to learn more.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2361\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"2\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-2361\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Managed Assessment Service <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-minus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-plus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2361\" class=\"elementor-element elementor-element-11451d9 e-con-full e-flex e-con e-child\" data-id=\"11451d9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-abb4963 elementor-widget elementor-widget-text-editor\" data-id=\"abb4963\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Let our business psychologists handle everything\u2014from assessment administration to insights and recommendations. Starting from <strong>\u00a3650 per candidate<\/strong>. <a href=\"https:\/\/www.clevry.com\/en\/platform\/contact-us-pricing\/\">Contact us<\/a> to learn more.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5690a69 e-flex e-con-boxed e-con e-parent\" data-id=\"5690a69\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2bd05ce3 elementor-widget elementor-widget-heading\" data-id=\"2bd05ce3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Scientific rigour &amp; Enterprise-level security\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-470bab83 e-flex e-con-boxed e-con e-parent\" data-id=\"470bab83\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-6a78620f e-con-full e-flex e-con e-child\" data-id=\"6a78620f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-516cad1b elementor-widget elementor-widget-image\" data-id=\"516cad1b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"116\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/2023\/01\/BPS-accredited-300x116.webp\" class=\"attachment-medium size-medium wp-image-8310\" alt=\"\" srcset=\"https:\/\/www.clevry.com\/wp-content\/uploads\/2023\/01\/BPS-accredited-300x116.webp 300w, https:\/\/www.clevry.com\/wp-content\/uploads\/2023\/01\/BPS-accredited-768x297.webp 768w, https:\/\/www.clevry.com\/wp-content\/uploads\/2023\/01\/BPS-accredited.webp 989w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1580b521 e-con-full e-flex e-con e-child\" data-id=\"1580b521\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c886dca elementor-widget elementor-widget-image\" data-id=\"c886dca\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"142\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/image_2025-11-12_091910839-300x142.png\" class=\"attachment-medium size-medium wp-image-55312\" alt=\"ISO certification\" srcset=\"https:\/\/www.clevry.com\/wp-content\/uploads\/image_2025-11-12_091910839-300x142.png 300w, https:\/\/www.clevry.com\/wp-content\/uploads\/image_2025-11-12_091910839-150x71.png 150w, https:\/\/www.clevry.com\/wp-content\/uploads\/image_2025-11-12_091910839.png 371w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5c5779d8 e-con-full e-flex e-con e-child\" data-id=\"5c5779d8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-507f4aca elementor-widget elementor-widget-image\" data-id=\"507f4aca\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" loading=\"lazy\" width=\"150\" height=\"150\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/PNG_GDPR-e1672263252689-150x150.png\" class=\"attachment-thumbnail size-thumbnail wp-image-24245\" alt=\"GDPR compliant\" srcset=\"https:\/\/www.clevry.com\/wp-content\/uploads\/PNG_GDPR-e1672263252689-150x150.png 150w, https:\/\/www.clevry.com\/wp-content\/uploads\/PNG_GDPR-e1672263252689-300x300.png 300w, https:\/\/www.clevry.com\/wp-content\/uploads\/PNG_GDPR-e1672263252689-1024x1024.png 1024w, https:\/\/www.clevry.com\/wp-content\/uploads\/PNG_GDPR-e1672263252689-768x768.png 768w, https:\/\/www.clevry.com\/wp-content\/uploads\/PNG_GDPR-e1672263252689-1536x1536.png 1536w, https:\/\/www.clevry.com\/wp-content\/uploads\/PNG_GDPR-e1672263252689.png 1574w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-71b7d783 e-con-full e-flex e-con e-child\" data-id=\"71b7d783\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5de78661 elementor-widget elementor-widget-image\" data-id=\"5de78661\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" loading=\"lazy\" width=\"125\" height=\"150\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/Cyber-essentials-plus-logo--125x150.webp\" class=\"attachment-thumbnail size-thumbnail wp-image-42740\" alt=\"Cyber essentials certified\" srcset=\"https:\/\/www.clevry.com\/wp-content\/uploads\/Cyber-essentials-plus-logo--125x150.webp 125w, https:\/\/www.clevry.com\/wp-content\/uploads\/Cyber-essentials-plus-logo--250x300.webp 250w, https:\/\/www.clevry.com\/wp-content\/uploads\/Cyber-essentials-plus-logo--855x1024.webp 855w, https:\/\/www.clevry.com\/wp-content\/uploads\/Cyber-essentials-plus-logo--768x920.webp 768w, https:\/\/www.clevry.com\/wp-content\/uploads\/Cyber-essentials-plus-logo--1282x1536.webp 1282w, https:\/\/www.clevry.com\/wp-content\/uploads\/Cyber-essentials-plus-logo-.webp 1524w\" sizes=\"auto, (max-width: 125px) 100vw, 125px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0bc06ef e-flex e-con-boxed e-con e-parent\" data-id=\"0bc06ef\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0b6d386 elementor-testimonial--skin-bubble elementor-testimonial--layout-image_inline elementor-testimonial--align-center elementor-arrows-yes elementor-pagination-type-bullets elementor-widget elementor-widget-testimonial-carousel\" data-id=\"0b6d386\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;autoplay_speed&quot;:7000,&quot;show_arrows&quot;:&quot;yes&quot;,&quot;pagination&quot;:&quot;bullets&quot;,&quot;speed&quot;:500,&quot;autoplay&quot;:&quot;yes&quot;,&quot;loop&quot;:&quot;yes&quot;,&quot;pause_on_hover&quot;:&quot;yes&quot;,&quot;pause_on_interaction&quot;:&quot;yes&quot;,&quot;space_between&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;space_between_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;space_between_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]}}\" data-widget_type=\"testimonial-carousel.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-swiper\">\n\t\t\t\t\t<div class=\"elementor-main-swiper swiper\" role=\"region\" aria-roledescription=\"carousel\" aria-label=\"Slides\">\n\t\t\t\t<div class=\"swiper-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial\">\n\t\t\t\t\t\t\t<div class=\"elementor-testimonial__content\">\n\t\t\t\t\t<div class=\"elementor-testimonial__text\">\n\t\t\t\t\t\t\"The quality of the assessments and ease of reading and understanding them made us choose Clevry. Also, our sales rep, Jacob, was fantastic! He was so patient and knowledgeable. Our decision was between Clevry and another provider, and Jacob's professionalism and knowledge sealed the deal for us.\"\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"elementor-testimonial__footer\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial__image\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/AFL_Logo2.webp\" alt=\"Janet Andrews\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<cite class=\"elementor-testimonial__cite\"><span class=\"elementor-testimonial__name\">Janet Andrews<\/span><span class=\"elementor-testimonial__title\">HR Manager - AFL Global<\/span><\/cite>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial\">\n\t\t\t\t\t\t\t<div class=\"elementor-testimonial__content\">\n\t\t\t\t\t<div class=\"elementor-testimonial__text\">\n\t\t\t\t\t\t\"Having worked with Clevry for several years, we felt they really understood our business and culture. They had shown that they could produce flexible and adaptable solutions, which was ideal for our purpose.\"\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"elementor-testimonial__footer\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial__image\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/2023\/01\/ASDA-Clevry-logo.png\" alt=\"Claire Fuller\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<cite class=\"elementor-testimonial__cite\"><span class=\"elementor-testimonial__name\">Claire Fuller<\/span><span class=\"elementor-testimonial__title\">Resourcing Manager - ASDA<\/span><\/cite>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial\">\n\t\t\t\t\t\t\t<div class=\"elementor-testimonial__content\">\n\t\t\t\t\t<div class=\"elementor-testimonial__text\">\n\t\t\t\t\t\t\"Our team is over the moon that we can substantiate 'gut feeling' into measurable data. The Clevry platform is working amazingly for us, and we're super excited about being able to develop it into a key hiring tool for the business.\"\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"elementor-testimonial__footer\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial__image\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/Mojo-1.png\" alt=\"Jordan Buck\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<cite class=\"elementor-testimonial__cite\"><span class=\"elementor-testimonial__name\">Jordan Buck<\/span><span class=\"elementor-testimonial__title\">Talen Partner - Mojo Mortgages<\/span><\/cite>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-swiper-button elementor-swiper-button-prev\" role=\"button\" tabindex=\"0\" aria-label=\"Previous\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-chevron-left\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M646 125C629 125 613 133 604 142L308 442C296 454 292 471 292 487 292 504 296 521 308 533L604 854C617 867 629 875 646 875 663 875 679 871 692 858 704 846 713 829 713 812 713 796 708 779 692 767L438 487 692 225C700 217 708 204 708 187 708 171 704 154 692 142 675 129 663 125 646 125Z\"><\/path><\/svg>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"elementor-swiper-button elementor-swiper-button-next\" role=\"button\" tabindex=\"0\" aria-label=\"Next\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-chevron-right\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M696 533C708 521 713 504 713 487 713 471 708 454 696 446L400 146C388 133 375 125 354 125 338 125 325 129 313 142 300 154 292 171 292 187 292 204 296 221 308 233L563 492 304 771C292 783 288 800 288 817 288 833 296 850 308 863 321 871 338 875 354 875 371 875 388 867 400 854L696 533Z\"><\/path><\/svg>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"swiper-pagination\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-24131d10 e-flex e-con-boxed e-con e-parent\" data-id=\"24131d10\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-249c2e31 border-right e-con-full e-flex e-con e-child\" data-id=\"249c2e31\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-51a05ca2 elementor-widget-mobile__width-initial elementor-widget elementor-widget-heading\" data-id=\"51a05ca2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Trusted by top talent teams <b>around the world<\/b><\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4c490d81 border-right e-con-full e-flex e-con e-child\" data-id=\"4c490d81\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-135ab32f elementor-widget elementor-widget-image-carousel\" data-id=\"135ab32f\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;slides_to_show&quot;:&quot;3&quot;,&quot;slides_to_scroll&quot;:&quot;1&quot;,&quot;navigation&quot;:&quot;none&quot;,&quot;image_spacing_custom&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:40,&quot;sizes&quot;:[]},&quot;slides_to_show_mobile&quot;:&quot;2&quot;,&quot;autoplay&quot;:&quot;yes&quot;,&quot;pause_on_hover&quot;:&quot;yes&quot;,&quot;pause_on_interaction&quot;:&quot;yes&quot;,&quot;autoplay_speed&quot;:5000,&quot;infinite&quot;:&quot;yes&quot;,&quot;speed&quot;:500,&quot;image_spacing_custom_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;image_spacing_custom_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"image-carousel.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-image-carousel-wrapper swiper\" role=\"region\" aria-roledescription=\"carousel\" aria-label=\"Image Carousel\" dir=\"ltr\">\n\t\t\t<div class=\"elementor-image-carousel swiper-wrapper\" aria-live=\"off\">\n\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"1 of 7\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/elementor\/thumbs\/british-gas-q0gad1wj9ikxb7wg10e8wn53uu8rki3psfhu11ag4s.png\" alt=\"British_gas_logo\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"2 of 7\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/elementor\/thumbs\/Santander_Logo-q0gbr7khy98qu51m56wkghhl010vb2830opkxkx5si.png\" alt=\"Santander_Logo\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"3 of 7\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/elementor\/thumbs\/Royal-mail-Clevry-logo-1-qwdci5l99z8sqd9gbqh5ez8igm510buqijkhbhmj4s.png\" alt=\"Royal-mail-Clevry-logo.png\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"4 of 7\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/elementor\/thumbs\/NEXT-case-study-qk1brfbg32ks4rjyezp30yrz1pjgt6cfdvj41w5pjg.png\" alt=\"NEXT case study\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"5 of 7\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/elementor\/thumbs\/Bitmap-Copy@2x-py1yk94bqc78nv06bf452vf9hegp02319vxahq2eha.png\" alt=\"Dunelm logo\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"6 of 7\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/elementor\/thumbs\/Bitmap-Copy-3@2x-py1ykkee0cmoj6jshjznwsksm0x3kfbtbfr491loew.png\" alt=\"Marks &amp; Spencer logo\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"7 of 7\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/elementor\/thumbs\/1280px-BDO_logo.svg-1-qxrrk50lmzhszcdv1615f5n3mztf6901jc4zueewuc.png\" alt=\"1280px-BDO_logo.svg.png\" \/><\/figure><\/div>\t\t\t<\/div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-011f921 e-grid e-con-boxed e-con e-parent\" data-id=\"011f921\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-14ebc1a elementor-widget elementor-widget-image\" data-id=\"14ebc1a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" loading=\"lazy\" width=\"869\" height=\"1000\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/medal-11.png\" class=\"attachment-full size-full wp-image-55494\" alt=\"\" srcset=\"https:\/\/www.clevry.com\/wp-content\/uploads\/medal-11.png 869w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-11-261x300.png 261w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-11-130x150.png 130w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-11-768x884.png 768w\" sizes=\"auto, (max-width: 869px) 100vw, 869px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5ddea96 elementor-widget elementor-widget-image\" data-id=\"5ddea96\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" loading=\"lazy\" width=\"869\" height=\"1000\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/medal-10.png\" class=\"attachment-full size-full wp-image-55499\" alt=\"\" srcset=\"https:\/\/www.clevry.com\/wp-content\/uploads\/medal-10.png 869w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-10-261x300.png 261w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-10-130x150.png 130w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-10-768x884.png 768w\" sizes=\"auto, (max-width: 869px) 100vw, 869px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cc62bb9 elementor-widget elementor-widget-image\" data-id=\"cc62bb9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" loading=\"lazy\" width=\"869\" height=\"1000\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/medal-4.png\" class=\"attachment-full size-full wp-image-55534\" alt=\"\" srcset=\"https:\/\/www.clevry.com\/wp-content\/uploads\/medal-4.png 869w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-4-261x300.png 261w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-4-130x150.png 130w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-4-768x884.png 768w\" sizes=\"auto, (max-width: 869px) 100vw, 869px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-21a318c elementor-widget elementor-widget-image\" data-id=\"21a318c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" loading=\"lazy\" width=\"869\" height=\"1000\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/medal-12.png\" class=\"attachment-full size-full wp-image-55488\" alt=\"\" srcset=\"https:\/\/www.clevry.com\/wp-content\/uploads\/medal-12.png 869w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-12-261x300.png 261w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-12-130x150.png 130w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-12-768x884.png 768w\" sizes=\"auto, (max-width: 869px) 100vw, 869px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-353563c elementor-widget elementor-widget-image\" data-id=\"353563c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" loading=\"lazy\" width=\"869\" height=\"1000\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/medal-7.png\" class=\"attachment-full size-full wp-image-55514\" alt=\"\" srcset=\"https:\/\/www.clevry.com\/wp-content\/uploads\/medal-7.png 869w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-7-261x300.png 261w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-7-130x150.png 130w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-7-768x884.png 768w\" sizes=\"auto, (max-width: 869px) 100vw, 869px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fa9629e elementor-widget elementor-widget-image\" data-id=\"fa9629e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" loading=\"lazy\" width=\"869\" height=\"1000\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/medal-6.png\" class=\"attachment-full size-full wp-image-55519\" alt=\"\" srcset=\"https:\/\/www.clevry.com\/wp-content\/uploads\/medal-6.png 869w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-6-261x300.png 261w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-6-130x150.png 130w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-6-768x884.png 768w\" sizes=\"auto, (max-width: 869px) 100vw, 869px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5afe4c6 elementor-widget elementor-widget-image\" data-id=\"5afe4c6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" loading=\"lazy\" width=\"869\" height=\"1000\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/medal-13.png\" class=\"attachment-full size-full wp-image-55483\" alt=\"\" srcset=\"https:\/\/www.clevry.com\/wp-content\/uploads\/medal-13.png 869w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-13-261x300.png 261w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-13-130x150.png 130w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-13-768x884.png 768w\" sizes=\"auto, (max-width: 869px) 100vw, 869px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bd2210a elementor-widget elementor-widget-image\" data-id=\"bd2210a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" loading=\"lazy\" width=\"869\" height=\"1000\" src=\"https:\/\/www.clevry.com\/wp-content\/uploads\/medal-9.png\" class=\"attachment-full size-full wp-image-55504\" alt=\"\" srcset=\"https:\/\/www.clevry.com\/wp-content\/uploads\/medal-9.png 869w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-9-261x300.png 261w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-9-130x150.png 130w, https:\/\/www.clevry.com\/wp-content\/uploads\/medal-9-768x884.png 768w\" sizes=\"auto, (max-width: 869px) 100vw, 869px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e960034 e-flex e-con-boxed e-con e-parent\" data-id=\"e960034\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-390d0a5 elementor-widget elementor-widget-heading\" data-id=\"390d0a5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">In need of a custom solution? <\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-96bea68 elementor-widget elementor-widget-text-editor\" data-id=\"96bea68\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Our off-the-shelf assessments are designed to be user-friendly and adaptable to your needs. But sometimes, a tailored approach is the best fit.<br \/>We\u2019ve built custom solutions for hundreds of enterprise companies, designing tools that align with their unique recruitment and development needs. Whether you need bespoke assessments, specialised frameworks, or fully customised talent solutions, we\u2019re here to help.<br \/>Let\u2019s create the right solution for your organisation. Get in touch to explore our bespoke services.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b065c8b elementor-widget elementor-widget-spacer\" data-id=\"b065c8b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Platform Plans Make every hire count with predictive insights. A complete hiring platform with unlimited candidate assessments. Choose the tools you need today and scale effortlessly as your hiring needs evolve. Hiring occasionally? Pay-as-you-go Our subscription packages offer the best value, but if you have irregular hiring needs, our pay-as-you-go model might be the best [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":11092,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"content-type":[],"class_list":["post-2871","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Pricing - Clevry<\/title>\n<meta name=\"description\" content=\"Clevry&#039;s flexible pricing models offer unlimited recruitment and assessment capabilities for organizations of any size. Take your pick!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.clevry.com\/en\/pricing\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pricing - Clevry\" \/>\n<meta property=\"og:description\" content=\"Clevry&#039;s flexible pricing models offer unlimited recruitment and assessment capabilities for organizations of any size. Take your pick!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.clevry.com\/en\/pricing\/\" \/>\n<meta property=\"og:site_name\" content=\"Clevry\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-23T11:29:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.clevry.com\/wp-content\/uploads\/2023\/01\/Featured-Image.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.clevry.com\/en\/pricing\/\",\"url\":\"https:\/\/www.clevry.com\/en\/pricing\/\",\"name\":\"Pricing - Clevry\",\"isPartOf\":{\"@id\":\"https:\/\/www.clevry.com\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.clevry.com\/en\/pricing\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.clevry.com\/en\/pricing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.clevry.com\/wp-content\/uploads\/2023\/01\/Featured-Image.jpg\",\"datePublished\":\"2022-12-14T08:37:35+00:00\",\"dateModified\":\"2025-12-23T11:29:36+00:00\",\"description\":\"Clevry's flexible pricing models offer unlimited recruitment and assessment capabilities for organizations of any size. Take your pick!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.clevry.com\/en\/pricing\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.clevry.com\/en\/pricing\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.clevry.com\/en\/pricing\/#primaryimage\",\"url\":\"https:\/\/www.clevry.com\/wp-content\/uploads\/2023\/01\/Featured-Image.jpg\",\"contentUrl\":\"https:\/\/www.clevry.com\/wp-content\/uploads\/2023\/01\/Featured-Image.jpg\",\"width\":1200,\"height\":628,\"caption\":\"Arbetspsykologiska tester\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.clevry.com\/en\/pricing\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.clevry.com\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pricing\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.clevry.com\/en\/#website\",\"url\":\"https:\/\/www.clevry.com\/en\/\",\"name\":\"Clevry\",\"description\":\"The soft skills platform\",\"publisher\":{\"@id\":\"https:\/\/www.clevry.com\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.clevry.com\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.clevry.com\/en\/#organization\",\"name\":\"Clevry\",\"url\":\"https:\/\/www.clevry.com\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.clevry.com\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.clevry.com\/wp-content\/uploads\/2022\/11\/Group-14-Copy.svg\",\"contentUrl\":\"https:\/\/www.clevry.com\/wp-content\/uploads\/2022\/11\/Group-14-Copy.svg\",\"width\":152,\"height\":48,\"caption\":\"Clevry\"},\"image\":{\"@id\":\"https:\/\/www.clevry.com\/en\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pricing - Clevry","description":"Clevry's flexible pricing models offer unlimited recruitment and assessment capabilities for organizations of any size. Take your pick!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.clevry.com\/en\/pricing\/","og_locale":"en_GB","og_type":"article","og_title":"Pricing - Clevry","og_description":"Clevry's flexible pricing models offer unlimited recruitment and assessment capabilities for organizations of any size. Take your pick!","og_url":"https:\/\/www.clevry.com\/en\/pricing\/","og_site_name":"Clevry","article_modified_time":"2025-12-23T11:29:36+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.clevry.com\/wp-content\/uploads\/2023\/01\/Featured-Image.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.clevry.com\/en\/pricing\/","url":"https:\/\/www.clevry.com\/en\/pricing\/","name":"Pricing - Clevry","isPartOf":{"@id":"https:\/\/www.clevry.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.clevry.com\/en\/pricing\/#primaryimage"},"image":{"@id":"https:\/\/www.clevry.com\/en\/pricing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.clevry.com\/wp-content\/uploads\/2023\/01\/Featured-Image.jpg","datePublished":"2022-12-14T08:37:35+00:00","dateModified":"2025-12-23T11:29:36+00:00","description":"Clevry's flexible pricing models offer unlimited recruitment and assessment capabilities for organizations of any size. Take your pick!","breadcrumb":{"@id":"https:\/\/www.clevry.com\/en\/pricing\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.clevry.com\/en\/pricing\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.clevry.com\/en\/pricing\/#primaryimage","url":"https:\/\/www.clevry.com\/wp-content\/uploads\/2023\/01\/Featured-Image.jpg","contentUrl":"https:\/\/www.clevry.com\/wp-content\/uploads\/2023\/01\/Featured-Image.jpg","width":1200,"height":628,"caption":"Arbetspsykologiska tester"},{"@type":"BreadcrumbList","@id":"https:\/\/www.clevry.com\/en\/pricing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.clevry.com\/en\/"},{"@type":"ListItem","position":2,"name":"Pricing"}]},{"@type":"WebSite","@id":"https:\/\/www.clevry.com\/en\/#website","url":"https:\/\/www.clevry.com\/en\/","name":"Clevry","description":"The soft skills platform","publisher":{"@id":"https:\/\/www.clevry.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.clevry.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/www.clevry.com\/en\/#organization","name":"Clevry","url":"https:\/\/www.clevry.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.clevry.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/www.clevry.com\/wp-content\/uploads\/2022\/11\/Group-14-Copy.svg","contentUrl":"https:\/\/www.clevry.com\/wp-content\/uploads\/2022\/11\/Group-14-Copy.svg","width":152,"height":48,"caption":"Clevry"},"image":{"@id":"https:\/\/www.clevry.com\/en\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.clevry.com\/en\/wp-json\/wp\/v2\/pages\/2871","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.clevry.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.clevry.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.clevry.com\/en\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.clevry.com\/en\/wp-json\/wp\/v2\/comments?post=2871"}],"version-history":[{"count":30,"href":"https:\/\/www.clevry.com\/en\/wp-json\/wp\/v2\/pages\/2871\/revisions"}],"predecessor-version":[{"id":55561,"href":"https:\/\/www.clevry.com\/en\/wp-json\/wp\/v2\/pages\/2871\/revisions\/55561"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.clevry.com\/en\/wp-json\/wp\/v2\/media\/11092"}],"wp:attachment":[{"href":"https:\/\/www.clevry.com\/en\/wp-json\/wp\/v2\/media?parent=2871"}],"wp:term":[{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/www.clevry.com\/en\/wp-json\/wp\/v2\/content-type?post=2871"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}