{"id":17,"date":"2025-06-03T16:59:51","date_gmt":"2025-06-03T16:59:51","guid":{"rendered":"http:\/\/codigoyconcreto.es\/?page_id=17"},"modified":"2025-06-03T17:00:25","modified_gmt":"2025-06-03T17:00:25","slug":"simulador-de-seleccion-de-materiales-sostenibles","status":"publish","type":"page","link":"https:\/\/codigoyconcreto.es\/index.php\/simulador-de-seleccion-de-materiales-sostenibles\/","title":{"rendered":"simulador de selecci\u00f3n de materiales sostenibles"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\"><strong>Simulador de selecci\u00f3n de materiales sostenibles<\/strong><\/h1>\n\n\n\n<!DOCTYPE html>\n<html lang=\"es\"><head>\n<meta charset=\"utf-8\"\/>\n<meta content=\"width=device-width, initial-scale=1.0\" name=\"viewport\"\/>\n<title>Simulador de Selecci\u00f3n de Materiales Sostenibles<\/title>\n<script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Roboto:wght@400;500;700&amp;display=swap\" rel=\"stylesheet\"\/>\n<link href=\"https:\/\/fonts.googleapis.com\/icon?family=Material+Icons\" rel=\"stylesheet\"\/>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\n<style>\n    body {\n      font-family: 'Roboto', sans-serif;\n    }\n    .material-icons {\n      font-family: 'Material Icons';\n      font-weight: normal;\n      font-style: normal;\n      font-size: 24px;display: inline-block;\n      line-height: 1;\n      text-transform: none;\n      letter-spacing: normal;\n      word-wrap: normal;\n      white-space: nowrap;\n      direction: ltr;-webkit-font-smoothing: antialiased;text-rendering: optimizeLegibility;-moz-osx-font-smoothing: grayscale;font-feature-settings: 'liga';\n    }\n    .chart-container {\n      position: relative;\n      height: 300px;\n      width: 100%;\n    }\n  <\/style>\n<\/head>\n<body class=\"bg-gray-100 text-gray-800\">\n<div class=\"container mx-auto p-4 md:p-8\">\n<header class=\"mb-8 text-center\">\n<h1 class=\"text-3xl md:text-4xl font-bold text-emerald-700\">Simulador de Selecci\u00f3n de Materiales Sostenibles<\/h1>\n<\/header>\n<div class=\"grid grid-cols-1 md:grid-cols-3 gap-8\">\n<div class=\"md:col-span-1 bg-white p-6 rounded-lg shadow-lg\">\n<h2 class=\"text-xl font-semibold mb-4 text-emerald-600\">Seleccionar Materiales<\/h2>\n<div class=\"mb-4\">\n<label class=\"block text-sm font-medium text-gray-700 mb-1\" for=\"material-select\">Materiales Predefinidos:<\/label>\n<select class=\"w-full p-2 border border-gray-300 rounded-md focus:ring-emerald-500 focus:border-emerald-500\" id=\"material-select\" name=\"material-select\">\n<option value=\"ladrillo\">Ladrillo<\/option>\n<option value=\"concreto\">Concreto<\/option>\n<option value=\"madera\">Madera<\/option>\n<option value=\"panel_sip\">Panel SIP<\/option>\n<\/select>\n<\/div>\n<button class=\"w-full bg-emerald-600 hover:bg-emerald-700 text-white font-semibold py-2 px-4 rounded-md flex items-center justify-center mb-4\" id=\"add-selected-material\">\n<span class=\"material-icons mr-2\">add_circle_outline<\/span> A\u00f1adir Material Seleccionado\n        <\/button>\n<hr class=\"my-6 border-gray-300\"\/>\n<h3 class=\"text-lg font-medium mb-3 text-gray-700\">A\u00f1adir Material Personalizado<\/h3>\n<div class=\"space-y-3\">\n<div>\n<label class=\"block text-sm font-medium text-gray-700\" for=\"custom-material-name\">Nombre del Material:<\/label>\n<input class=\"w-full p-2 border border-gray-300 rounded-md focus:ring-emerald-500 focus:border-emerald-500\" id=\"custom-material-name\" type=\"text\"\/>\n<\/div>\n<div>\n<label class=\"block text-sm font-medium text-gray-700\" for=\"custom-costo\">Costo Inicial (\u20ac\/m\u00b2):<\/label>\n<input class=\"w-full p-2 border border-gray-300 rounded-md focus:ring-emerald-500 focus:border-emerald-500\" id=\"custom-costo\" type=\"number\"\/>\n<\/div>\n<div>\n<label class=\"block text-sm font-medium text-gray-700\" for=\"custom-huella\">Huella de Carbono (kgCO2e\/m\u00b2):<\/label>\n<input class=\"w-full p-2 border border-gray-300 rounded-md focus:ring-emerald-500 focus:border-emerald-500\" id=\"custom-huella\" type=\"number\"\/>\n<\/div>\n<div>\n<label class=\"block text-sm font-medium text-gray-700\" for=\"custom-eficiencia\">Eficiencia T\u00e9rmica (R-value):<\/label>\n<input class=\"w-full p-2 border border-gray-300 rounded-md focus:ring-emerald-500 focus:border-emerald-500\" id=\"custom-eficiencia\" type=\"number\"\/>\n<\/div>\n<div>\n<label class=\"block text-sm font-medium text-gray-700\" for=\"custom-certificaciones\">Certificaciones Ambientales (opcional):<\/label>\n<input class=\"w-full p-2 border border-gray-300 rounded-md focus:ring-emerald-500 focus:border-emerald-500\" id=\"custom-certificaciones\" placeholder=\"Ej: FSC, LEED\" type=\"text\"\/>\n<\/div>\n<div>\n<label class=\"block text-sm font-medium text-gray-700\" for=\"custom-reciclado\">Porcentaje de Contenido Reciclado (%) (opcional):<\/label>\n<input class=\"w-full p-2 border border-gray-300 rounded-md focus:ring-emerald-500 focus:border-emerald-500\" id=\"custom-reciclado\" type=\"number\"\/>\n<\/div>\n<button class=\"w-full bg-blue-600 hover:bg-blue-700 text-white font-semibold py-2 px-4 rounded-md flex items-center justify-center\" id=\"add-custom-material\">\n<span class=\"material-icons mr-2\">add<\/span> A\u00f1adir Material Personalizado\n          <\/button>\n<\/div>\n<\/div>\n<div class=\"md:col-span-2 bg-white p-6 rounded-lg shadow-lg\">\n<h2 class=\"text-xl font-semibold mb-4 text-emerald-600\">Comparativa de Materiales<\/h2>\n<div class=\"mb-6\">\n<label class=\"block text-sm font-medium text-gray-700 mb-1\" for=\"primary-criterion\">Criterio Principal para Recomendaci\u00f3n:<\/label>\n<select class=\"w-full md:w-1\/2 p-2 border border-gray-300 rounded-md focus:ring-emerald-500 focus:border-emerald-500\" id=\"primary-criterion\" name=\"primary-criterion\">\n<option value=\"costo\">Costo Inicial<\/option>\n<option value=\"huella\">Huella de Carbono<\/option>\n<option value=\"eficiencia\">Eficiencia T\u00e9rmica<\/option>\n<\/select>\n<\/div>\n<div class=\"overflow-x-auto mb-8\" id=\"comparison-table-container\">\n<table class=\"min-w-full divide-y divide-gray-200\">\n<thead class=\"bg-gray-50\">\n<tr>\n<th class=\"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider\">Material<\/th>\n<th class=\"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider\">Costo (\u20ac\/m\u00b2)<\/th>\n<th class=\"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider\">Huella (kgCO2e\/m\u00b2)<\/th>\n<th class=\"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider\">Eficiencia (R)<\/th>\n<th class=\"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider\">Certificaciones<\/th>\n<th class=\"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider\">% Reciclado<\/th>\n<th class=\"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider\">Acciones<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"bg-white divide-y divide-gray-200\" id=\"comparison-table-body\">\n<\/tbody>\n<\/table>\n<p class=\"text-gray-500 mt-4\" id=\"no-materials-message\">A\u00fan no se han a\u00f1adido materiales para comparar.<\/p>\n<\/div>\n<div class=\"grid grid-cols-1 lg:grid-cols-2 gap-6 mb-8\">\n<div class=\"chart-container\">\n<canvas id=\"barChart\"><\/canvas>\n<\/div>\n<div class=\"chart-container\">\n<canvas id=\"radarChart\"><\/canvas>\n<\/div>\n<\/div>\n<div class=\"bg-emerald-50 p-6 rounded-lg hidden\" id=\"recommendation-section\">\n<h3 class=\"text-lg font-semibold text-emerald-700 mb-2\">Material Recomendado<\/h3>\n<p class=\"text-xl font-bold text-emerald-600 mb-2\" id=\"recommended-material-name\"><\/p>\n<p class=\"text-gray-700\" id=\"recommendation-reason\"><\/p>\n<\/div>\n<div class=\"mt-8 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4\">\n<button class=\"bg-green-600 hover:bg-green-700 text-white font-semibold py-2 px-4 rounded-md flex items-center justify-center\" id=\"download-results\">\n<span class=\"material-icons mr-2\">download<\/span> Descargar Resultados\n          <\/button>\n<button class=\"bg-blue-500 hover:bg-blue-600 text-white font-semibold py-2 px-4 rounded-md flex items-center justify-center\" id=\"share-results\">\n<span class=\"material-icons mr-2\">share<\/span> Compartir Resultados\n          <\/button>\n<\/div>\n<\/div>\n<\/div>\n<footer class=\"mt-12 pt-8 border-t border-gray-300\">\n<div class=\"flex flex-col md:flex-row justify-between items-center\">\n<button class=\"bg-gray-500 hover:bg-gray-600 text-white font-semibold py-2 px-4 rounded-md mb-4 md:mb-0 flex items-center\" id=\"return-dashboard\">\n<span class=\"material-icons mr-2\">arrow_back<\/span> Volver al Dashboard\n        <\/button>\n<div class=\"text-sm text-gray-600 text-center md:text-right\" id=\"help-section\">\n<h4 class=\"font-semibold mb-1 text-gray-700\">Ayuda R\u00e1pida:<\/h4>\n<ul class=\"list-disc list-inside pl-4 md:pl-0\">\n<li>A\u00f1ada materiales desde la lista o cree uno personalizado.<\/li>\n<li>Seleccione un criterio principal para la recomendaci\u00f3n.<\/li>\n<li>Compare visualmente los materiales en la tabla y gr\u00e1ficos.<\/li>\n<li>La recomendaci\u00f3n se actualizar\u00e1 autom\u00e1ticamente.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/footer>\n<\/div>\n<script>\n    const predefinedMaterialsData = {\n      ladrillo: { name: \"Ladrillo\", costo: 50, huella: 200, eficiencia: 0.8, certificaciones: \"ISO 14001\", reciclado: 10, ficha: \"https:\/\/example.com\/ladrillo.pdf\" },\n      concreto: { name: \"Concreto\", costo: 70, huella: 300, eficiencia: 0.5, certificaciones: \"LEED\", reciclado: 5, ficha: \"https:\/\/example.com\/concreto.pdf\" },\n      madera: { name: \"Madera\", costo: 90, huella: 50, eficiencia: 1.2, certificaciones: \"FSC\", reciclado: 80, ficha: \"https:\/\/example.com\/madera.pdf\" },\n      panel_sip: { name: \"Panel SIP\", costo: 120, huella: 150, eficiencia: 2.5, certificaciones: \"Passivhaus\", reciclado: 30, ficha: \"https:\/\/example.com\/panelsip.pdf\" },\n    };\n    let comparedMaterials = [];\n    let barChartInstance = null;\n    let radarChartInstance = null;\n    const materialSelect = document.getElementById('material-select');\n    const addSelectedMaterialBtn = document.getElementById('add-selected-material');\n    const addCustomMaterialBtn = document.getElementById('add-custom-material');\n    const comparisonTableBody = document.getElementById('comparison-table-body');\n    const primaryCriterionSelect = document.getElementById('primary-criterion');\n    const recommendationSection = document.getElementById('recommendation-section');\n    const recommendedMaterialName = document.getElementById('recommended-material-name');\n    const recommendationReason = document.getElementById('recommendation-reason');\n    const noMaterialsMessage = document.getElementById('no-materials-message');\n    function renderTable() {\n      comparisonTableBody.innerHTML = '';\n      if (comparedMaterials.length === 0) {\n        noMaterialsMessage.classList.remove('hidden');\n        comparisonTableBody.innerHTML = '<tr><td colspan=\"7\" class=\"px-4 py-3 text-center text-gray-500\">A\u00fan no se han a\u00f1adido materiales para comparar.<\/td><\/tr>';\n        return;\n      }\n      noMaterialsMessage.classList.add('hidden');\n      comparedMaterials.forEach((material, index) => {\n        const row = comparisonTableBody.insertRow();\n        row.innerHTML = `\n          <td class=\"px-4 py-3 whitespace-nowrap text-sm font-medium text-gray-900\">${material.name}<\/td>\n          <td class=\"px-4 py-3 whitespace-nowrap text-sm text-gray-500\">${material.costo}<\/td>\n          <td class=\"px-4 py-3 whitespace-nowrap text-sm text-gray-500\">${material.huella}<\/td>\n          <td class=\"px-4 py-3 whitespace-nowrap text-sm text-gray-500\">${material.eficiencia}<\/td>\n          <td class=\"px-4 py-3 whitespace-nowrap text-sm text-gray-500\">${material.certificaciones || '-'}<\/td>\n          <td class=\"px-4 py-3 whitespace-nowrap text-sm text-gray-500\">${material.reciclado !== undefined ? material.reciclado + '%' : '-'}<\/td>\n          <td class=\"px-4 py-3 whitespace-nowrap text-sm font-medium\">\n            <a href=\"${material.ficha || '#'}\" target=\"_blank\" class=\"text-blue-600 hover:text-blue-800 mr-2\" title=\"Ficha T\u00e9cnica\"><span class=\"material-icons text-base align-middle\">article<\/span><\/a>\n            <button onclick=\"removeMaterial(${index})\" class=\"text-red-600 hover:text-red-800\" title=\"Eliminar\"><span class=\"material-icons text-base align-middle\">delete<\/span><\/button>\n          <\/td>\n        `;\n      });\n    }\n    function updateCharts() {\n      const labels = comparedMaterials.map(m => m.name);\n      const costoData = comparedMaterials.map(m => m.costo);\n      const huellaData = comparedMaterials.map(m => m.huella);\n      const eficienciaData = comparedMaterials.map(m => m.eficiencia);\n      \/\/ Bar Chart\n      if (barChartInstance) {\n        barChartInstance.destroy();\n      }\n      const barCtx = document.getElementById('barChart').getContext('2d');\n      barChartInstance = new Chart(barCtx, {\n        type: 'bar',\n        data: {\n          labels: labels,\n          datasets: [\n            { label: 'Costo Inicial (\u20ac\/m\u00b2)', data: costoData, backgroundColor: 'rgba(75, 192, 192, 0.6)', borderColor: 'rgba(75, 192, 192, 1)', borderWidth: 1 },\n            { label: 'Huella de Carbono (kgCO2e\/m\u00b2)', data: huellaData, backgroundColor: 'rgba(255, 159, 64, 0.6)', borderColor: 'rgba(255, 159, 64, 1)', borderWidth: 1 },\n            { label: 'Eficiencia T\u00e9rmica (R-value)', data: eficienciaData, backgroundColor: 'rgba(54, 162, 235, 0.6)', borderColor: 'rgba(54, 162, 235, 1)', borderWidth: 1 }\n          ]\n        },\n        options: {\n          responsive: true,\n          maintainAspectRatio: false,\n          scales: { y: { beginAtZero: true } },\n          plugins: { legend: { position: 'top' }, title: { display: true, text: 'Comparativa General' } }\n        }\n      });\n      \/\/ Radar Chart\n      if (radarChartInstance) {\n        radarChartInstance.destroy();\n      }\n      const radarCtx = document.getElementById('radarChart').getContext('2d');\n      radarChartInstance = new Chart(radarCtx, {\n        type: 'radar',\n        data: {\n          labels: ['Costo', 'Huella de Carbono', 'Eficiencia T\u00e9rmica'],\n          datasets: comparedMaterials.map((m, i) => ({\n            label: m.name,\n            data: [m.costo, m.huella, m.eficiencia], \/\/ Consider normalizing these values for better radar chart visualization\n            backgroundColor: `rgba(${i * 60 % 255}, ${i * 100 % 255}, ${i * 30 % 255}, 0.2)`,\n            borderColor: `rgb(${i * 60 % 255}, ${i * 100 % 255}, ${i * 30 % 255})`,\n            pointBackgroundColor: `rgb(${i * 60 % 255}, ${i * 100 % 255}, ${i * 30 % 255})`,\n            pointBorderColor: '#fff',\n            pointHoverBackgroundColor: '#fff',\n            pointHoverBorderColor: `rgb(${i * 60 % 255}, ${i * 100 % 255}, ${i * 30 % 255})`\n          }))\n        },\n        options: {\n          responsive: true,\n          maintainAspectRatio: false,\n          elements: { line: { borderWidth: 2 } },\n          plugins: { legend: { position: 'top' }, title: { display: true, text: 'Perfil de Sostenibilidad' } },\n          scales: {\n            r: {\n              angleLines: { display: false },\n              suggestedMin: 0\n              \/\/ It might be necessary to adjust ticks for each axis if values vary greatly\n            }\n          }\n        }\n      });\n    }\n    function getRecommendation() {\n      if (comparedMaterials.length === 0) {\n        recommendationSection.classList.add('hidden');\n        return;\n      }\n      const criterion = primaryCriterionSelect.value;\n      let bestMaterial;\n      let reason = \"\";\n      if (criterion === 'costo') {\n        bestMaterial = comparedMaterials.reduce((prev, curr) => (prev.costo < curr.costo ? prev : curr));\n        reason = `Tiene el menor costo inicial (\u20ac${bestMaterial.costo}\/m\u00b2).`;\n      } else if (criterion === 'huella') {\n        bestMaterial = comparedMaterials.reduce((prev, curr) => (prev.huella < curr.huella ? prev : curr));\n        reason = `Tiene la menor huella de carbono (${bestMaterial.huella} kgCO2e\/m\u00b2).`;\n      } else { \/\/ eficiencia\n        bestMaterial = comparedMaterials.reduce((prev, curr) => (prev.eficiencia > curr.eficiencia ? prev : curr));\n        reason = `Ofrece la mayor eficiencia t\u00e9rmica (R-value ${bestMaterial.eficiencia}).`;\n      }\n      recommendedMaterialName.textContent = bestMaterial.name;\n      recommendationReason.textContent = `Se recomienda ${bestMaterial.name} porque ${reason}`;\n      recommendationSection.classList.remove('hidden');\n    }\n    function updateAll() {\n      renderTable();\n      if (comparedMaterials.length > 0) {\n          updateCharts();\n      } else {\n          if(barChartInstance) barChartInstance.destroy();\n          if(radarChartInstance) radarChartInstance.destroy();\n          document.getElementById('barChart').getContext('2d').clearRect(0,0, document.getElementById('barChart').width, document.getElementById('barChart').height);\n          document.getElementById('radarChart').getContext('2d').clearRect(0,0, document.getElementById('radarChart').width, document.getElementById('radarChart').height);\n      }\n      getRecommendation();\n    }\n    addSelectedMaterialBtn.addEventListener('click', () => {\n      const selectedValue = materialSelect.value;\n      if (predefinedMaterialsData[selectedValue]) {\n        if (!comparedMaterials.find(m => m.name === predefinedMaterialsData[selectedValue].name)) {\n          comparedMaterials.push({ ...predefinedMaterialsData[selectedValue] });\n          updateAll();\n        } else {\n          alert('Este material ya ha sido a\u00f1adido.');\n        }\n      }\n    });\n    addCustomMaterialBtn.addEventListener('click', () => {\n      const name = document.getElementById('custom-material-name').value.trim();\n      const costo = parseFloat(document.getElementById('custom-costo').value);\n      const huella = parseFloat(document.getElementById('custom-huella').value);\n      const eficiencia = parseFloat(document.getElementById('custom-eficiencia').value);\n      const certificaciones = document.getElementById('custom-certificaciones').value.trim();\n      const reciclado = parseFloat(document.getElementById('custom-reciclado').value);\n      if (!name || isNaN(costo) || isNaN(huella) || isNaN(eficiencia)) {\n        alert('Por favor, complete los campos obligatorios del material personalizado (Nombre, Costo, Huella, Eficiencia).');\n        return;\n      }\n      if (comparedMaterials.find(m => m.name.toLowerCase() === name.toLowerCase())) {\n          alert('Ya existe un material con este nombre.');\n          return;\n      }\n      comparedMaterials.push({\n        name,\n        costo,\n        huella,\n        eficiencia,\n        certificaciones: certificaciones || undefined,\n        reciclado: !isNaN(reciclado) ? reciclado : undefined,\n        ficha: '#' \/\/ Placeholder for custom material data sheet link\n      });\n      \/\/ Clear custom material form\n      document.getElementById('custom-material-name').value = '';\n      document.getElementById('custom-costo').value = '';\n      document.getElementById('custom-huella').value = '';\n      document.getElementById('custom-eficiencia').value = '';\n      document.getElementById('custom-certificaciones').value = '';\n      document.getElementById('custom-reciclado').value = '';\n      updateAll();\n    });\n    primaryCriterionSelect.addEventListener('change', getRecommendation);\n    window.removeMaterial = (index) => {\n      comparedMaterials.splice(index, 1);\n      updateAll();\n    };\n    document.getElementById('download-results').addEventListener('click', () => {\n        alert('Funci\u00f3n \"Descargar Resultados\" pendiente de implementaci\u00f3n. Se podr\u00eda generar un PDF o imagen.');\n    });\n    document.getElementById('share-results').addEventListener('click', () => {\n        alert('Funci\u00f3n \"Compartir Resultados\" pendiente de implementaci\u00f3n. Se podr\u00eda generar un enlace \u00fanico.');\n    });\n    document.getElementById('return-dashboard').addEventListener('click', () => {\n        alert('Volviendo al Dashboard (simulaci\u00f3n).');\n        \/\/ window.location.href = '\/dashboard.html'; \/\/ Example redirect\n    });\n    \/\/ Initial render\n    updateAll();\n  <\/script>\n\n<\/body><\/html>\n","protected":false},"excerpt":{"rendered":"<p>Simulador de selecci\u00f3n de materiales sostenibles Simulador de Selecci\u00f3n de Materiales Sostenibles Simulador de Selecci\u00f3n de Materiales Sostenibles Seleccionar Materiales [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":19,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-17","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/codigoyconcreto.es\/index.php\/wp-json\/wp\/v2\/pages\/17","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codigoyconcreto.es\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/codigoyconcreto.es\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/codigoyconcreto.es\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codigoyconcreto.es\/index.php\/wp-json\/wp\/v2\/comments?post=17"}],"version-history":[{"count":1,"href":"https:\/\/codigoyconcreto.es\/index.php\/wp-json\/wp\/v2\/pages\/17\/revisions"}],"predecessor-version":[{"id":18,"href":"https:\/\/codigoyconcreto.es\/index.php\/wp-json\/wp\/v2\/pages\/17\/revisions\/18"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/codigoyconcreto.es\/index.php\/wp-json\/wp\/v2\/media\/19"}],"wp:attachment":[{"href":"https:\/\/codigoyconcreto.es\/index.php\/wp-json\/wp\/v2\/media?parent=17"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}