{"id":1101,"date":"2023-12-29T07:50:23","date_gmt":"2023-12-29T07:50:23","guid":{"rendered":"https:\/\/themes.templatescoder.com\/sastra-addon\/demo-01\/?page_id=1101"},"modified":"2025-06-27T12:46:17","modified_gmt":"2025-06-27T12:46:17","slug":"privacy-policy","status":"publish","type":"page","link":"https:\/\/www.sdg.test.polimi.it\/en\/privacy-policy\/","title":{"rendered":"Mapper SDG (vecchio)"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1101\" class=\"elementor elementor-1101\">\n\t\t\t\t<div class=\"elementor-element elementor-element-88e031d e-con-full e-flex e-con e-parent\" data-id=\"88e031d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c1fe8fe elementor-widget elementor-widget-heading\" data-id=\"c1fe8fe\" 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\"><br><br>Mapper SDG<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0283433 elementor-widget elementor-widget-heading\" data-id=\"0283433\" 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\"><p>Create, explore, align and highlight the impact of your work<\/p><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8ad4c68 elementor-widget elementor-widget-html\" data-id=\"8ad4c68\" 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<!-- Font Manrope -->\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Manrope:wght@400;600;800&display=swap\" rel=\"stylesheet\">\n\n<style>\n  .features-row {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 30px;\n    justify-content: center;\n    margin: 60px auto;\n    max-width: 1000px;\n    padding: 0 20px;\n    font-family: 'Manrope', sans-serif;\n  }\n\n  .feature-box {\n    background: #f7f9fb;\n    border-radius: 16px;\n    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);\n    width: 250px;\n    padding: 30px 20px;\n    text-align: center;\n    color: #102C53;\n    transform: translateY(40px);\n    opacity: 0;\n    transition: transform 0.6s ease, opacity 0.6s ease;\n  }\n\n  .feature-box.visible {\n    transform: translateY(0);\n    opacity: 1;\n  }\n\n  .feature-icon {\n    font-size: 36px;\n    margin-bottom: 10px;\n    color: #3544D6;\n  }\n\n  .feature-title {\n    font-size: 18px;\n    font-weight: 800;\n    margin-bottom: 10px;\n    color: #102C53;\n  }\n\n  .feature-desc {\n    font-size: 14px;\n    color: #102C53;\n    line-height: 1.5;\n  }\n\n  @media (max-width: 600px) {\n    .feature-box {\n      width: 100%;\n    }\n  }\n<\/style>\n\n<!-- CONTENUTO -->\n<div class=\"features-row\">\n  <div class=\"feature-box\">\n    <div class=\"feature-icon\">\n      <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" id=\"search\" width=\"36\" height=\"36\">\n        <path fill=\"#3544D6\" d=\"M21.71,20.29,18,16.61A9,9,0,1,0,16.61,18l3.68,3.68a1,1,0,0,0,1.42,0A1,1,0,0,0,21.71,20.29ZM11,18a7,7,0,1,1,7-7A7,7,0,0,1,11,18Z\"\/>\n      <\/svg>\n    <\/div>\n    <div class=\"feature-title\">What does it analyze?<\/div>\n    <div class=\"feature-desc\">Research abstracts, course descriptions, teaching syllabi, excerpts from research projects, and much more.<\/div>\n  <\/div>\n  <div class=\"feature-box\">\n    <div class=\"feature-icon\">\n      <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" id=\"globe\" width=\"36\" height=\"36\">\n        <path fill=\"#3544D6\" d=\"M21.41,8.64s0,0,0-.05a10,10,0,0,0-18.78,0s0,0,0,.05a9.86,9.86,0,0,0,0,6.72s0,0,0,.05a10,10,0,0,0,18.78,0s0,0,0-.05a9.86,9.86,0,0,0,0-6.72ZM4.26,14a7.82,7.82,0,0,1,0-4H6.12a16.73,16.73,0,0,0,0,4Zm.82,2h1.4a12.15,12.15,0,0,0,1,2.57A8,8,0,0,1,5.08,16Zm1.4-8H5.08A8,8,0,0,1,7.45,5.43,12.15,12.15,0,0,0,6.48,8ZM11,19.7A6.34,6.34,0,0,1,8.57,16H11ZM11,14H8.14a14.36,14.36,0,0,1,0-4H11Zm0-6H8.57A6.34,6.34,0,0,1,11,4.3Zm7.92,0h-1.4a12.15,12.15,0,0,0-1-2.57A8,8,0,0,1,18.92,8ZM13,4.3A6.34,6.34,0,0,1,15.43,8H13Zm0,15.4V16h2.43A6.34,6.34,0,0,1,13,19.7ZM15.86,14H13V10h2.86a14.36,14.36,0,0,1,0,4Zm.69,4.57a12.15,12.15,0,0,0,1-2.57h1.4A8,8,0,0,1,16.55,18.57ZM19.74,14H17.88A16.16,16.16,0,0,0,18,12a16.28,16.28,0,0,0-.12-2h1.86a7.82,7.82,0,0,1,0,4Z\"\/>\n      <\/svg>\n    <\/div>\n    <div class=\"feature-title\">In which language?<\/div>\n    <div class=\"feature-desc\">While the best results are achieved with Italian and English, the Mapper is also capable of analyzing texts in other languages.<\/div>\n  <\/div>\n  <div class=\"feature-box\">\n    <div class=\"feature-icon\">\n      <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" id=\"edit\" width=\"36\" height=\"36\">\n        <path fill=\"#3544D6\" d=\"M21,12a1,1,0,0,0-1,1v6a1,1,0,0,1-1,1H5a1,1,0,0,1-1-1V5A1,1,0,0,1,5,4h6a1,1,0,0,0,0-2H5A3,3,0,0,0,2,5V19a3,3,0,0,0,3,3H19a3,3,0,0,0,3-3V13A1,1,0,0,0,21,12ZM6,12.76V17a1,1,0,0,0,1,1h4.24a1,1,0,0,0,.71-.29l6.92-6.93h0L21.71,8a1,1,0,0,0,0-1.42L17.47,2.29a1,1,0,0,0-1.42,0L13.23,5.12h0L6.29,12.05A1,1,0,0,0,6,12.76ZM16.76,4.41l2.83,2.83L18.17,8.66,15.34,5.83ZM8,13.17l5.93-5.93,2.83,2.83L10.83,16H8Z\"\/>\n      <\/svg>\n    <\/div>\n    <div class=\"feature-title\">How many characters?<\/div>\n    <div class=\"feature-desc\">For reliable results, the Mapper needs at least 150 characters \u2014 though texts of 400 characters or more provide the best outcomes.<\/div>\n  <\/div>\n<\/div>\n\n<!-- JS Animazione on scroll -->\n<script>\n  const boxes = document.querySelectorAll('.feature-box');\n\n  const observer = new IntersectionObserver((entries) => {\n    entries.forEach(entry => {\n      if (entry.isIntersecting) {\n        entry.target.classList.add('visible');\n        observer.unobserve(entry.target);\n      }\n    });\n  }, { threshold: 0.4 });\n\n  boxes.forEach(box => observer.observe(box));\n<\/script>\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-c328d28 e-con-full e-flex e-con e-parent\" data-id=\"c328d28\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-514a04e elementor-widget elementor-widget-html\" data-id=\"514a04e\" 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<!-- Font e Chart.js -->\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Manrope:wght@400;600;800&display=swap\" rel=\"stylesheet\">\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\r\n\r\n<style>\r\n  body {\r\n    margin: 0;\r\n    font-family: 'Manrope', sans-serif;\r\n    background-color: #FFFFFF;\r\n    color: #333;\r\n  }\r\n\r\n  .wrapper {\r\n    display: flex;\r\n    justify-content: center;\r\n    padding: 80px 20px;\r\n    background-color: #e6f0fa;\r\n    border-radius: 32px;\r\n    margin: 35px 150px;\r\n    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);\r\n    animation: fadeInWrapper 1s ease forwards;\r\n  }\r\n\r\n  @keyframes fadeInWrapper {\r\n    from { opacity: 0; transform: translateY(20px); }\r\n    to   { opacity: 1; transform: translateY(0); }\r\n  }\r\n\r\n  .card {\r\n    background-color: #fff;\r\n    border-radius: 24px;\r\n    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);\r\n    padding: 60px 70px;\r\n    max-width: 900px;\r\n    width: 100%;\r\n    animation: fadeInCard 0.8s ease forwards;\r\n  }\r\n\r\n  @keyframes fadeInCard {\r\n    from { opacity: 0; transform: translateY(20px); }\r\n    to   { opacity: 1; transform: translateY(0); }\r\n  }\r\n\r\n  .card:hover {\r\n    transform: translateY(-4px);\r\n    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);\r\n  }\r\n\r\n  .logo {\r\n    text-align: center;\r\n    margin-bottom: 35px;\r\n  }\r\n\r\n  .logo img {\r\n    max-height: 90px;\r\n  }\r\n\r\n  h1 {\r\n    font-size: 40px;\r\n    color: #003366;\r\n    text-align: center;\r\n    margin-bottom: 15px;\r\n    font-weight: 800;\r\n  }\r\n\r\n  .description {\r\n    text-align: center;\r\n    font-size: 20px;\r\n    color: #444;\r\n    margin-bottom: 40px;\r\n    line-height: 1.5;\r\n  }\r\n\r\n  textarea {\r\n    width: 100%;\r\n    height: 200px;\r\n    padding: 20px;\r\n    font-size: 17px;\r\n    border: 2px solid #ccc;\r\n    border-radius: 16px;\r\n    resize: vertical;\r\n    background-color: #f9fbfd;\r\n    font-family: 'Manrope', sans-serif;\r\n    line-height: 1.6;\r\n  }\r\n\r\n  textarea:focus {\r\n    border-color: #0055a5;\r\n    outline: none;\r\n    box-shadow: 0 0 0 4px rgba(0, 85, 165, 0.15);\r\n    background-color: white;\r\n  }\r\n\r\n  .buttons {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    gap: 30px;\r\n    margin-top: 30px;\r\n  }\r\n\r\n  button {\r\n    flex: 1;\r\n    padding: 18px;\r\n    font-size: 18px;\r\n    background: linear-gradient(90deg, #0055a5, #003366);\r\n    color: white;\r\n    border: none;\r\n    border-radius: 16px;\r\n    font-weight: 700;\r\n    cursor: pointer;\r\n    letter-spacing: 0.5px;\r\n    transition: background 0.3s ease, transform 0.2s ease;\r\n  }\r\n\r\n  button:hover {\r\n    background: linear-gradient(90deg, #003366, #002244);\r\n    transform: scale(1.02);\r\n  }\r\n\r\n  #risultato {\r\n    margin-top: 28px;\r\n    font-size: 18px;\r\n    text-align: center;\r\n    font-weight: 600;\r\n  }\r\n\r\n  #immaginiSDG {\r\n    margin-top: 30px;\r\n  }\r\n\r\n  .sdg-row {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    justify-content: center;\r\n    gap: 25px;\r\n    margin-bottom: 25px;\r\n  }\r\n\r\n  .sdg-row-large {\r\n    margin-bottom: 40px;\r\n  }\r\n\r\n  .sdg-row-small {\r\n    justify-content: center;\r\n    gap: 10px;\r\n  }\r\n\r\n  #graficoContainer {\r\n    margin-top: 50px;\r\n    text-align: center;\r\n    display: none;\r\n  }\r\n\r\n  #graficoSDG {\r\n    max-width: 360px;\r\n    margin: 0 auto;\r\n  }\r\n\r\n  #resetBtn {\r\n    display: none;\r\n  }\r\n\r\n  \/* FLIP CARD STYLES *\/\r\n  .flip-card {\r\n    background-color: transparent;\r\n    perspective: 1000px;\r\n  }\r\n\r\n  .flip-card.large {\r\n    width: 160px;\r\n    height: 160px;\r\n  }\r\n\r\n  .flip-card.small {\r\n    width: 70px;\r\n    height: 70px;\r\n  }\r\n\r\n  .flip-card-inner {\r\n    position: relative;\r\n    width: 100%;\r\n    height: 100%;\r\n    text-align: center;\r\n    transition: transform 0.6s;\r\n    transform-style: preserve-3d;\r\n    cursor: pointer;\r\n  }\r\n\r\n  .flip-card:hover .flip-card-inner {\r\n    transform: rotateY(180deg);\r\n  }\r\n\r\n  .flip-card-front,\r\n  .flip-card-back {\r\n    position: absolute;\r\n    width: 100%;\r\n    height: 100%;\r\n    border-radius: 10px;\r\n    backface-visibility: hidden;\r\n    overflow: hidden;\r\n    box-shadow: 0 4px 8px rgba(0,0,0,0.1);\r\n  }\r\n\r\n  .flip-card-front img {\r\n    width: 100%;\r\n    height: 100%;\r\n    object-fit: contain;\r\n  }\r\n\r\n  .flip-card-back {\r\n    background-color: #003366;\r\n    color: white;\r\n    transform: rotateY(180deg);\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    padding: 10px;\r\n    font-size: 14px;\r\n  }\r\n\r\n  .sdg-secondary-title {\r\n    margin-top: 10px;\r\n    margin-bottom: 15px;\r\n    font-size: 0.9em;\r\n    text-align: center;\r\n    color: rgba(16, 44, 83, 0.85); \/* #102C53 leggermente trasparente *\/\r\n    font-weight: 600;\r\n  }\r\n<\/style>\r\n\r\n<div class=\"wrapper\">\r\n  <div class=\"card\">\r\n    <div class=\"logo\">\r\n      <img decoding=\"async\" src=\"http:\/\/www.sdg.test.polimi.it\/wp-content\/uploads\/2025\/05\/logopolimi.jpg\" alt=\"Politecnico di Milano\">\r\n    <\/div>\r\n    <h1>Mapper SDG<\/h1>\r\n    <p class=\"description\">Enter or paste a descriptive text to find out which SDGs it relates to.<\/p>\r\n    <textarea id=\"inputTesto\" placeholder=\"Enter at least 150 characters of text for analysis..\"><\/textarea>\r\n\r\n    <div class=\"buttons\">\r\n      <button onclick=\"inviaTesto()\">Analyze the text<\/button>\r\n      <button id=\"resetBtn\" onclick=\"resetta()\">Reset<\/button>\r\n    <\/div>\r\n\r\n    <div id=\"risultato\"><\/div>\r\n    <div id=\"immaginiSDG\"><\/div>\r\n\r\n    <div id=\"graficoContainer\">\r\n      <canvas id=\"graficoSDG\"><\/canvas>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n\r\n  let chart;\r\n\r\n  console.log(\"Chiamate:\", dacnisChildData.numero_chiamate);\r\n  console.log(\"Risultati:\", dacnisChildData.numero_risultati);\r\n\r\n  \/\/ Inizializza i contatori leggendo dai dati passati da PHP tramite wp_localize_script\r\n  let numeroChiamate = parseInt(dacnisChildData.numero_chiamate) || 0;\r\n  let numeroRisultati = parseInt(dacnisChildData.numero_risultati) || 0;\r\n\r\n  \/\/ Quando il DOM \u00e8 pronto, mostra i contatori attuali\r\n  document.addEventListener(\"DOMContentLoaded\", () => {\r\n    document.getElementById(\"contatoreChiamate\").textContent = numeroChiamate;\r\n    document.getElementById(\"contatoreSDGTrovati\").textContent = numeroRisultati;\r\n  });\r\n\r\n  async function inviaTesto() {\r\n    const testo = document.getElementById(\"inputTesto\").value.trim();\r\n    const risultatoDiv = document.getElementById(\"risultato\");\r\n    const immaginiDiv = document.getElementById(\"immaginiSDG\");\r\n    const resetBtn = document.getElementById(\"resetBtn\");\r\n\r\n    \/\/ Incrementa contatore chiamate e aggiorna in pagina\r\n    numeroChiamate++;\r\n    document.getElementById(\"contatoreChiamate\").textContent = numeroChiamate;\r\n\r\n    \/\/ Invio aggiornamento al server per il contatore chiamate\r\n    fetch(dacnisChildData.ajax_url, {\r\n      method: 'POST',\r\n      headers: {\r\n        'Content-Type': 'application\/x-www-form-urlencoded'\r\n      },\r\n      body: new URLSearchParams({\r\n        action: 'dacnis_child_incrementa_contatori',\r\n        incremento_chiamate: 1,\r\n        incremento_risultati: 0\r\n      })\r\n    });\r\n\r\n    \/\/ Reset visuale risultati precedenti\r\n    immaginiDiv.innerHTML = `\r\n      <div class=\"sdg-row sdg-row-large\"><\/div>\r\n      <h3 class=\"sdg-secondary-title\" id=\"secondaryTitle\" style=\"display:none;\">Risultati secondari<\/h3>\r\n      <div class=\"sdg-row sdg-row-small\"><\/div>\r\n    `;\r\n    const rowLarge = immaginiDiv.querySelector('.sdg-row-large');\r\n    const rowSmall = immaginiDiv.querySelector('.sdg-row-small');\r\n    const secondaryTitle = document.getElementById(\"secondaryTitle\");\r\n\r\n    risultatoDiv.textContent = '';\r\n    resetBtn.style.display = 'none';\r\n\r\n    if (testo.length < 150) {\r\n      risultatoDiv.textContent = \"Enter at least 150 characters of text for analysis.\";\r\n      risultatoDiv.style.color = \"crimson\";\r\n      return;\r\n    }\r\n\r\n    risultatoDiv.textContent = \"Analisi in corso...\";\r\n    risultatoDiv.style.color = \"#333\";\r\n\r\n    try {\r\n      \/\/ Invio richiesta POST al server (ajax)\r\n      const response = await fetch(\"https:\/\/www.sdg-api.test.polimi.it\/elabora\", {\r\n        method: \"POST\",\r\n        headers: { \"Content-Type\": \"application\/json\" },\r\n        body: JSON.stringify({ testo })\r\n      });\r\n\r\n      const data = await response.json();\r\n\r\n      if (response.ok) {\r\n        const risultato = data.risultato;\r\n        risultatoDiv.textContent = \"Risultato:\";\r\n        risultatoDiv.style.color = \"darkblue\";\r\n        resetBtn.style.display = 'inline-block';\r\n\r\n        \/\/ Estraggo tutti i numeri SDG dal testo di risposta\r\n        let numeriSDG = (risultato.match(\/\\d+\/g) || []).map(Number);\r\n\r\n        \/\/ Tronco la lista a 6 elementi se pi\u00f9 lunga\r\n        if (numeriSDG.length > 6) {\r\n          numeriSDG = numeriSDG.slice(0, 6);\r\n        }\r\n\r\n        \/\/ Incremento contatore risultati totali e aggiorno in pagina\r\n        numeroRisultati += numeriSDG.length;\r\n        document.getElementById(\"contatoreSDGTrovati\").textContent = numeroRisultati;\r\n\r\n        \/\/ Invio aggiornamento al server per il contatore risultati\r\n        fetch(dacnisChildData.ajax_url, {\r\n          method: 'POST',\r\n          headers: {\r\n            'Content-Type': 'application\/x-www-form-urlencoded'\r\n          },\r\n          body: new URLSearchParams({\r\n            action: 'dacnis_child_incrementa_contatori',\r\n            incremento_chiamate: 0,\r\n            incremento_risultati: numeriSDG.length\r\n          })\r\n        });\r\n\r\n        \/\/ Conteggio frequenze SDG trovati\r\n        const counts = numeriSDG.reduce((acc, num) => {\r\n          acc[num] = (acc[num] || 0) + 1;\r\n          return acc;\r\n        }, {});\r\n\r\n        \/\/ Creo le flip card per gli SDG trovati\r\n        numeriSDG.forEach((num, index) => {\r\n          const flipCard = document.createElement('div');\r\n          flipCard.className = 'flip-card ' + (index < 3 ? 'large' : 'small');\r\n\r\n          const flipCardInner = document.createElement('div');\r\n          flipCardInner.className = 'flip-card-inner';\r\n\r\n          const front = document.createElement('div');\r\n          front.className = 'flip-card-front';\r\n          const img = document.createElement('img');\r\n          img.src = `http:\/\/www.sdg.test.polimi.it\/wp-content\/uploads\/2025\/06\/SDG${num}.webp`;\r\n          img.alt = `SDG ${num}`;\r\n          img.onerror = function () {\r\n            this.onerror = null;\r\n            this.src = `http:\/\/www.sdg.test.polimi.it\/wp-content\/uploads\/2025\/06\/SDG${num}.png`;\r\n          };\r\n          front.appendChild(img);\r\n\r\n          const back = document.createElement('div');\r\n          back.className = 'flip-card-back';\r\n          back.innerHTML = `Scopri di pi\u00f9`;\r\n          back.onclick = () => {\r\n            window.open(`https:\/\/sdgs.un.org\/goals\/goal${num}`, '_blank');\r\n          };\r\n\r\n          flipCardInner.appendChild(front);\r\n          flipCardInner.appendChild(back);\r\n          flipCard.appendChild(flipCardInner);\r\n\r\n          if (index < 3) {\r\n            rowLarge.appendChild(flipCard);\r\n          } else {\r\n            secondaryTitle.style.display = \"block\";\r\n            rowSmall.appendChild(flipCard);\r\n          }\r\n        });\r\n\r\n      } else {\r\n        risultatoDiv.textContent = \"Errore: \" + data.errore;\r\n        risultatoDiv.style.color = \"crimson\";\r\n      }\r\n\r\n    } catch (error) {\r\n      risultatoDiv.textContent = \"Errore di rete: \" + error.message;\r\n      risultatoDiv.style.color = \"crimson\";\r\n    }\r\n  }\r\n\r\n\r\n\r\n\r\n  function resetta() {\r\n    document.getElementById(\"inputTesto\").value = '';\r\n    document.getElementById(\"risultato\").textContent = '';\r\n    document.getElementById(\"immaginiSDG\").innerHTML = '';\r\n    if (chart) chart.destroy();\r\n    document.getElementById(\"graficoContainer\").style.display = 'none';\r\n    document.getElementById(\"resetBtn\").style.display = 'none';\r\n  }\r\n<\/script>\r\n\r\n\r\n\r\n<!-- SEZIONE BOX STATISTICHE -->\r\n\r\n<style>\r\n  body {\r\n    font-family: 'Manrope', sans-serif;\r\n    margin: 0;\r\n    background-color: #FFFFFF;\r\n  }\r\n\r\n  .stats-section {\r\n    max-width: 900px;\r\n    margin: 50px auto 20px;\r\n    padding: 0 20px;\r\n    display: flex;\r\n    justify-content: center;\r\n    gap: 40px;\r\n    flex-wrap: wrap;\r\n  }\r\n\r\n  .stat-card {\r\n    background: #f9f9f9;\r\n    border-radius: 16px;\r\n    box-shadow: 0 4px 12px rgba(0,0,0,0.08);\r\n    padding: 30px 20px;\r\n    text-align: center;\r\n    width: 260px;\r\n    transition: transform 0.3s ease;\r\n  }\r\n\r\n  .stat-card:hover {\r\n    transform: translateY(-5px);\r\n  }\r\n\r\n  .stat-number {\r\n    font-size: 38px;\r\n    font-weight: 800;\r\n    color: #3544d6;\r\n    margin-bottom: 10px;\r\n  }\r\n\r\n  .stat-label {\r\n    font-size: 16px;\r\n    font-weight: 600;\r\n    color: #333;\r\n  }\r\n\r\n  @media (max-width: 600px) {\r\n    .stat-card {\r\n      width: 100%;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n\r\n<div class=\"stats-section\">\r\n  <div class=\"stat-card\">\r\n    <div class=\"stat-number\" id=\"contatoreChiamate\">0<\/div>\r\n    <div class=\"stat-label\">Requests analyzed<\/div>\r\n  <\/div>\r\n  <div class=\"stat-card\">\r\n    <div class=\"stat-number\" id=\"contatoreSDGTrovati\">0<\/div>\r\n    <div class=\"stat-label\">Total SDGs returned<\/div>\r\n  <\/div>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0e28562 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"0e28562\" 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\"><div style=\"padding-top:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50)\"><h2><p>Frequently Asked Questions<\/p><\/h2>\n<!-- \/wp:heading -->\n\n<!-- wp:columns {\"style\":{\"spacing\":{\"blockGap\":{\"left\":\"var:preset|spacing|50\"}}}} -->\n<div><!-- wp:column -->\n<div><!-- wp:group {\"style\":{\"border\":{\"top\":{\"color\":\"var:preset|color|accent-6\",\"width\":\"1px\"}},\"spacing\":{\"padding\":{\"top\":\"var:preset|spacing|30\",\"bottom\":\"var:preset|spacing|30\"}}},\"layout\":{\"type\":\"default\"}} -->\n<div style=\"border-top-color:var(--wp--preset--color--accent-6);border-top-width:1px;padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30)\"><!-- wp:heading {\"level\":3} -->\n<h3>1. What type of text can I input into the tool?<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>You can paste any text of at least 150 characters, but at least 400 characters are recommended for optimal results. You can use the Mapper for a research abstract, a section of a paper, or a project proposal. The tool works best when the text is clear, descriptive, and coherent.<\/p><!-- \/wp:paragraph --><\/div>\n<!-- \/wp:group --><\/div>\n<!-- \/wp:column -->\n\n<!-- wp:column -->\n<div><!-- wp:group {\"style\":{\"border\":{\"top\":{\"color\":\"var:preset|color|accent-6\",\"width\":\"1px\"}},\"spacing\":{\"padding\":{\"top\":\"var:preset|spacing|30\",\"bottom\":\"var:preset|spacing|30\"}}},\"layout\":{\"type\":\"default\"}} -->\n<div style=\"border-top-color:var(--wp--preset--color--accent-6);border-top-width:1px;padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30)\"><!-- wp:heading {\"level\":3} -->\n<h3>2. How many Sustainable Development Goals can it detect?<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>The Mapper can identify one or more SDGs relevant to the text you provided by analyzing the terms, concepts, and language used. It returns up to 6 goals, distinguishing between those most relevant for the University and those of secondary relevance, with a maximum of 3 per category.<\/p><!-- \/wp:paragraph --><\/div>\n<!-- \/wp:group --><\/div>\n<!-- \/wp:column --><\/div>\n<!-- \/wp:columns -->\n\n<!-- wp:columns {\"style\":{\"spacing\":{\"blockGap\":{\"left\":\"var:preset|spacing|50\"}}}} -->\n<div><!-- wp:column -->\n<div><!-- wp:group {\"style\":{\"border\":{\"top\":{\"color\":\"var:preset|color|accent-6\",\"width\":\"1px\"}},\"spacing\":{\"padding\":{\"top\":\"var:preset|spacing|30\",\"bottom\":\"var:preset|spacing|30\"}}},\"layout\":{\"type\":\"default\"}} -->\n<div style=\"border-top-color:var(--wp--preset--color--accent-6);border-top-width:1px;padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30)\"><!-- wp:heading {\"level\":3} -->\n<h3>3. How reliable are the results?<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>Based on advanced language models and publicly available SDG data, the algorithm provides indicative results that are useful for preliminary analyses, self-assessment, or exploratory purposes. These results do not replace expert human judgment but can serve as a valuable complement.<\/p>\n<!-- \/wp:paragraph --><\/div>\n<!-- \/wp:group --><\/div>\n<!-- \/wp:column -->\n\n<!-- wp:column -->\n<div><!-- wp:group {\"style\":{\"border\":{\"top\":{\"color\":\"var:preset|color|accent-6\",\"width\":\"1px\"}},\"spacing\":{\"padding\":{\"top\":\"var:preset|spacing|30\",\"bottom\":\"var:preset|spacing|30\"}}},\"layout\":{\"type\":\"default\"}} -->\n<div style=\"border-top-color:var(--wp--preset--color--accent-6);border-top-width:1px;padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30)\"><!-- wp:heading {\"level\":3} -->\n<h3>4. Does the system support only Italian?<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>No, the Mapper is also able to process texts in other languages, although it is optimized for Italian and English.<\/p><!-- \/wp:paragraph --><\/div>\n<!-- \/wp:group --><\/div>\n<!-- \/wp:column --><\/div>\n<!-- \/wp:columns -->\n\n<!-- wp:column -->\n<div><!-- wp:group {\"style\":{\"border\":{\"top\":{\"color\":\"var:preset|color|accent-6\",\"width\":\"1px\"}},\"spacing\":{\"padding\":{\"top\":\"var:preset|spacing|30\",\"bottom\":\"var:preset|spacing|30\"}}},\"layout\":{\"type\":\"default\"}} -->\n<div style=\"border-top-color:var(--wp--preset--color--accent-6);border-top-width:1px;padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30)\"><!-- wp:heading {\"level\":3} -->\n<h3>5. What does the distinction between primary and secondary results mean?<\/h3><p>The Mapper is trained to perform at its best within the educational and research context of Politecnico di Milano. It therefore returns as primary results the SDGs most commonly found in those contexts. If the Mapper also detects less frequent SDGs, it lists them as secondary results.<\/p><\/div><\/div><\/div><\/div><\/h2>\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-bff50cb e-flex e-con-boxed e-con e-parent\" data-id=\"bff50cb\" 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-d0024c7 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"d0024c7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/sdgs.un.org\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">To learn more<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\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<div class=\"elementor-element elementor-element-966be24 elementor-widget elementor-widget-html\" data-id=\"966be24\" 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<section class=\"faq-section\">\n  <div class=\"faq-grid\">\n    <div class=\"faq-item\">\n      <h3 class=\"faq-question\">1. What kind of text can I input into the tool?<\/h3>\n      <p class=\"faq-answer\">\n        You can paste any text segment with at least 150 characters. For optimal results, provide at least 400 characters: abstracts, excerpts from publications, or project proposals. It works best with clear and coherent content.\n      <\/p>\n    <\/div>\n    <div class=\"faq-item\">\n      <h3 class=\"faq-question\">2. How many Sustainable Development Goals can it detect?<\/h3>\n      <p class=\"faq-answer\">\n        The system can identify one or more SDGs relevant to the text. It returns up to 3, prioritizing those most commonly found in academic teaching and research, based on concepts and language.\n      <\/p>\n    <\/div>\n    <div class=\"faq-item\">\n      <h3 class=\"faq-question\">3. How reliable are the results?<\/h3>\n      <p class=\"faq-answer\">\n        The results are generated by advanced language models and public data. They are indicative, useful for preliminary analysis and evaluation support, but do not replace expert judgment.\n      <\/p>\n    <\/div>\n    <div class=\"faq-item\">\n      <h3 class=\"faq-question\">4. Does the system support only Italian?<\/h3>\n      <p class=\"faq-answer\">\n        No. Italian and English are recommended for best results, but the mapper can also process texts in other languages.\n      <\/p>\n    <\/div>\n  <\/div>\n<\/section>\n\n<style>\n  .faq-section {\n    max-width: 1100px;\n    margin: 60px auto;\n    padding: 0 20px;\n    font-family: 'Manrope', sans-serif;\n  }\n\n  .faq-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(480px, 1fr));\n    gap: 40px 60px;\n  }\n\n  .faq-item {\n    background: #102C53;\n    border-radius: 16px;\n    padding: 30px;\n    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\n    transition: transform 0.3s ease;\n    color: #fff;\n  }\n\n  .faq-item:hover {\n    transform: translateY(-5px);\n  }\n\n  .faq-question {\n    font-size: 18px;\n    font-weight: 800;\n    margin-bottom: 10px;\n    color: #ffffff;\n  }\n\n  .faq-answer {\n    font-size: 14px;\n    color: #e0ecf4;\n    line-height: 1.5;\n  }\n\n  @media (max-width: 600px) {\n    .faq-grid {\n      grid-template-columns: 1fr;\n    }\n\n    .faq-question {\n      font-size: 17px;\n    }\n\n    .faq-answer {\n      font-size: 13.5px;\n    }\n  }\n<\/style>\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>Mapper SDG Create, explore, align and highlight the impact of your work What does it analyze? Research abstracts, course descriptions, teaching syllabi, excerpts from research projects, and much more. In which language? While the best results are achieved with Italian and English, the Mapper is also capable of analyzing texts in other languages. How many [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"saved_in_kubio":false,"footnotes":""},"class_list":["post-1101","page","type-page","status-publish","hentry"],"kubio_ai_page_context":{"short_desc":"","purpose":"general"},"_links":{"self":[{"href":"https:\/\/www.sdg.test.polimi.it\/en\/wp-json\/wp\/v2\/pages\/1101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sdg.test.polimi.it\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.sdg.test.polimi.it\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.sdg.test.polimi.it\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sdg.test.polimi.it\/en\/wp-json\/wp\/v2\/comments?post=1101"}],"version-history":[{"count":417,"href":"https:\/\/www.sdg.test.polimi.it\/en\/wp-json\/wp\/v2\/pages\/1101\/revisions"}],"predecessor-version":[{"id":3029,"href":"https:\/\/www.sdg.test.polimi.it\/en\/wp-json\/wp\/v2\/pages\/1101\/revisions\/3029"}],"wp:attachment":[{"href":"https:\/\/www.sdg.test.polimi.it\/en\/wp-json\/wp\/v2\/media?parent=1101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}