{"id":193,"date":"2026-06-02T21:10:00","date_gmt":"2026-06-02T21:10:00","guid":{"rendered":"https:\/\/citlaltepetl.gob.mx\/portal\/?p=193"},"modified":"2026-06-02T21:11:33","modified_gmt":"2026-06-02T21:11:33","slug":"obra-publica","status":"publish","type":"post","link":"https:\/\/citlaltepetl.gob.mx\/portal\/obra-publica\/","title":{"rendered":"9.OBRA PUBLICA"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"193\" class=\"elementor elementor-193\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-091d440 e-flex e-con-boxed e-con e-parent\" data-id=\"091d440\" 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-b046b37 elementor-widget elementor-widget-heading\" data-id=\"b046b37\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Informaci\u00f3n financiera que se\u00f1ala la LGCG<\/h3>\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-4ffc9d8 e-con e-atomic-element e-flexbox-base e-f394923 \" data-id=\"4ffc9d8\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"4ffc9d8\" data-e-type=\"e-flexbox\" data-id=\"4ffc9d8\">\n    \t\t<div class=\"elementor-element elementor-element-22fdc23 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"22fdc23\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Art\u00edculo 56.- La generaci\u00f3n y publicaci\u00f3n de la informaci\u00f3n financiera de los entes p\u00fablicos a que se refiere este T\u00edtulo, se har\u00e1 conforme a las normas, estructura, formatos y contenido de la informaci\u00f3n, que para tal efecto establezca el consejo y difundirse en la p\u00e1gina de Internet del respectivo ente p\u00fablico. Dicha informaci\u00f3n podr\u00e1 complementar la que otros ordenamientos jur\u00eddicos aplicables ya disponen en este \u00e1mbito para presentarse en informes peri\u00f3dicos y en las cuentas p\u00fablicas. Asimismo, la informaci\u00f3n se difundir\u00e1 en los medios oficiales de difusi\u00f3n en t\u00e9rminos de las disposiciones aplicables.<br \/>Art\u00edculo.76.- Los municipios, las demarcaciones territoriales de la Ciudad de M\u00e9xico y en su caso, las entidades federativas, previo convenio de colaboraci\u00f3n administrativa, difundir\u00e1n en internet la informaci\u00f3n relativa al Fondo de Aportaciones para el fortalecimiento C\u00f3mo se pronuncia de los municipios y de las demarcaciones territoriales de la Ciudad de M\u00e9xico, especificando cada uno de los destinos se\u00f1alados para dicho fondo en la Ley de Coordinaci\u00f3n Fiscal.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-3843236 e-flex e-con-boxed e-con e-parent\" data-id=\"3843236\" 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-d0903cc elementor-widget elementor-widget-shortcode\" data-id=\"d0903cc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><!-- FONT AWESOME -->\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.0\/css\/all.min.css\">\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/PapaParse\/5.4.1\/papaparse.min.js\"><\/script>\r\n\r\n<style>\r\n:root{\r\n  --primary:#6D2140;\r\n  --primary-dark:#4A1128;\r\n  --secondary:#B08D57;\r\n  --accent:#A61E4D;\r\n  --bg:#f5f6f8;\r\n  --white:#ffffff;\r\n  --text:#2c2c2c;\r\n  --border:#e6e8ec;\r\n  --success:#2E7D32;\r\n  --danger:#C62828;\r\n  --gray:#9e9e9e;\r\n}\r\n\r\n#obras{\r\n  width:100%;\r\n  max-width:100%;\r\n  margin:0;\r\n  padding:20px 0;\r\n  background:\r\n  linear-gradient(\r\n  180deg,\r\n  #fafbfc 0%,\r\n  #f5f6f8 100%);\r\n}\r\n\r\n#obras h2{\r\n  text-align:center;\r\n  font-size:34px;\r\n  font-weight:800;\r\n  color:var(--primary);\r\n  margin-bottom:35px;\r\n  position:relative;\r\n  letter-spacing:.5px;\r\n}\r\n\r\n#obras h2::after{\r\n  content:'';\r\n  display:block;\r\n  width:120px;\r\n  height:5px;\r\n  border-radius:20px;\r\n  margin:12px auto 0;\r\n  background:\r\n  linear-gradient(\r\n  90deg,\r\n  var(--secondary),\r\n  var(--accent));\r\n}\r\n\r\n.bloque{\r\n  width:100%;\r\n  margin:0 0 18px;\r\n  border:none;\r\n  border-radius:18px;\r\n  overflow:hidden;\r\n  background:\r\n  rgba(255,255,255,.95);\r\n  backdrop-filter:blur(12px);\r\n  box-shadow:\r\n  0 8px 25px rgba(0,0,0,.08);\r\n  transition:.35s ease;\r\n}\r\n\r\n.bloque:hover{\r\n  transform:translateY(-3px);\r\n  box-shadow:\r\n  0 15px 35px rgba(0,0,0,.12);\r\n}\r\n\r\n.accordion{\r\n  width:100%;\r\n  border:none;\r\n  cursor:pointer;\r\n  padding:18px 24px;\r\n  text-align:left;\r\n  color:#fff;\r\n  font-size:17px;\r\n  font-weight:700;\r\n  background:\r\n  linear-gradient(\r\n  135deg,\r\n  var(--primary),\r\n  var(--primary-dark));\r\n  transition:.35s ease;\r\n}\r\n\r\n.accordion:hover{\r\n  background:\r\n  linear-gradient(\r\n  135deg,\r\n  var(--accent),\r\n  var(--primary));\r\n}\r\n\r\n.panel{\r\n  overflow:hidden;\r\n  max-height:0;\r\n  transition:max-height .45s ease;\r\n  background:#fff;\r\n}\r\n\r\n.tipo{\r\n  margin:18px;\r\n  padding:18px;\r\n  border-radius:14px;\r\n  border-left:5px solid var(--secondary);\r\n  background:\r\n  linear-gradient(\r\n  135deg,\r\n  #ffffff,\r\n  #faf8f4);\r\n  box-shadow:\r\n  0 4px 12px rgba(0,0,0,.05);\r\n}\r\n\r\n.tipo strong{\r\n  display:block;\r\n  font-size:17px;\r\n  color:var(--primary);\r\n  margin-bottom:12px;\r\n}\r\n\r\n.doc{\r\n  display:flex;\r\n  justify-content:space-between;\r\n  align-items:center;\r\n  gap:15px;\r\n  padding:12px 0;\r\n  border-bottom:1px solid var(--border);\r\n}\r\n\r\n.doc:last-child{\r\n  border-bottom:none;\r\n}\r\n\r\n.doc > div:first-child{\r\n  flex:1;\r\n  color:var(--text);\r\n  font-size:14px;\r\n  font-weight:500;\r\n}\r\n\r\n.doc > div:last-child{\r\n  display:flex;\r\n  align-items:center;\r\n  gap:10px;\r\n}\r\n\r\n.estado{\r\n  padding:6px 12px;\r\n  border-radius:30px;\r\n  color:#fff;\r\n  font-size:12px;\r\n  font-weight:600;\r\n  white-space:nowrap;\r\n}\r\n\r\n.ok{\r\n  background:var(--success);\r\n}\r\n\r\n.no{\r\n  background:var(--danger);\r\n}\r\n\r\n.btn{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  min-width:85px;\r\n  height:36px;\r\n  border-radius:10px;\r\n  text-decoration:none;\r\n  color:#fff;\r\n  font-size:13px;\r\n  font-weight:600;\r\n  background:\r\n  linear-gradient(\r\n  135deg,\r\n  #C62828,\r\n  #8E0000);\r\n  transition:.3s ease;\r\n}\r\n\r\n.btn:hover{\r\n  background:\r\n  linear-gradient(\r\n  135deg,\r\n  var(--primary),\r\n  var(--accent));\r\n  transform:translateY(-2px);\r\n}\r\n\r\n.disabled{\r\n  background:var(--gray) !important;\r\n  pointer-events:none;\r\n}\r\n\r\n@media(max-width:1024px){\r\n\r\n  #obras h2{\r\n    font-size:28px;\r\n  }\r\n\r\n  .accordion{\r\n    font-size:15px;\r\n    padding:16px 20px;\r\n  }\r\n}\r\n\r\n@media(max-width:768px){\r\n\r\n  #obras{\r\n    padding:10px 0;\r\n  }\r\n\r\n  #obras h2{\r\n    font-size:24px;\r\n  }\r\n\r\n  .tipo{\r\n    margin:12px;\r\n    padding:14px;\r\n  }\r\n\r\n  .doc{\r\n    flex-direction:column;\r\n    align-items:flex-start;\r\n  }\r\n\r\n  .doc > div:last-child{\r\n    width:100%;\r\n    display:flex;\r\n    justify-content:space-between;\r\n    align-items:center;\r\n  }\r\n\r\n  .estado{\r\n    font-size:11px;\r\n  }\r\n\r\n  .btn{\r\n    min-width:75px;\r\n    height:32px;\r\n    font-size:12px;\r\n  }\r\n}\r\n\r\n@media(max-width:480px){\r\n\r\n  #obras h2{\r\n    font-size:20px;\r\n  }\r\n\r\n  .accordion{\r\n    font-size:13px;\r\n    padding:14px;\r\n  }\r\n\r\n  .tipo{\r\n    margin:10px;\r\n    padding:12px;\r\n  }\r\n\r\n  .doc > div:first-child{\r\n    font-size:12px;\r\n  }\r\n\r\n  .btn{\r\n    min-width:68px;\r\n    height:30px;\r\n    font-size:11px;\r\n  }\r\n\r\n  .estado{\r\n    font-size:10px;\r\n    padding:5px 10px;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<div id=\"obras\">\r\n  <h2>Obras<\/h2>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n\r\nconst url = \"https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vTA3vOt9YbB7bZaqhH-S0-0UUg30voImCTPblNsPXtCD0qsBsEG5rVwyLbO6dTqDg\/pub?output=csv\";\r\n\r\nasync function cargar(){\r\n\r\n  const res = await fetch(url);\r\n  const text = await res.text();\r\n  const data = Papa.parse(text,{header:true}).data;\r\n\r\n  const limpio = data.filter(r => r.A\u00f1o && r.Tipo && r.Periodo);\r\n\r\n  const estructura = {};\r\n\r\n  limpio.forEach(r=>{\r\n    const a\u00f1o = r.A\u00f1o;\r\n    const tipo = r.Tipo;\r\n    const periodo = r.Periodo.toUpperCase();\r\n\r\n    if(!estructura[a\u00f1o]) estructura[a\u00f1o]={};\r\n    if(!estructura[a\u00f1o][tipo]) estructura[a\u00f1o][tipo]={ANUAL:null, TRIM:[]};\r\n\r\n    if(periodo === \"ANUAL\"){\r\n      estructura[a\u00f1o][tipo].ANUAL = r;\r\n    }else{\r\n      estructura[a\u00f1o][tipo].TRIM.push(r);\r\n    }\r\n  });\r\n\r\n  const cont = document.getElementById(\"obras\");\r\n\r\n  Object.keys(estructura).sort((a,b)=>b-a).forEach(a\u00f1o=>{\r\n\r\n    let html = \"\";\r\n\r\n    Object.keys(estructura[a\u00f1o]).forEach(tipo=>{\r\n\r\n      const bloque = estructura[a\u00f1o][tipo];\r\n\r\n      html += `<div class=\"tipo\"><strong>${tipo}<\/strong>`;\r\n\r\n      if(bloque.ANUAL){\r\n        const ok = bloque.ANUAL.Archivo;\r\n\r\n        html += `\r\n        <div class=\"doc\">\r\n          <div>Anual: ${bloque.ANUAL.Nombre}<\/div>\r\n          <div>\r\n            <span class=\"estado ${ok?'ok':'no'}\">${ok?'Disponible':'No disponible'}<\/span>\r\n            <a href=\"${ok?bloque.ANUAL.Archivo:'#'}\" target=\"_blank\"\r\n              class=\"btn ${!ok?'disabled':''}\">Ver<\/a>\r\n          <\/div>\r\n        <\/div>`;\r\n      }\r\n\r\n      bloque.TRIM.forEach(t=>{\r\n        const ok = t.Archivo;\r\n\r\n        html += `\r\n        <div class=\"doc\">\r\n          <div>${t.Periodo}: ${t.Nombre}<\/div>\r\n          <div>\r\n            <span class=\"estado ${ok?'ok':'no'}\">${ok?'Disponible':'No disponible'}<\/span>\r\n            <a href=\"${ok?t.Archivo:'#'}\" target=\"_blank\"\r\n              class=\"btn ${!ok?'disabled':''}\">Ver<\/a>\r\n          <\/div>\r\n        <\/div>`;\r\n      });\r\n\r\n      html += `<\/div>`;\r\n    });\r\n\r\n    cont.innerHTML += `\r\n      <div class=\"bloque\">\r\n        <button class=\"accordion\">${a\u00f1o}<\/button>\r\n        <div class=\"panel\">${html}<\/div>\r\n      <\/div>\r\n    `;\r\n  });\r\n\r\n  document.querySelectorAll(\".accordion\").forEach(b=>{\r\n    b.onclick=()=>{\r\n      const p=b.nextElementSibling;\r\n      p.style.maxHeight=p.style.maxHeight?null:p.scrollHeight+\"px\";\r\n    };\r\n  });\r\n\r\n}\r\n\r\ncargar();\r\n\r\n})();\r\n<\/script><\/div>\n\t\t\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>Informaci\u00f3n financiera que se\u00f1ala la LGCG Art\u00edculo 56.- La generaci\u00f3n y publicaci\u00f3n de la informaci\u00f3n financiera de los entes p\u00fablicos a que se refiere este T\u00edtulo, se har\u00e1 conforme a las normas, estructura, formatos y contenido de la informaci\u00f3n, que para tal efecto establezca el consejo y difundirse en la p\u00e1gina de Internet del respectivo [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","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":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","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":""},"categories":[1],"tags":[],"class_list":["post-193","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/citlaltepetl.gob.mx\/portal\/wp-json\/wp\/v2\/posts\/193","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/citlaltepetl.gob.mx\/portal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/citlaltepetl.gob.mx\/portal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/citlaltepetl.gob.mx\/portal\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/citlaltepetl.gob.mx\/portal\/wp-json\/wp\/v2\/comments?post=193"}],"version-history":[{"count":0,"href":"https:\/\/citlaltepetl.gob.mx\/portal\/wp-json\/wp\/v2\/posts\/193\/revisions"}],"wp:attachment":[{"href":"https:\/\/citlaltepetl.gob.mx\/portal\/wp-json\/wp\/v2\/media?parent=193"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/citlaltepetl.gob.mx\/portal\/wp-json\/wp\/v2\/categories?post=193"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/citlaltepetl.gob.mx\/portal\/wp-json\/wp\/v2\/tags?post=193"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}