{"id":363,"date":"2025-07-24T15:17:29","date_gmt":"2025-07-24T15:17:29","guid":{"rendered":"https:\/\/petrolera.umsa.edu.bo\/?page_id=363"},"modified":"2026-03-22T17:55:04","modified_gmt":"2026-03-22T21:55:04","slug":"cursos-y-seminarios","status":"publish","type":"page","link":"https:\/\/petrolera.umsa.edu.bo\/index.php\/cursos-y-seminarios\/","title":{"rendered":"Cursos y Seminarios"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"363\" class=\"elementor elementor-363\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6750caa e-flex e-con-boxed e-con e-parent\" data-id=\"6750caa\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-66fccc9 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"66fccc9\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;slideInUp&quot;}\" 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\">CURSOS Y SEMINARIOS<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a857049 elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"a857049\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;slideInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: center;\">Impulsa tu formaci\u00f3n profesional con nuestra oferta de <strong data-start=\"319\" data-end=\"357\">cursos y seminarios especializados<\/strong>, dise\u00f1ados para fortalecer conocimientos, desarrollar habilidades pr\u00e1cticas y actualizarte en \u00e1reas clave de tu sector.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-01e7cd6 e-flex e-con-boxed e-con e-parent\" data-id=\"01e7cd6\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fcd8693 elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"fcd8693\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;slideInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"color: #ffffff;\">Nuestros programas est\u00e1n dirigidos a estudiantes, profesionales, investigadores y p\u00fablico interesado, y son impartidos por especialistas con amplia experiencia, combinando teor\u00eda actualizada y aplicaci\u00f3n pr\u00e1ctica.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a92839b e-flex e-con-boxed e-con e-parent\" data-id=\"a92839b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;none&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-86322be e-con-full e-flex e-con e-child\" data-id=\"86322be\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bf44a35 elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-invisible elementor-widget elementor-widget-icon-box\" data-id=\"bf44a35\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;slideInUp&quot;}\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"icon icon-open-book\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tCursos presenciales, virtuales y semipresenciales\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-35d3275 e-con-full e-flex e-con e-child\" data-id=\"35d3275\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-57e1f49 elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-invisible elementor-widget elementor-widget-icon-box\" data-id=\"57e1f49\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;slideInUp&quot;}\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"icon icon-open-book\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tSeminarios, talleres y capacitaciones especializadas\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-73d3dfc e-con-full e-flex e-con e-child\" data-id=\"73d3dfc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c0add4a elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-invisible elementor-widget elementor-widget-icon-box\" data-id=\"c0add4a\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;slideInUp&quot;}\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"icon icon-open-book\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tContenidos actualizados y alineados a las necesidades actuales\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-675153a e-con-full e-flex e-con e-child\" data-id=\"675153a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-537eb68 elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-invisible elementor-widget elementor-widget-icon-box\" data-id=\"537eb68\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;slideInUp&quot;}\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"icon icon-open-book\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tCertificaci\u00f3n al finalizar cada programa\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-621572c e-flex e-con-boxed e-con e-parent\" data-id=\"621572c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c37a016 elementor-widget elementor-widget-text-editor\" data-id=\"c37a016\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"color: #ffffff;\">Cada curso y seminario busca brindar una experiencia de aprendizaje de calidad, fomentando el intercambio de conocimientos, el pensamiento cr\u00edtico y la actualizaci\u00f3n continua.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2d1a316 e-flex e-con-boxed e-con e-parent\" data-id=\"2d1a316\" 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-2f7b3ec elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"2f7b3ec\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;slideInUp&quot;}\" 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\">Explora nuestra oferta acad\u00e9mica<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b35b26b e-flex e-con-boxed e-con e-parent\" data-id=\"b35b26b\" 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-22fe6e0 elementor-widget elementor-widget-shortcode\" data-id=\"22fe6e0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><style>\n#gdc6a044e3f0092e,\n#gdc6a044e3f0092e-m {\n    --ink:       #1a2332;\n    --ink-soft:  #4a5568;\n    --ink-ghost: #8896a8;\n    --paper:     #f8f6f2;\n    --paper-alt: #efecea;\n    --gold:      #b8922a;\n    --gold-lt:   #e8d5a0;\n    --gold-bg:   #fdf8ed;\n    --rule:      #ddd8d0;\n    --white:     #ffffff;\n    --radius:    15px;\n    --font-body: \"Segoe UI\", Arial, sans-serif;\n    --shadow-sm: 0 1px 3px rgba(26,35,50,.08), 0 1px 8px rgba(26,35,50,.04);\n    --shadow-md: 0 4px 16px rgba(26,35,50,.10), 0 1px 4px rgba(26,35,50,.06);\n    --shadow-lg: 0 16px 48px rgba(26,35,50,.18), 0 4px 12px rgba(26,35,50,.08);\n}\n\n#gdc6a044e3f0092e {\n    all: revert;\n    width: 100%;\n    font-family: var(--font-body);\n    background: transparent;\n    padding: 0; margin: 0;\n    color: var(--ink);\n    box-sizing: border-box;\n    line-height: 1.5;\n    font-size: 16px;\n    -webkit-text-size-adjust: 100%;\n}\n#gdc6a044e3f0092e *, #gdc6a044e3f0092e *::before, #gdc6a044e3f0092e *::after { box-sizing: border-box }\n#gdc6a044e3f0092e img     { max-width: none; height: auto; vertical-align: middle }\n#gdc6a044e3f0092e button  { font-family: var(--font-body); cursor: pointer }\n#gdc6a044e3f0092e h3, #gdc6a044e3f0092e p, #gdc6a044e3f0092e span { margin: 0; padding: 0; font-weight: inherit }\n#gdc6a044e3f0092e .gdc-wrap { width: 100% }\n\n\/* \u2500\u2500 Cargando \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#gdc6a044e3f0092e .gdc-load {\n    display: flex; flex-direction: column; align-items: center;\n    justify-content: center; padding: 80px 20px; color: var(--ink-soft);\n}\n#gdc6a044e3f0092e .gdc-load-line {\n    width: 60px; height: 2px; background: var(--rule); margin: 0 auto 20px;\n    position: relative; overflow: hidden;\n}\n#gdc6a044e3f0092e .gdc-load-line::after {\n    content: \"\"; position: absolute; inset: 0;\n    background: var(--gold);\n    animation: gdcPulse_gdc6a044e3f0092e 1.4s ease-in-out infinite;\n}\n@keyframes gdcPulse_gdc6a044e3f0092e {\n    0%   { transform: translateX(-100%) }\n    50%  { transform: translateX(0%) }\n    100% { transform: translateX(100%) }\n}\n#gdc6a044e3f0092e .gdc-load p {\n    font-size: 13px; letter-spacing: .12em; text-transform: uppercase;\n    color: var(--ink-ghost); margin: 0; font-weight: 500;\n}\n\n\/* \u2500\u2500 Grid \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#gdc6a044e3f0092e .gdc-grid {\n    display: grid;\n    grid-template-columns: repeat(var(--c,3), 1fr);\n    gap: 24px; width: 100%; padding: 4px 0 24px; box-sizing: border-box;\n}\n\n\/* \u2500\u2500 Tarjeta \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#gdc6a044e3f0092e .gdc-card {\n    background: var(--white); border-radius: var(--radius);\n    overflow: hidden; cursor: pointer; display: flex; flex-direction: column;\n    border: 1px solid var(--rule); box-shadow: var(--shadow-sm);\n    transition: box-shadow .3s, transform .3s, border-color .3s;\n    animation: gdcIn_gdc6a044e3f0092e .5s ease both; position: relative;\n}\n@keyframes gdcIn_gdc6a044e3f0092e {\n    from { opacity: 0; transform: translateY(20px) }\n    to   { opacity: 1; transform: translateY(0) }\n}\n#gdc6a044e3f0092e .gdc-card:hover {\n    box-shadow: var(--shadow-md); transform: translateY(-3px); border-color: var(--gold-lt);\n}\n\n\/* \u2500\u2500 Imagen + overlay \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#gdc6a044e3f0092e .gdc-img-wrap {\n    position: relative; overflow: hidden;\n    height: 200px; flex-shrink: 0; background: var(--paper-alt);\n}\n#gdc6a044e3f0092e .gdc-img-wrap img {\n    width: 100%; height: 100%;\n    object-fit: cover; object-position: center 20%;\n    display: block; transition: transform .4s ease, filter .4s ease;\n    filter: brightness(.96) saturate(.9);\n}\n#gdc6a044e3f0092e .gdc-card:hover .gdc-img-wrap img {\n    transform: scale(1.04); filter: brightness(.55) saturate(.8);\n}\n#gdc6a044e3f0092e .gdc-img-overlay {\n    position: absolute; inset: 0; z-index: 3;\n    background: rgba(18,28,44,.45); opacity: 0; transition: opacity .3s;\n}\n#gdc6a044e3f0092e .gdc-card:hover .gdc-img-overlay { opacity: 1 }\n\n\/* \u2500\u2500 Bot\u00f3n zoom \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#gdc6a044e3f0092e .gdc-view-btn {\n    position: absolute; inset: 0; margin: auto;\n    width: 56px; height: 56px; border-radius: 50%;\n    background: rgba(255,255,255,.12); border: 2px solid rgba(255,255,255,.7);\n    cursor: pointer; z-index: 6;\n    display: flex; align-items: center; justify-content: center;\n    font-size: 32px; font-weight: 300; line-height: 1; color: #fff;\n    opacity: 0; transform: scale(.7);\n    transition: opacity .25s, transform .28s, background .2s, border-color .2s, color .2s;\n    pointer-events: none;\n}\n#gdc6a044e3f0092e .gdc-card:hover .gdc-view-btn { opacity: 1; transform: scale(1); pointer-events: auto }\n#gdc6a044e3f0092e .gdc-view-btn:hover {\n    background: var(--gold); border-color: var(--gold); color: #fff; transform: scale(1.08);\n}\n\n\/* \u2500\u2500 Badge de tipo \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#gdc6a044e3f0092e .gdc-badge {\n    position: absolute; top: 12px; left: 12px;\n    font-size: 10px; font-weight: 600; letter-spacing: .1em;\n    text-transform: uppercase; padding: 4px 10px; border-radius: 2px;\n    background: var(--gold); color: var(--white); font-family: var(--font-body);\n    box-shadow: 0 2px 6px rgba(0,0,0,.15); z-index: 4;\n}\n\n\/* \u2500\u2500 Cuerpo de tarjeta \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#gdc6a044e3f0092e .gdc-body {\n    padding: 18px 20px 20px; display: flex; flex-direction: column; flex: 1;\n    border-top: 3px solid transparent; transition: border-color .3s;\n}\n#gdc6a044e3f0092e .gdc-card:hover .gdc-body { border-color: var(--gold) }\n\n#gdc6a044e3f0092e .gdc-kicker {\n    font-size: 10.5px; font-weight: 600; letter-spacing: .15em;\n    text-transform: uppercase; color: var(--gold); margin: 0 0 8px;\n}\n#gdc6a044e3f0092e .gdc-title {\n    font-size: 1.1rem; font-weight: 700;\n    color: var(--ink); line-height: 1.35; margin: 0 0 10px;\n    display: -webkit-box; -webkit-line-clamp: 3;\n    -webkit-box-orient: vertical; overflow: hidden;\n}\n#gdc6a044e3f0092e .gdc-desc {\n    font-size: 13.5px; color: var(--ink-soft); line-height: 1.65;\n    margin: 0 0 16px; flex: 1;\n    display: -webkit-box; -webkit-line-clamp: 3;\n    -webkit-box-orient: vertical; overflow: hidden;\n}\n#gdc6a044e3f0092e .gdc-desc:empty { margin: 0 }\n\n#gdc6a044e3f0092e .gdc-expositor {\n    display: flex; align-items: center; gap: 6px;\n    font-size: 12.5px; color: var(--ink-soft); font-weight: 500;\n    margin: 0 0 10px; font-style: italic;\n}\n#gdc6a044e3f0092e .gdc-expositor svg { flex-shrink: 0; opacity: .6 }\n\n#gdc6a044e3f0092e .gdc-meta {\n    display: flex; align-items: center; gap: 14px;\n    padding-top: 14px; border-top: 1px solid var(--rule);\n    flex-wrap: wrap; margin-top: auto;\n}\n#gdc6a044e3f0092e .gdc-meta-item {\n    display: flex; align-items: center; gap: 5px;\n    font-size: 11.5px; color: var(--ink-ghost); font-weight: 500;\n}\n#gdc6a044e3f0092e .gdc-meta-item svg { flex-shrink: 0; opacity: .7 }\n#gdc6a044e3f0092e .gdc-date-chip {\n    margin-left: auto; font-size: 11px; color: var(--ink-ghost);\n    font-weight: 400; font-style: italic;\n}\n\n\/* \u2500\u2500 Lista \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#gdc6a044e3f0092e .gdc-list { display: flex; flex-direction: column; gap: 16px; padding: 4px 0 24px }\n#gdc6a044e3f0092e .gdc-list .gdc-card { flex-direction: row; align-items: stretch; min-height: 200px; height: auto }\n#gdc6a044e3f0092e .gdc-list .gdc-img-wrap { width: 260px; min-width: 260px; flex-shrink: 0 }\n#gdc6a044e3f0092e .gdc-list .gdc-body {\n    border-top: none; border-left: 3px solid transparent;\n    transition: border-color .3s; justify-content: center; padding: 20px 24px;\n}\n#gdc6a044e3f0092e .gdc-list .gdc-card:hover .gdc-body { border-left-color: var(--gold) }\n#gdc6a044e3f0092e .gdc-list .gdc-title { font-size: 1.1rem; -webkit-line-clamp: unset; display: block; overflow: visible; white-space: normal }\n#gdc6a044e3f0092e .gdc-list .gdc-desc  { -webkit-line-clamp: 2; margin-bottom: 12px }\n\n\/* \u2500\u2500 Carousel \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#gdc6a044e3f0092e .gdc-car-outer { width:100%; position:relative; padding:4px 0 0 }\n#gdc6a044e3f0092e .gdc-car-win   { width:100%; overflow:hidden }\n#gdc6a044e3f0092e .gdc-car-track {\n    display:flex; align-items:stretch;\n    transition:transform .42s cubic-bezier(.4,0,.2,1); will-change:transform;\n}\n#gdc6a044e3f0092e .gdc-car-slide { flex-shrink:0; box-sizing:border-box; padding:4px 10px 20px }\n#gdc6a044e3f0092e .gdc-car-slide:first-child { padding-left:4px }\n#gdc6a044e3f0092e .gdc-car-slide:last-child  { padding-right:4px }\n#gdc6a044e3f0092e .gdc-car-slide .gdc-card   { height:100%; margin:0 }\n\n#gdc6a044e3f0092e .gdc-car-arrow {\n    position:absolute; top:calc(50% - 20px); transform:translateY(-50%);\n    z-index:20; width:48px; height:48px;\n    background:none!important; border:none!important;\n    box-shadow:none!important; outline:none!important;\n    -webkit-appearance:none; appearance:none;\n    cursor:pointer; padding:0; margin:0;\n    display:flex; align-items:center; justify-content:center;\n    color:var(--ink); font-size:52px; font-weight:300; line-height:1;\n    text-shadow:0 2px 8px rgba(0,0,0,.18);\n    transition:color .18s, transform .2s;\n}\n#gdc6a044e3f0092e .gdc-car-arrow:hover {\n    background:none!important; border:none!important;\n    color:var(--gold); transform:translateY(-50%) scale(1.15);\n}\n#gdc6a044e3f0092e .gdc-car-arrow:focus,\n#gdc6a044e3f0092e .gdc-car-arrow:active,\n#gdc6a044e3f0092e .gdc-car-arrow:focus-visible {\n    outline:none!important; box-shadow:none!important;\n    background:none!important; border:none!important;\n}\n#gdc6a044e3f0092e .gdc-car-prev { left:-8px }\n#gdc6a044e3f0092e .gdc-car-next { right:-8px }\n\n#gdc6a044e3f0092e .gdc-car-dots {\n    display:flex; justify-content:center; align-items:center;\n    gap:8px; padding:4px 0 16px;\n}\n#gdc6a044e3f0092e .gdc-car-dot {\n    width:8px; height:8px; border-radius:50%;\n    background:var(--rule); border:none; padding:0; cursor:pointer;\n    transition:background .22s, transform .22s; flex-shrink:0;\n}\n#gdc6a044e3f0092e .gdc-car-dot:hover  { background:var(--gold-lt) }\n#gdc6a044e3f0092e .gdc-car-dot:focus,\n#gdc6a044e3f0092e .gdc-car-dot:active { outline:none; box-shadow:none }\n#gdc6a044e3f0092e .gdc-car-dot.on     { background:var(--gold); transform:scale(1.4) }\n\n\/* \u2500\u2500 Modal \u2014 solo imagen + X flotante \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#gdc6a044e3f0092e-m {\n    all: revert;\n    display: none; position: fixed; inset: 0; z-index: 99999;\n    background: rgba(0,0,0,.92);\n    overflow: hidden; cursor: pointer;\n    font-family: var(--font-body); box-sizing: border-box;\n}\n#gdc6a044e3f0092e-m .gdc-modal-inner {\n    display: flex; align-items: center; justify-content: center;\n    width: 100%; height: 100%;\n}\n#gdc6a044e3f0092e-m .gdc-modal-img {\n    max-width: 95vw; max-height: 95vh;\n    object-fit: contain; display: block; cursor: default;\n}\n#gdc6a044e3f0092e-m .gdc-close {\n    position: fixed; top: 14px; right: 14px; z-index: 100001;\n    width: 40px; height: 40px; border-radius: 50%;\n    background: rgba(0,0,0,.55); border: 1.5px solid rgba(255,255,255,.3);\n    color: #fff; font-size: 20px; font-weight: 400; line-height: 1;\n    cursor: pointer; display: flex; align-items: center; justify-content: center;\n    padding: 0; box-sizing: border-box;\n    transition: background .2s, color .2s;\n}\n#gdc6a044e3f0092e-m .gdc-close:hover { background: #fff; color: #000 }\n\n\/* \u2500\u2500 Responsive tablet \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n@media (max-width:960px) {\n    #gdc6a044e3f0092e .gdc-grid { grid-template-columns:repeat(2,1fr)!important; gap:18px }\n    #gdc6a044e3f0092e .gdc-list .gdc-card { min-height:180px }\n    #gdc6a044e3f0092e .gdc-list .gdc-img-wrap { width:200px; min-width:200px }\n    #gdc6a044e3f0092e .gdc-car-prev { left:-10px }\n    #gdc6a044e3f0092e .gdc-car-next { right:-10px }\n}\n\n\/* \u2500\u2500 Responsive m\u00f3vil \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n@media (max-width:600px) {\n    #gdc6a044e3f0092e .gdc-grid { grid-template-columns:1fr!important; gap:14px }\n    #gdc6a044e3f0092e .gdc-list .gdc-card { flex-direction:column; min-height:auto; height:auto }\n    #gdc6a044e3f0092e .gdc-list .gdc-img-wrap { width:100%; min-width:100%; height:180px }\n    #gdc6a044e3f0092e .gdc-list .gdc-body { border-left:none; border-top:3px solid transparent }\n    #gdc6a044e3f0092e .gdc-list .gdc-card:hover .gdc-body { border-top-color:var(--gold) }\n    #gdc6a044e3f0092e .gdc-car-prev { left:4px }\n    #gdc6a044e3f0092e .gdc-car-next { right:4px }\n    #gdc6a044e3f0092e .gdc-car-arrow { width:44px; height:44px; font-size:46px }\n    #gdc6a044e3f0092e-m .gdc-close { top:10px; right:10px; width:36px; height:36px; font-size:18px }\n}\n<\/style>\n<div id=\"gdc6a044e3f0092e\">\n    <div class=\"gdc-load\">\n        <div class=\"gdc-load-line\"><\/div>\n        <p>Cargando programa acad\u00e9mico<\/p>\n    <\/div>\n    <div class=\"gdc-wrap\"><\/div>\n<\/div>\n\n<div id=\"gdc6a044e3f0092e-m\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Detalle del curso\"\n     style=\"display:none;position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.92);overflow:hidden;cursor:pointer;\">\n    <button class=\"gdc-close\" aria-label=\"Cerrar\">&#x2715;<\/button>\n    <div class=\"gdc-modal-inner\">\n        <img class=\"gdc-modal-img\" id=\"gdc6a044e3f0092e-m-i\" alt=\"\">\n    <\/div>\n<\/div><script>function gdcInit(G, F, K, LAYOUT, COLS) {\n\n    var con   = document.getElementById(G);\n    if (!con) return;\n    var wrap  = con.querySelector('.gdc-wrap');\n    var load  = con.querySelector('.gdc-load');\n    var loadp = load.querySelector('p');\n\n    var mod  = document.getElementById(G + '-m');\n    var mimg = document.getElementById(G + '-m-i');\n\n    var imgs = [];\n    var busy = false;\n\n    var CFG = {\n        thumbGrid  : 900,\n        thumbModal : 2000,\n        refreshMs  : 300000,\n        bpTablet   : 960,\n        bpMobile   : 600,\n    };\n\n    \/\/ \u2500\u2500 Utilidades \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n    function stripExt(name) {\n        var exts = ['jpg','jpeg','png','gif','webp','bmp','svg'];\n        var dot  = name.lastIndexOf('.');\n        if (dot > -1 && exts.indexOf(name.substring(dot + 1).toLowerCase()) > -1) {\n            return name.substring(0, dot).trim();\n        }\n        return name.trim();\n    }\n\n    function parseName(name) {\n        var clean  = stripExt(name);\n        var s      = clean.indexOf('[');\n        var e      = clean.indexOf(']');\n        var result = { title:'', tipo:'', fecha_evento:'', modalidad:'', duracion:'', expositor:'', desc:'' };\n\n        if (s === 0 && e > 0) {\n            var inside = clean.substring(1, e);\n            result.desc = clean.substring(e + 1).trim();\n            var parts   = inside.split('|');\n            result.title = parts[0] ? parts[0].trim() : '';\n\n            for (var i = 1; i < parts.length; i++) {\n                var part  = parts[i].trim();\n                var colon = part.indexOf(':');\n                if (colon > -1) {\n                    var key = part.substring(0, colon).trim().toLowerCase();\n                    var val = part.substring(colon + 1).trim();\n                    if (key === 'tipo')                                                       result.tipo         = val;\n                    if (key === 'fecha' || key === 'fecha evento' || key === 'fecha_evento') result.fecha_evento = val;\n                    if (key === 'modalidad')                                                 result.modalidad    = val;\n                    if (key === 'duracion' || key === 'duraci\u00f3n')                            result.duracion     = val;\n                    if (key === 'expositor' || key === 'expositor\/a' || key === 'docente')   result.expositor    = val;\n                }\n            }\n        } else {\n            result.title = clean;\n        }\n\n        return result;\n    }\n\n    function thumbUrl(id, size) {\n        return 'https:\/\/drive.google.com\/thumbnail?id=' + encodeURIComponent(id) + '&sz=w' + size;\n    }\n\n    function formatDate(iso) {\n        if (!iso) return '';\n        try {\n            return new Date(iso).toLocaleDateString('es-ES', {\n                day: '2-digit', month: 'long', year: 'numeric'\n            });\n        } catch(e) { return ''; }\n    }\n\n    function visibleCols(maxCols) {\n        var w = window.innerWidth;\n        if (w <= CFG.bpMobile) return 1;\n        if (w <= CFG.bpTablet) return Math.min(2, maxCols);\n        return maxCols;\n    }\n\n    function el(tag, cls) {\n        var e = document.createElement(tag);\n        if (cls) e.className = cls;\n        return e;\n    }\n\n    function safeText(str) { return str ? String(str) : ''; }\n\n    function iconEventDate() {\n        return '<svg width=\"12\" height=\"12\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" aria-hidden=\"true\"><rect x=\"1\" y=\"3\" width=\"14\" height=\"12\" rx=\"1.5\"\/><path d=\"M5 1v4M11 1v4M1 7h14\"\/><circle cx=\"5\" cy=\"11\" r=\"1\" fill=\"currentColor\" stroke=\"none\"\/><circle cx=\"8\" cy=\"11\" r=\"1\" fill=\"currentColor\" stroke=\"none\"\/><\/svg>';\n    }\n    function iconModalidad() {\n        return '<svg width=\"12\" height=\"12\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" aria-hidden=\"true\"><rect x=\"1\" y=\"4\" width=\"14\" height=\"9\" rx=\"1.5\"\/><path d=\"M5 4V3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1\"\/><circle cx=\"8\" cy=\"8.5\" r=\"1.8\"\/><\/svg>';\n    }\n    function iconExpositor() {\n        return '<svg width=\"12\" height=\"12\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" aria-hidden=\"true\"><circle cx=\"8\" cy=\"5\" r=\"3\"\/><path d=\"M2 14c0-3.314 2.686-5 6-5s6 1.686 6 5\"\/><\/svg>';\n    }\n    function iconClock() {\n        return '<svg width=\"12\" height=\"12\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" aria-hidden=\"true\"><circle cx=\"8\" cy=\"8\" r=\"6.5\"\/><path d=\"M8 4.5V8l2.5 2\"\/><\/svg>';\n    }\n\n\n    \/\/ \u2500\u2500 API \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n    function fetchImgs() {\n        if (busy) return;\n        busy = true;\n\n        var q = encodeURIComponent(\n            \"'\" + F + \"' in parents and mimeType contains 'image\/' and trashed=false\"\n        );\n        var url = 'https:\/\/www.googleapis.com\/drive\/v3\/files'\n            + '?q='       + q\n            + '&key='     + encodeURIComponent(K)\n            + '&fields='  + encodeURIComponent('files(id,name,createdTime)')\n            + '&orderBy=' + encodeURIComponent('createdTime desc')\n            + '&pageSize=100';\n\n        fetch(url)\n            .then(function(r) {\n                if (!r.ok) throw new Error('HTTP ' + r.status);\n                return r.json();\n            })\n            .then(function(data) {\n                if (data.error) throw new Error(data.error.message);\n                load.style.display = 'none';\n                if (data.files && data.files.length) {\n                    imgs = data.files;\n                    if      (LAYOUT === 'list')     buildList(imgs);\n                    else if (LAYOUT === 'carousel') buildCarousel(imgs);\n                    else                            buildGrid(imgs);\n                } else {\n                    showEmpty();\n                }\n            })\n            .catch(function(e) {\n                showError();\n                console.warn('<p style=\"color:#c0392b;\">gdrive_cursos: se requieren folder_id y api_key.<\/p>', e.message);\n            })\n            .finally(function() { busy = false; });\n    }\n\n    function showEmpty() {\n        loadp.textContent  = 'No hay cursos disponibles en este momento.';\n        load.style.display = 'flex';\n    }\n\n    function showError() {\n        loadp.style.color  = '#c0392b';\n        loadp.textContent  = 'Error al cargar los cursos. Intente recargar la p\u00e1gina.';\n        load.style.display = 'flex';\n    }\n\n\n    \/\/ \u2500\u2500 Grid \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n    function buildGrid(files) {\n        wrap.innerHTML = '';\n        var grid = el('div', 'gdc-grid');\n        grid.style.setProperty('--c', visibleCols(COLS));\n        files.forEach(function(f, i) { grid.appendChild(makeCard(f, i, 'grid')); });\n        wrap.appendChild(grid);\n        window.addEventListener('resize', function() {\n            grid.style.setProperty('--c', visibleCols(COLS));\n        });\n    }\n\n\n    \/\/ \u2500\u2500 Lista \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n    function buildList(files) {\n        wrap.innerHTML = '';\n        var list = el('div', 'gdc-list');\n        files.forEach(function(f, i) { list.appendChild(makeCard(f, i, 'list')); });\n        wrap.appendChild(list);\n    }\n\n\n    \/\/ \u2500\u2500 Carousel \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n    function buildCarousel(files) {\n        wrap.innerHTML = '';\n\n        var cols   = visibleCols(COLS);\n        var pct    = (100 \/ cols).toFixed(6);\n        var stops  = Math.max(1, files.length - (cols - 1));\n        var cur    = 0;\n        var timer  = null;\n        var swipeX = 0;\n\n        var outer = el('div', 'gdc-car-outer');\n        var win   = el('div', 'gdc-car-win');\n        var track = el('div', 'gdc-car-track');\n\n        files.forEach(function(f, i) {\n            var slide = el('div', 'gdc-car-slide');\n            slide.style.width = pct + '%';\n            slide.appendChild(makeCard(f, i, 'carousel'));\n            track.appendChild(slide);\n        });\n\n        var bPrev = el('button', 'gdc-car-arrow gdc-car-prev');\n        var bNext = el('button', 'gdc-car-arrow gdc-car-next');\n        bPrev.innerHTML = '&#10094;'; bPrev.setAttribute('aria-label', 'Anterior');\n        bNext.innerHTML = '&#10095;'; bNext.setAttribute('aria-label', 'Siguiente');\n\n        var dotsRow = el('div', 'gdc-car-dots');\n        var dots    = [];\n        for (var di = 0; di < stops; di++) {\n            (function(n) {\n                var dot = el('button', 'gdc-car-dot' + (n === 0 ? ' on' : ''));\n                dot.setAttribute('aria-label', 'Ir a ' + (n + 1));\n                dot.addEventListener('click', function() { goTo(n); });\n                dots.push(dot);\n                dotsRow.appendChild(dot);\n            }(di));\n        }\n\n        function goTo(n) {\n            cur = ((n % stops) + stops) % stops;\n            track.style.transform = 'translateX(' + (-cur * pct) + '%)';\n            dots.forEach(function(d, i) { d.classList.toggle('on', i === cur); });\n        }\n\n        function startAuto() { timer = setInterval(function() { goTo(cur + 1); }, 5000); }\n        function stopAuto()  { clearInterval(timer); timer = null; }\n        startAuto();\n        outer.addEventListener('mouseenter', stopAuto);\n        outer.addEventListener('mouseleave', startAuto);\n\n        win.addEventListener('touchstart', function(e) { swipeX = e.touches[0].clientX; }, { passive: true });\n        win.addEventListener('touchend', function(e) {\n            var dx = swipeX - e.changedTouches[0].clientX;\n            if (Math.abs(dx) > 50) goTo(dx > 0 ? cur + 1 : cur - 1);\n        }, { passive: true });\n\n        bPrev.addEventListener('click', function() { goTo(cur - 1); });\n        bNext.addEventListener('click', function() { goTo(cur + 1); });\n\n        var prevCols = cols;\n        window.addEventListener('resize', function() {\n            var nc = visibleCols(COLS);\n            if (nc !== prevCols) { prevCols = nc; stopAuto(); buildCarousel(files); }\n        });\n\n        win.appendChild(track);\n        outer.appendChild(win);\n        outer.appendChild(bPrev);\n        outer.appendChild(bNext);\n        wrap.appendChild(outer);\n        wrap.appendChild(dotsRow);\n    }\n\n\n    \/\/ \u2500\u2500 Tarjeta \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n    function makeCard(f, i, mode) {\n        var p    = parseName(f.name);\n        var date = formatDate(f.createdTime);\n        var card = el('article', 'gdc-card');\n        card.style.animationDelay = (i % 10 * 60) + 'ms';\n        card.tabIndex = 0;\n        card.setAttribute('aria-label', safeText(p.title || p.desc));\n\n        \/\/ Imagen\n        var iw  = el('div', 'gdc-img-wrap');\n        var img = el('img');\n        img.src     = thumbUrl(f.id, CFG.thumbGrid);\n        img.alt     = safeText(p.title || p.desc);\n        img.loading = i < 6 ? 'eager' : 'lazy';\n        img.onerror = function() {\n            iw.style.background = 'linear-gradient(135deg,#efecea 0%,#ddd8d0 100%)';\n            this.style.display  = 'none';\n        };\n\n        var overlay = el('div', 'gdc-img-overlay');\n\n        if (p.tipo) {\n            var badge = el('span', 'gdc-badge');\n            badge.textContent = safeText(p.tipo);\n            iw.appendChild(badge);\n        }\n\n        var zBtn = el('button', 'gdc-view-btn');\n        zBtn.textContent = '+';\n        zBtn.setAttribute('aria-label', 'Ampliar imagen');\n        zBtn.addEventListener('click', (function(n) {\n            return function(e) { e.stopPropagation(); openModal(n); };\n        }(i)));\n\n        iw.appendChild(img);\n        iw.appendChild(overlay);\n        iw.appendChild(zBtn);\n\n        \/\/ Cuerpo\n        var body = el('div', 'gdc-body');\n\n        if (p.tipo || p.modalidad) {\n            var kicker = el('p', 'gdc-kicker');\n            kicker.textContent = safeText([p.tipo, p.modalidad].filter(Boolean).join(' \u00b7 '));\n            body.appendChild(kicker);\n        }\n\n        var title = el('h3', 'gdc-title');\n        title.textContent = safeText(p.title || p.desc);\n        body.appendChild(title);\n\n        if (p.expositor) {\n            var exp = el('p', 'gdc-expositor');\n            exp.innerHTML = iconExpositor();\n            exp.appendChild(document.createTextNode(safeText(p.expositor)));\n            body.appendChild(exp);\n        }\n\n        if (p.desc) {\n            var desc = el('p', 'gdc-desc');\n            desc.textContent = safeText(p.desc);\n            body.appendChild(desc);\n        }\n\n        var meta = el('div', 'gdc-meta');\n        if (p.fecha_evento) {\n            var mFecha = el('span', 'gdc-meta-item');\n            mFecha.innerHTML = iconEventDate();\n            mFecha.appendChild(document.createTextNode(safeText(p.fecha_evento)));\n            meta.appendChild(mFecha);\n        }\n        if (p.modalidad) {\n            var mMod = el('span', 'gdc-meta-item');\n            mMod.innerHTML = iconModalidad();\n            mMod.appendChild(document.createTextNode(safeText(p.modalidad)));\n            meta.appendChild(mMod);\n        }\n        if (p.duracion) {\n            var mDur = el('span', 'gdc-meta-item');\n            mDur.innerHTML = iconClock();\n            mDur.appendChild(document.createTextNode(safeText(p.duracion)));\n            meta.appendChild(mDur);\n        }\n        if (date) {\n            var mDate = el('span', 'gdc-date-chip');\n            mDate.textContent = date;\n            meta.appendChild(mDate);\n        }\n        if (meta.children.length) body.appendChild(meta);\n\n        card.appendChild(iw);\n        card.appendChild(body);\n\n        card.addEventListener('click', (function(n) {\n            return function() { openModal(n); };\n        }(i)));\n        card.addEventListener('keydown', (function(n) {\n            return function(e) {\n                if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); openModal(n); }\n            };\n        }(i)));\n\n        return card;\n    }\n\n\n    \/\/ \u2500\u2500 Modal \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n    function openModal(i) {\n        var f = imgs[i];\n        if (!f) return;\n        var p = parseName(f.name);\n        mimg.src = thumbUrl(f.id, CFG.thumbModal);\n        mimg.alt = safeText(p.title || p.desc);\n        mod.style.display            = 'block';\n        document.body.style.overflow = 'hidden';\n        mod.focus();\n    }\n\n    function closeModal() {\n        mod.style.display            = 'none';\n        document.body.style.overflow = '';\n        mimg.src = '';\n    }\n\n    mod.querySelector('.gdc-close').addEventListener('click', closeModal);\n\n    mod.addEventListener('click', function(e) {\n        if (e.target === mod || e.target.classList.contains('gdc-modal-inner')) closeModal();\n    });\n\n    mimg.addEventListener('click', function(e) { e.stopPropagation(); });\n\n    document.addEventListener('keydown', function(e) {\n        if (mod.style.display === 'block' && e.key === 'Escape') closeModal();\n    });\n\n\n    \/\/ \u2500\u2500 Arranque \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n    fetchImgs();\n    setInterval(fetchImgs, CFG.refreshMs);\n}document.addEventListener(\"DOMContentLoaded\",function(){gdcInit(\"gdc6a044e3f0092e\",\"1AJotfw6WrRGqwI7HnQgscCChF_AMqn4b\",\"AIzaSyD15A4uWBC96tog0JzU9ca9ZFyUYE6U4CU\",\"grid\",3);});<\/script><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>CURSOS Y SEMINARIOS Impulsa tu formaci\u00f3n profesional con nuestra oferta de cursos y seminarios especializados, dise\u00f1ados para fortalecer conocimientos, desarrollar [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","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":"disabled","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-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":"","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-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":"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":""},"mobile":{"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":""}},"footnotes":""},"class_list":["post-363","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/petrolera.umsa.edu.bo\/index.php\/wp-json\/wp\/v2\/pages\/363","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/petrolera.umsa.edu.bo\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/petrolera.umsa.edu.bo\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/petrolera.umsa.edu.bo\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/petrolera.umsa.edu.bo\/index.php\/wp-json\/wp\/v2\/comments?post=363"}],"version-history":[{"count":85,"href":"https:\/\/petrolera.umsa.edu.bo\/index.php\/wp-json\/wp\/v2\/pages\/363\/revisions"}],"predecessor-version":[{"id":10319,"href":"https:\/\/petrolera.umsa.edu.bo\/index.php\/wp-json\/wp\/v2\/pages\/363\/revisions\/10319"}],"wp:attachment":[{"href":"https:\/\/petrolera.umsa.edu.bo\/index.php\/wp-json\/wp\/v2\/media?parent=363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}