{"id":29,"date":"2024-12-20T16:12:56","date_gmt":"2024-12-20T16:12:56","guid":{"rendered":"https:\/\/complianceestimate.com\/?page_id=29"},"modified":"2025-04-11T16:53:22","modified_gmt":"2025-04-11T16:53:22","slug":"assessment-page","status":"publish","type":"page","link":"https:\/\/complianceestimate.com\/?page_id=29","title":{"rendered":"Assessment Page"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"29\" class=\"elementor elementor-29\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8a27c88 e-flex e-con-boxed e-con e-parent\" data-id=\"8a27c88\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f34d459 elementor-widget elementor-widget-html\" data-id=\"f34d459\" data-element_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<head>\r\n  <meta charset=\"UTF-8\" \/>\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\r\n  <title>Enhanced Compliance Assessment<\/title>\r\n  <link href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/tailwindcss\/2.2.19\/tailwind.min.css\" rel=\"stylesheet\" \/>\r\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;600;700&display=swap\" rel=\"stylesheet\" \/>\r\n  <style>\r\n    \/* Base Styles *\/\r\n    body {\r\n      font-family: 'Inter', sans-serif;\r\n      background: linear-gradient(135deg, #1e293b, #0f172a);\r\n      color: #f1f5f9;\r\n      min-height: 100vh;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      padding: 20px;\r\n      overflow: hidden;\r\n      position: relative;\r\n    }\r\n    \/* Animated Background Shapes *\/\r\n    .bg-shape {\r\n      position: absolute;\r\n      border-radius: 50%;\r\n      opacity: 0.3;\r\n      animation: float 8s ease-in-out infinite;\r\n    }\r\n    .bg-shape.shape-1 {\r\n      width: 200px;\r\n      height: 200px;\r\n      background: radial-gradient(circle, #3b82f6, transparent);\r\n      top: -50px;\r\n      left: -50px;\r\n      animation-duration: 10s;\r\n    }\r\n    .bg-shape.shape-2 {\r\n      width: 150px;\r\n      height: 150px;\r\n      background: radial-gradient(circle, #06b6d4, transparent);\r\n      bottom: -40px;\r\n      right: -40px;\r\n      animation-duration: 12s;\r\n    }\r\n    @keyframes float {\r\n      0%, 100% { transform: translateY(0) rotate(0deg); }\r\n      50% { transform: translateY(20px) rotate(10deg); }\r\n    }\r\n    \/* Assessment Card Styles *\/\r\n    .card {\r\n      background: rgba(15, 23, 42, 0.85);\r\n      backdrop-filter: blur(10px);\r\n      border-radius: 1rem;\r\n      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);\r\n      position: relative;\r\n      z-index: 1;\r\n      overflow: hidden;\r\n    }\r\n    \/* Progress Bar *\/\r\n    .progress-container {\r\n      background: rgba(255, 255, 255, 0.1);\r\n      height: 5px;\r\n      border-radius: 3px;\r\n      margin-bottom: 1rem;\r\n      overflow: hidden;\r\n    }\r\n    .progress-bar {\r\n      background: linear-gradient(90deg, #3b82f6, #06b6d4);\r\n      height: 100%;\r\n      width: 0%;\r\n      transition: width 0.5s ease;\r\n    }\r\n    \/* Fade and Slide Animations *\/\r\n    .animate-fade {\r\n      animation: fadeIn 0.6s ease both;\r\n    }\r\n    .animate-slide {\r\n      animation: slideIn 0.6s ease both;\r\n    }\r\n    @keyframes fadeIn {\r\n      from { opacity: 0; }\r\n      to { opacity: 1; }\r\n    }\r\n    @keyframes slideIn {\r\n      from { transform: translateX(20px); opacity: 0; }\r\n      to { transform: translateX(0); opacity: 1; }\r\n    }\r\n    \/* Modern Button Style *\/\r\n    .modern-btn {\r\n      transition: all 0.3s ease;\r\n    }\r\n    .modern-btn:hover {\r\n      transform: translateY(-3px);\r\n      box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);\r\n    }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n  <!-- Animated Background Shapes -->\r\n  <div class=\"bg-shape shape-1\"><\/div>\r\n  <div class=\"bg-shape shape-2\"><\/div>\r\n\r\n  <div class=\"w-full max-w-4xl\">\r\n    <!-- Header -->\r\n    <header class=\"text-center mb-8 relative z-10\">\r\n      <h1 class=\"text-5xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-blue-400 to-blue-600\">\r\n        Enhanced Compliance Assessment\r\n      <\/h1>\r\n      <p class=\"mt-2 text-lg text-gray-400\">\r\n        Discover what you need to be compliant with a modern touch.\r\n      <\/p>\r\n    <\/header>\r\n    \r\n    <!-- Assessment Card -->\r\n    <div class=\"card p-8 relative z-10\">\r\n      <!-- Progress Bar -->\r\n      <div class=\"progress-container\">\r\n        <div id=\"progressBar\" class=\"progress-bar\"><\/div>\r\n      <\/div>\r\n      <!-- Navigation Bar -->\r\n      <div class=\"flex justify-between items-center mb-6\">\r\n        <button id=\"backBtn\" class=\"modern-btn px-4 py-2 rounded-md border border-blue-500 text-blue-400 hover:bg-blue-500 hover:text-white disabled:opacity-50 disabled:cursor-not-allowed\">\r\n          \u2190 Back\r\n        <\/button>\r\n        <div id=\"questionCounter\" class=\"text-sm text-gray-300\"><\/div>\r\n      <\/div>\r\n      \r\n      <!-- Question Content -->\r\n      <div id=\"questionContainer\" class=\"mb-6 overflow-y-auto max-h-64\"><\/div>\r\n      \r\n      <!-- Options Container -->\r\n      <div id=\"optionsContainer\" class=\"space-y-4\"><\/div>\r\n    <\/div>\r\n  <\/div>\r\n  \r\n  <script>\r\n    \/* ---------- Centralized Pricing Configuration ----------\r\n       All pricing details are managed here.\r\n       For each employee tier, define:\r\n         - audit: Cost for each compliance framework (separate for Traditional and Partnership).\r\n         - base: Standard base cost items for each route.\r\n         - extras: Additional costs for training and custom integration options.\r\n    ---------------------------------------------------------- *\/\r\n    const pricingConfig = {\r\n      \"1-10 employees\": {\r\n        audit: {\r\n          \"SOC 2 Type 2\": { traditional: 30000, partnership: 7000 },\r\n          \"ISO 27001\":    { traditional: 30000, partnership: 5000 },\r\n          \"HIPAA\":        { traditional: 40000, partnership: 3000 },\r\n          \"GDPR\":         { traditional: 35000, partnership: 5000 }\r\n        },\r\n        base: {\r\n          traditional: [\r\n            { label: \"Implementation\", cost: 30000 },\r\n            { label: \"GRC Platform\", cost: 25000 },\r\n            { label: \"Penetration Testing\", cost: 2500 },\r\n            { label: \"Annual Maintenance\", cost: 15000 }\r\n          ],\r\n          partnership: [\r\n            { label: \"Implementation\", cost: 9000 },\r\n            { label: \"GRC Tool\", cost: 2400 },\r\n            { label: \"Penetration Test\", cost: 4500 },\r\n            { label: \"Annual Support\", cost: 1800 }\r\n          ]\r\n        },\r\n        extras: {\r\n          training: {\r\n            \"Comprehensive Training & Support\": { traditional: 5000, partnership: 3000 },\r\n            \"Basic Training\": { traditional: 2000, partnership: 1000 },\r\n            \"No Additional Training\": { traditional: 0, partnership: 0 }\r\n          },\r\n          integration: {\r\n            \"Yes\": { traditional: 7000, partnership: 4000 },\r\n            \"No\": { traditional: 0, partnership: 0 }\r\n          }\r\n        }\r\n      },\r\n      \"11-20 employees\": {\r\n        audit: {\r\n          \"SOC 2 Type 2\": { traditional: 31000, partnership: 7500 },\r\n          \"ISO 27001\":    { traditional: 31000, partnership: 5500 },\r\n          \"HIPAA\":        { traditional: 41000, partnership: 3500 },\r\n          \"GDPR\":         { traditional: 36000, partnership: 5500 }\r\n        },\r\n        base: {\r\n          traditional: [\r\n            { label: \"Implementation\", cost: 31000 },\r\n            { label: \"GRC Platform\", cost: 26000 },\r\n            { label: \"Penetration Testing\", cost: 2600 },\r\n            { label: \"Annual Maintenance\", cost: 15500 }\r\n          ],\r\n          partnership: [\r\n            { label: \"Implementation\", cost: 9500 },\r\n            { label: \"GRC Tool\", cost: 2500 },\r\n            { label: \"Penetration Test\", cost: 4600 },\r\n            { label: \"Annual Support\", cost: 1900 }\r\n          ]\r\n        },\r\n        extras: {\r\n          training: {\r\n            \"Comprehensive Training & Support\": { traditional: 6000, partnership: 3500 },\r\n            \"Basic Training\": { traditional: 2500, partnership: 1500 },\r\n            \"No Additional Training\": { traditional: 0, partnership: 0 }\r\n          },\r\n          integration: {\r\n            \"Yes\": { traditional: 8000, partnership: 4500 },\r\n            \"No\": { traditional: 0, partnership: 0 }\r\n          }\r\n        }\r\n      },\r\n      \"501+ employees\": \"Contact us\"\r\n    };\r\n\r\n    \/* ---------- Assessment Logic & Questions ---------- *\/\r\n    const assessment = {\r\n      currentStep: 0,\r\n      answers: {},\r\n      questions: [\r\n        \/\/ 0. Employee Count\r\n        {\r\n          text: \"How many employees are in your organization?\",\r\n          options: [\r\n            \"1-10 employees\",\r\n            \"11-20 employees\",\r\n            \"21-50 employees\",\r\n            \"51-100 employees\",\r\n            \"101-150 employees\",\r\n            \"151-250 employees\",\r\n            \"251-500 employees\",\r\n            \"501+ employees\"\r\n          ]\r\n        },\r\n        \/\/ 1. Compliance Frameworks (Multi-select)\r\n        {\r\n          text: \"Which compliance frameworks do you need?\",\r\n          description: \"Select all that apply\",\r\n          options: [\r\n            \"SOC 2 Type 2\",\r\n            \"ISO 27001\",\r\n            \"HIPAA\",\r\n            \"GDPR\",\r\n            \"Other Framework\"\r\n          ],\r\n          multiSelect: true\r\n        },\r\n        \/\/ 2. Infrastructure\r\n        {\r\n          text: \"What type of infrastructure do you use?\",\r\n          options: [\r\n            \"Cloud Services (AWS, Azure, GCP)\",\r\n            \"On-Premises Data Center\",\r\n            \"Hybrid Infrastructure\"\r\n          ]\r\n        },\r\n        \/\/ 3. Timeline for Compliance\r\n        {\r\n          text: \"When do you need to achieve compliance?\",\r\n          options: [\r\n            \"As soon as possible\",\r\n            \"Within 3 months\",\r\n            \"Within 6 months\",\r\n            \"Within 12 months\"\r\n          ]\r\n        },\r\n        \/\/ 4. Training & Support\r\n        {\r\n          text: \"Do you require training and support?\",\r\n          options: [\r\n            \"Comprehensive Training & Support\",\r\n            \"Basic Training\",\r\n            \"No Additional Training\"\r\n          ]\r\n        },\r\n        \/\/ 5. Custom Integration\r\n        {\r\n          text: \"Do you need custom integration services?\",\r\n          options: [\r\n            \"Yes\",\r\n            \"No\"\r\n          ]\r\n        }\r\n      ],\r\n\r\n      init() {\r\n        this.showQuestion();\r\n        document.getElementById('backBtn').addEventListener('click', () => this.goBack());\r\n      },\r\n\r\n      updateProgress() {\r\n        const progress = Math.round((this.currentStep \/ this.questions.length) * 100);\r\n        document.getElementById('progressBar').style.width = progress + \"%\";\r\n      },\r\n\r\n      showQuestion() {\r\n        this.updateProgress();\r\n        const question = this.questions[this.currentStep];\r\n        const questionContainer = document.getElementById('questionContainer');\r\n        const optionsContainer = document.getElementById('optionsContainer');\r\n        const questionCounter = document.getElementById('questionCounter');\r\n        const backBtn = document.getElementById('backBtn');\r\n\r\n        questionCounter.textContent = `Question ${this.currentStep + 1} of ${this.questions.length}`;\r\n        backBtn.disabled = this.currentStep === 0;\r\n\r\n        questionContainer.innerHTML = `\r\n          <div class=\"animate-fade mb-4\">\r\n            <h2 class=\"text-2xl font-semibold mb-2\">${question.text}<\/h2>\r\n            ${question.description ? `<p class=\"text-gray-400\">${question.description}<\/p>` : ''}\r\n          <\/div>\r\n        `;\r\n\r\n        const optionsWrapper = document.createElement('div');\r\n        optionsWrapper.className = 'space-y-3 animate-slide';\r\n\r\n        if (question.multiSelect) {\r\n          question.options.forEach(option => {\r\n            const btn = document.createElement('button');\r\n            btn.className = 'modern-btn w-full p-4 rounded-md border border-gray-600 text-left hover:bg-blue-500 hover:text-white transition-colors';\r\n            btn.innerHTML = `<span>${option}<\/span>`;\r\n            btn.onclick = () => {\r\n              btn.dataset.selected = btn.dataset.selected !== 'true';\r\n              btn.classList.toggle('bg-blue-600');\r\n            };\r\n            optionsWrapper.appendChild(btn);\r\n          });\r\n          const confirmBtn = document.createElement('button');\r\n          confirmBtn.className = 'modern-btn w-full mt-4 px-4 py-3 bg-blue-600 text-white rounded-md transition-colors';\r\n          confirmBtn.textContent = 'Continue';\r\n          confirmBtn.onclick = () => this.handleMultiSelect();\r\n          optionsWrapper.appendChild(confirmBtn);\r\n        } else {\r\n          question.options.forEach(option => {\r\n            const btn = document.createElement('button');\r\n            btn.className = 'modern-btn w-full p-4 rounded-md border border-gray-600 hover:bg-blue-500 hover:text-white transition-colors';\r\n            btn.textContent = option;\r\n            btn.onclick = () => this.handleAnswer(option);\r\n            optionsWrapper.appendChild(btn);\r\n          });\r\n        }\r\n\r\n        optionsContainer.innerHTML = '';\r\n        optionsContainer.appendChild(optionsWrapper);\r\n      },\r\n\r\n      handleAnswer(answer) {\r\n        this.answers[this.currentStep] = answer;\r\n        this.nextStep();\r\n      },\r\n\r\n      handleMultiSelect() {\r\n        const selected = Array.from(document.querySelectorAll('[data-selected=\"true\"]'))\r\n          .map(btn => btn.textContent.trim());\r\n        if (selected.length === 0) {\r\n          alert('Please select at least one option');\r\n          return;\r\n        }\r\n        this.answers[this.currentStep] = selected;\r\n        this.nextStep();\r\n      },\r\n\r\n      nextStep() {\r\n        if (this.currentStep < this.questions.length - 1) {\r\n          this.currentStep++;\r\n          this.showQuestion();\r\n        } else {\r\n          this.showResults();\r\n        }\r\n      },\r\n\r\n      goBack() {\r\n        if (this.currentStep > 0) {\r\n          this.currentStep--;\r\n          this.showQuestion();\r\n        }\r\n      },\r\n\r\n      \/* ---------- Cost Calculation & Results Display ---------- *\/\r\n      showResults() {\r\n        const container = document.getElementById('questionContainer');\r\n        const optionsContainer = document.getElementById('optionsContainer');\r\n        document.getElementById('questionCounter').style.display = 'none';\r\n        document.getElementById('backBtn').style.display = 'none';\r\n        \/\/ Generate cost breakdown for both Traditional and Partnership routes\r\n        const traditionalHTML = this.generateCostBreakdown('traditional');\r\n        const partnershipHTML = this.generateCostBreakdown('partnership');\r\n\r\n        container.innerHTML = `\r\n          <div class=\"space-y-8 animate-fade\">\r\n            <h2 class=\"text-3xl font-bold text-blue-400 mb-4\">Your Compliance Options<\/h2>\r\n            <div class=\"grid grid-cols-1 md:grid-cols-2 gap-6\">\r\n              <div class=\"p-6 bg-gray-800 rounded-md shadow-xl\">\r\n                <h3 class=\"text-xl font-semibold text-gray-200 mb-4\">Traditional Route<\/h3>\r\n                ${traditionalHTML}\r\n              <\/div>\r\n              <div class=\"p-6 bg-gradient-to-br from-blue-800 to-gray-800 rounded-md shadow-xl relative\">\r\n                <div class=\"absolute -top-3 right-3 px-3 py-1 rounded-full text-sm font-medium bg-green-700 text-green-300 border border-green-500\">\r\n                  RECOMMENDED\r\n                <\/div>\r\n                <h3 class=\"text-xl font-semibold text-gray-200 mb-4\">Partner with SCI<\/h3>\r\n                ${partnershipHTML}\r\n                <div class=\"mt-6\">\r\n                  <a href=\"\/schedule-demo\" class=\"block text-center py-3 bg-blue-600 hover:bg-blue-700 rounded-md text-white font-medium transition-colors\">\r\n                    Schedule a Demo\r\n                  <\/a>\r\n                <\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"flex justify-center mt-6\">\r\n              <button onclick=\"location.reload()\" class=\"modern-btn px-6 py-3 border border-blue-500 text-blue-400 hover:bg-blue-500 hover:text-white rounded-md transition-colors\">\r\n                Start New Assessment\r\n              <\/button>\r\n            <\/div>\r\n          <\/div>\r\n        `;\r\n        optionsContainer.innerHTML = '';\r\n      },\r\n\r\n      generateCostBreakdown(routeType) {\r\n        const employeeCount = this.answers[0];\r\n        if (!pricingConfig[employeeCount] || pricingConfig[employeeCount] === \"Contact us\") {\r\n          return `\r\n            <div class=\"p-4 bg-gray-700 rounded-md\">\r\n              <div class=\"flex justify-between\">\r\n                <span class=\"text-gray-400\">Enterprise Pricing<\/span>\r\n                <span class=\"text-gray-200\">Contact us<\/span>\r\n              <\/div>\r\n            <\/div>\r\n          `;\r\n        }\r\n        const config = pricingConfig[employeeCount];\r\n        \/\/ Get base costs\r\n        const baseItems = config.base[routeType];\r\n        \/\/ Get audit costs (from frameworks)\r\n        let auditItems = [];\r\n        (this.answers[1] || []).forEach(framework => {\r\n          if (config.audit[framework]) {\r\n            auditItems.push({\r\n              label: framework + ' Audit',\r\n              cost: config.audit[framework][routeType]\r\n            });\r\n          }\r\n        });\r\n        \/\/ Get extra cost items based on training and integration answers.\r\n        let extraItems = [];\r\n        if (this.answers[4]) {\r\n          const trainingOption = this.answers[4];\r\n          const trainingCost = config.extras.training[trainingOption][routeType];\r\n          extraItems.push({\r\n            label: \"Training & Support (\" + trainingOption + \")\",\r\n            cost: trainingCost\r\n          });\r\n        }\r\n        if (this.answers[5]) {\r\n          const integrationOption = this.answers[5];\r\n          const integrationCost = config.extras.integration[integrationOption][routeType];\r\n          extraItems.push({\r\n            label: \"Custom Integration (\" + integrationOption + \")\",\r\n            cost: integrationCost\r\n          });\r\n        }\r\n        \/\/ Combine all cost items and calculate total.\r\n        const allItems = [...baseItems, ...auditItems, ...extraItems];\r\n        const total = allItems.reduce((sum, item) => sum + item.cost, 0);\r\n        return `\r\n          ${allItems.map(item => `\r\n            <div class=\"p-3 bg-gray-700 rounded-md mb-2\">\r\n              <div class=\"flex justify-between\">\r\n                <span class=\"text-gray-400\">${item.label}<\/span>\r\n                <span class=\"text-gray-200\">${this.formatCurrency(item.cost)}<\/span>\r\n              <\/div>\r\n            <\/div>\r\n          `).join('')}\r\n          <div class=\"mt-4 pt-3 border-t border-gray-600\">\r\n            <div class=\"flex justify-between\">\r\n              <span class=\"text-lg font-medium text-gray-300\">Estimated Total<\/span>\r\n              <span class=\"text-lg font-bold text-blue-400\">${this.formatCurrency(total)}<\/span>\r\n            <\/div>\r\n          <\/div>\r\n        `;\r\n      },\r\n\r\n      formatCurrency(amount) {\r\n        return new Intl.NumberFormat('en-US', {\r\n          style: 'currency',\r\n          currency: 'USD',\r\n          minimumFractionDigits: 0,\r\n          maximumFractionDigits: 0\r\n        }).format(amount);\r\n      }\r\n    };\r\n\r\n    document.addEventListener('DOMContentLoaded', () => assessment.init());\r\n  <\/script>\r\n<\/body>\r\n<\/html>\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","protected":false},"excerpt":{"rendered":"<p>Enhanced Compliance Assessment Enhanced Compliance Assessment Discover what you need to be compliant with a modern touch. \u2190 Back<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-29","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/complianceestimate.com\/index.php?rest_route=\/wp\/v2\/pages\/29","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/complianceestimate.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/complianceestimate.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/complianceestimate.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/complianceestimate.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=29"}],"version-history":[{"count":38,"href":"https:\/\/complianceestimate.com\/index.php?rest_route=\/wp\/v2\/pages\/29\/revisions"}],"predecessor-version":[{"id":122,"href":"https:\/\/complianceestimate.com\/index.php?rest_route=\/wp\/v2\/pages\/29\/revisions\/122"}],"wp:attachment":[{"href":"https:\/\/complianceestimate.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=29"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}