{"id":94418,"date":"2025-09-22T15:40:53","date_gmt":"2025-09-22T20:40:53","guid":{"rendered":"https:\/\/uninavarra.edu.co\/?page_id=94418"},"modified":"2025-09-22T16:06:24","modified_gmt":"2025-09-22T21:06:24","slug":"invitacion-ceremonia-de-grado-privado-2025-3","status":"publish","type":"page","link":"https:\/\/uninavarra.edu.co\/en\/invitacion-ceremonia-de-grado-privado-2025-3\/","title":{"rendered":"Invitaci\u00f3n Ceremonia de Grado 2025-3"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><div data-vc-full-width=\"true\" data-vc-full-width-init=\"false\" data-vc-stretch-content=\"true\" class=\"wpb-container \"><div class=\"container-full\"><div class=\"vc_row wpb_row vc_row-fluid row  conteniddo\"><div class=\"col-sm-12  vc_\">\n\t\t<div class=\"wpb_wrapper \">\n\t\t\t\n\t<div class=\"wpb_raw_code wpb_raw_html wpb_content_element\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/@tsparticles\/confetti@3.0.3\/tsparticles.confetti.bundle.min.js\"><\/script>\n    <style>\n        html, body {\n            height: 100%;\n            margin: 0;\n            padding: 0;\n        }\n\n        body {\n            display: flex;\n            align-items: center; \n            justify-content: center;\n            font-family: \"Arial\", sans-serif;\n            overflow: auto;\n            background-image: url('https:\/\/uninavarra.edu.co\/wp-content\/uploads\/2024\/01\/solapa-dorada2-scaled.jpg');\n            background-size: cover;\n            background-repeat: no-repeat;\n            background-position: center;\n            background-attachment: fixed;\n        }\n\n        .envelope_form_wrap {\n            width: 100%;\n            height: 100vh;\n            position: relative;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n        }\n\n        .env_wrap {\n            position: relative;\n            overflow: visible;\n            width: 800px;\n            height: 440px;\n            background:\n                linear-gradient(180deg, rgba(255,255,255,0) 40%, rgba(255,255,255,0) 60%),\n                url('https:\/\/uninavarra.edu.co\/wp-content\/uploads\/2024\/01\/solapa-dorada2-scaled.jpg');\n            background-size: cover;\n            background-repeat: no-repeat;\n            background-position: center;\n            cursor: pointer;\n        }\n\n        .env_top {\n            filter: drop-shadow(0px 6px 3px rgba(50, 50, 0, 0.1));\n            position: absolute;\n            width: 100%;\n            height: 50%;\n            top: 0;\n            left: 0;\n            z-index: 99;\n            transition: all 0.8s ease-in-out;\n            transform-origin: top center;\n            backface-visibility: visible;\n            transform-style: preserve-3d;\n        }\n\n        .env_top:before {\n            content: '';\n            position: absolute;\n            width: 100%;\n            height: 100%;\n            background-image: url('https:\/\/uninavarra.edu.co\/wp-content\/uploads\/2025\/03\/SOLAPA-3.png');\n            background-size: cover;\n            background-position: center;\n            clip-path: polygon(50% 100%, 0 0, 100% 0);\n            transition: all 0.8s ease-in-out;\n            backface-visibility: hidden;\n            transform: rotateY(0deg);\n        }\n\n        .env_bottom_wrap {\n            height: 100%;\n            width: 100%;\n            z-index: 2;\n            bottom: 0;\n            position: absolute;\n            filter: drop-shadow(0px -6px 3px rgba(50, 50, 0, 0.1));\n        }\n\n        .env_bottom {\n            clip-path: polygon(50% 50%, 100% 0, 100% 100%, 0 100%, 0 0);\n            background-image: url('https:\/\/uninavarra.edu.co\/wp-content\/uploads\/2025\/03\/SOLAPA-3.png');\n            background-size: cover;\n            background-position: center;\n            width: 100%;\n            height: 100%;\n        }\n\n        .env_bottom:before, \n        .env_bottom:after {\n            content: '';\n            position: absolute;\n            background-image: url('https:\/\/uninavarra.edu.co\/wp-content\/uploads\/2025\/03\/SOLAPA-3.png');\n            background-size: cover;\n            background-position: center;\n            width: 50%;\n            height: 100%;\n        }\n\n        .env_bottom:before {\n            clip-path: polygon(100% 50%, 0 0, 0 100%);\n        }\n\n        .env_bottom:after {\n            right: 0;\n            clip-path: polygon(0 50%, 100% 0, 100% 100%);\n        }\n\n        .envelope-seal {\n            position: absolute;\n            top: 50%;\n            left: 50%;\n            transform: translate(-50%, -50%);\n            width: 160px;\n            height: 160px;\n            background-image: url('https:\/\/uninavarra.edu.co\/wp-content\/uploads\/2024\/01\/sello-uninavarra-3-1.png');\n            background-size: cover;\n            background-repeat: no-repeat;\n            background-position: center;\n            z-index: 100;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            border-radius: 50%;\n            filter: drop-shadow(0 4px 8px rgba(0,0,0,0.3));\n        }\n\n        .envelope-seal:hover {\n            transform: translate(-50%, -50%) scale(1.1);\n            filter: drop-shadow(0 6px 12px rgba(0,0,0,0.4));\n        }\n\n        .invitation-card {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    transform: translate(-50%, -50%);\n    width: 65%;\n    height: 166%;\n    background-size: cover;\n    background-position: center;\n    background-repeat: no-repeat;  \/* AGREGAR ESTA L\u00cdNEA *\/\n    box-shadow: 0 8px 25px rgba(0,0,0,0.3);\n    z-index: 50;\n    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);\n    opacity: 0;\n    visibility: hidden;\n    transform: translate(-50%, -50%) scale(0.8);\n    cursor: pointer;\n}\n\n        \/* Estados de la animaci\u00f3n *\/\n        #envelope_form.opened .env_top {\n            transform: rotateX(-180deg);\n            z-index: 1;\n            transition-delay: 0s;\n        }\n\n        #envelope_form.opened .invitation-card {\n            opacity: 1;\n            visibility: visible;\n            transform: translate(-50%, -60%) scale(1);\n            transition-delay: 0.4s;\n        }\n\n        #envelope_form.opened .envelope-seal {\n            opacity: 0;\n            visibility: hidden;\n        }\n\n        \/* Animaci\u00f3n de guardado *\/\n        #envelope_form.closing .invitation-card {\n            transform: translate(-50%, -50%) scale(0.8);\n            opacity: 0;\n            visibility: hidden;\n            transition-delay: 0s;\n        }\n\n        #envelope_form.closing .env_top {\n            transform: none;\n            z-index: 99;\n            transition-delay: 0.4s;\n        }\n\n        #envelope_form.closing .envelope-seal {\n            opacity: 1;\n            visibility: visible;\n            transition-delay: 0.6s;\n        }\n\n        \/* Animaci\u00f3n de pulso para el sello *\/\n        @keyframes pulse {\n            0% {\n                transform: translate(-50%, -50%) scale(1);\n            }\n            50% {\n                transform: translate(-50%, -50%) scale(1.05);\n            }\n            100% {\n                transform: translate(-50%, -50%) scale(1);\n            }\n        }\n\n        .envelope-seal {\n            animation: pulse 2s infinite;\n        }\n\n        #envelope_form.opened .envelope-seal {\n            animation: none;\n        }\n\n        \/* Responsivo *\/\n        @media (max-width: 768px) {\n            .env_wrap {\n                width: 90vw;\n                height: 60vw;\n                max-width: 500px;\n                max-height: 350px;\n            }\n\n            .envelope-seal {\n                width: 150px;\n                height: 150px;\n            }\n\n            .invitation-card {\n                width: 98%;\n                height: 200%;\n            }\n        }\n\n        @media (max-width: 480px) {\n            .env_wrap {\n                width: 95vw;\n                height: 65vw;\n            }\n\n            .envelope-seal {\n                width: 90px;\n                height: 90px;\n            }\n        }\n\n        \/* Estilos para mensajes de estado *\/\n        .loading-message {\n            position: absolute;\n            top: 10px;\n            left: 50%;\n            transform: translateX(-50%);\n            background: rgba(255, 255, 255, 0.9);\n            padding: 10px 20px;\n            border-radius: 5px;\n            z-index: 1000;\n            font-size: 14px;\n            color: #333;\n            display: none;\n        }\n\n        .error-message {\n            position: absolute;\n            top: 10px;\n            left: 50%;\n            transform: translateX(-50%);\n            background: rgba(255, 0, 0, 0.9);\n            color: white;\n            padding: 10px 20px;\n            border-radius: 5px;\n            z-index: 1000;\n            font-size: 14px;\n            display: none;\n        }\n\n        .wpo-off-canvas.sidebar-offcanvas.hidden-lg.hidden-md {\n            display: none !important;\n        }\n    <\/style>\n\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"wpb_raw_code wpb_raw_html wpb_content_element\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t\n    \n    <div class=\"envelope_form_wrap\">\n        <div id=\"envelope_form\">\n            <div class=\"env_wrap\">\n                <div class=\"env_top\"><\/div>\n                <div class=\"env_bottom_wrap\">\n                    <div class=\"env_bottom\"><\/div>\n                <\/div>\n                <div class=\"envelope-seal\" id=\"envelopeSeal\"><\/div>\n                <div class=\"invitation-card\" id=\"invitationCard\"><\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"wpb_raw_code wpb_raw_js\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<script>\n        let isOpened = false;\n        let isAnimating = false;\n        let invitationImageUrl = 'https:\/\/uninavarra.edu.co\/wp-content\/uploads\/2024\/11\/Tarjeta-Felicidades.jpg';\n        let imageLoaded = false; \/\/ Nueva variable para controlar si la imagen ya se carg\u00f3\n\n        \/\/ Crear elemento de audio para aplausos\n        const applauseSound = new Audio('https:\/\/uninavarra.edu.co\/wp-content\/uploads\/2025\/07\/un-banco_1.mp3');\n        applauseSound.preload = 'auto';\n        applauseSound.volume = 0.7;\n\n        \/\/ Funci\u00f3n para mostrar mensajes de estado - CORREGIDA\n        function showMessage(messageId, text, duration = 3000) {\n            const element = document.getElementById(messageId);\n            if (element) {  \/\/ Verificar que el elemento existe\n                if (text) element.textContent = text;\n                element.style.display = 'block';\n                setTimeout(() => {\n                    element.style.display = 'none';\n                }, duration);\n            } else {\n                \/\/ Si el elemento no existe, mostrar en consola para debugging\n                console.log(`Mensaje (${messageId}): ${text}`);\n            }\n        }\n\n        \/\/ Funci\u00f3n para obtener datos de Google Sheets\n        async function getCSVFByDocId(id, rango, key) {\n            try {\n                let url = `https:\/\/sheets.googleapis.com\/v4\/spreadsheets\/${id}\/values\/${rango}?key=${key}`;\n                const response = await fetch(url);\n                if (!response.ok) {\n                    throw new Error(`Error HTTP: ${response.status}`);\n                }\n                return await response.json();\n            } catch (error) {\n                console.error('Error al obtener datos:', error);\n                throw error;\n            }\n        }\n\n        \/\/ Funci\u00f3n para establecer la imagen de fondo\n        function setInvitationImage(imageUrl) {\n            const invitationCard = document.getElementById('invitationCard');\n            if (invitationCard) {\n                invitationCard.style.backgroundImage = `url('${imageUrl}')`;\n                imageLoaded = true;\n            }\n        }\n\n        \/\/ Funci\u00f3n para procesar los datos del Excel\n        function procesaDatosAJSON(infoJson) {\n            try {\n                let entries = infoJson.values;\n                if (!entries || entries.length === 0) {\n                    throw new Error('No se encontraron datos en el Excel');\n                }\n\n                let numFilas = entries.length;\n                let campos = [];\n                let datos = [];\n\n                \/\/ Procesar datos\n                for (var f = 0; f < numFilas; f++) {\n                    let fila = entries[f];\n                    let obj = {};\n\n                    for (var c = 0; c < fila.length; c++) {\n                        let celda = fila[c];\n                        if (f == 0) {\n                            campos.push(celda);\n                        } else {\n                            obj[campos[c]] = celda;\n                        }\n                    }\n\n                    if (f > 0) datos.push(obj);\n                }\n\n                \/\/ Obtener la c\u00e9dula del URL\n                const urlParams = new URLSearchParams(window.location.search);\n                const cedula = urlParams.get('cedula');\n\n                \/\/ URL predeterminada\n                const urlPredeterminada = 'https:\/\/uninavarra.edu.co\/wp-content\/uploads\/2024\/11\/Tarjeta-Felicidades.jpg';\n                \n                \/\/ Buscar la imagen correspondiente a la c\u00e9dula\n                let enlaceImagen = urlPredeterminada;\n                \n                if (cedula) {\n                    for (let i = 0; i < datos.length; i++) {\n                        let cedula_excel = datos[i].Cedula;\n                        let url_imagen = datos[i].Enlace_tarjeta;\n                        \n                        if (cedula === cedula_excel && url_imagen) {\n                            enlaceImagen = url_imagen;\n                            break;\n                        }\n                    }\n                }\n\n                \/\/ Establecer la imagen de fondo de la tarjeta de invitaci\u00f3n\n                invitationImageUrl = enlaceImagen;\n                setInvitationImage(enlaceImagen);\n                \n                console.log('Imagen establecida:', enlaceImagen);\n                \n            } catch (error) {\n                console.error('Error al procesar datos:', error);\n                showMessage('errorMessage', 'Error al procesar los datos del Excel');\n                \n                \/\/ Usar imagen por defecto en caso de error\n                setInvitationImage(invitationImageUrl);\n            }\n        }\n\n        \/\/ Funci\u00f3n para crear fuegos artificiales con im\u00e1genes personalizadas\n        function createConfettiFireworks() {\n            \/\/ Verificar si confetti est\u00e1 disponible\n            if (typeof confetti === 'undefined') {\n                console.log('Confetti library no est\u00e1 disponible');\n                return;\n            }\n\n            const customImages = [\n                {\n                    src: \"https:\/\/uninavarra.edu.co\/wp-content\/uploads\/2025\/03\/hoja.png\",\n                    width: 200,\n                    height: 200,\n                }\n            ];\n\n            function fireConfetti(originX, originY, particleCount = 50, spreadValue = 70) {\n                confetti({\n                    particleCount: particleCount,\n                    spread: spreadValue,\n                    origin: { x: originX, y: originY },\n                    ticks: 200,\n                    gravity: 0.8,\n                    decay: 0.94,\n                    startVelocity: 25,\n                    scalar: 2.5,\n                    shapes: [\"image\"],\n                    shapeOptions: {\n                        image: customImages\n                    }\n                });\n            }\n\n            \/\/ Secuencia de fuegos artificiales\n            const fireworksSequence = [\n                { delay: 0, x: 0.25, y: 0.3, particles: 60, spread: 80 },\n                { delay: 300, x: 0.75, y: 0.4, particles: 50, spread: 70 },\n                { delay: 600, x: 0.5, y: 0.2, particles: 80, spread: 90 },\n                { delay: 900, x: 0.15, y: 0.6, particles: 40, spread: 60 },\n                { delay: 1200, x: 0.85, y: 0.7, particles: 45, spread: 65 },\n                { delay: 1500, x: 0.6, y: 0.5, particles: 70, spread: 85 }\n            ];\n\n            fireworksSequence.forEach(fw => {\n                setTimeout(() => {\n                    fireConfetti(fw.x, fw.y, fw.particles, fw.spread);\n                }, fw.delay);\n            });\n\n            \/\/ Lluvia de confeti desde arriba\n            setTimeout(() => {\n                confetti({\n                    particleCount: 80,\n                    spread: 120,\n                    origin: { y: 0.1 },\n                    ticks: 250,\n                    gravity: 0.6,\n                    decay: 0.92,\n                    startVelocity: 20,\n                    scalar: 2,\n                    shapes: [\"image\"],\n                    shapeOptions: {\n                        image: customImages\n                    }\n                });\n            }, 400);\n\n            \/\/ Confeti desde los lados\n            setTimeout(() => {\n                confetti({\n                    particleCount: 40,\n                    spread: 60,\n                    origin: { x: 0, y: 0.5 },\n                    angle: 45,\n                    ticks: 200,\n                    gravity: 0.7,\n                    decay: 0.94,\n                    startVelocity: 30,\n                    scalar: 2.2,\n                    shapes: [\"image\"],\n                    shapeOptions: {\n                        image: customImages\n                    }\n                });\n\n                confetti({\n                    particleCount: 40,\n                    spread: 60,\n                    origin: { x: 1, y: 0.5 },\n                    angle: 135,\n                    ticks: 200,\n                    gravity: 0.7,\n                    decay: 0.94,\n                    startVelocity: 30,\n                    scalar: 2.2,\n                    shapes: [\"image\"],\n                    shapeOptions: {\n                        image: customImages\n                    }\n                });\n            }, 800);\n\n            \/\/ Explosi\u00f3n final grande\n            setTimeout(() => {\n                confetti({\n                    particleCount: 100,\n                    spread: 360,\n                    origin: { y: 0.5 },\n                    ticks: 300,\n                    gravity: 1,\n                    decay: 0.94,\n                    startVelocity: 35,\n                    scalar: 3,\n                    shapes: [\"image\"],\n                    shapeOptions: {\n                        image: customImages\n                    }\n                });\n            }, 1800);\n\n            \/\/ M\u00faltiples peque\u00f1as explosiones\n            setTimeout(() => {\n                for (let i = 0; i < 5; i++) {\n                    setTimeout(() => {\n                        confetti({\n                            particleCount: 30,\n                            spread: 50,\n                            origin: { \n                                x: Math.random() * 0.6 + 0.2, \n                                y: Math.random() * 0.4 + 0.3 \n                            },\n                            ticks: 150,\n                            gravity: 0.9,\n                            decay: 0.95,\n                            startVelocity: 20,\n                            scalar: 1.8,\n                            shapes: [\"image\"],\n                            shapeOptions: {\n                                image: customImages\n                            }\n                        });\n                    }, i * 200);\n                }\n            }, 2200);\n        }\n\n        function openEnvelope() {\n            if (isAnimating) return;\n            isAnimating = true;\n            const envelope = document.getElementById('envelope_form');\n            \n            if (envelope) {  \/\/ Verificar que el elemento existe\n                envelope.classList.remove('closing');\n                envelope.classList.add('opened');\n                isOpened = true;\n\n                \/\/ Reproducir sonido de aplausos despu\u00e9s de 1 segundo\n                setTimeout(() => {\n                    applauseSound.currentTime = 0;\n                    applauseSound.play().catch(error => {\n                        console.log('Error al reproducir audio:', error);\n                    });\n                }, 1000);\n\n                \/\/ Iniciar fuegos artificiales\n                setTimeout(() => {\n                    createConfettiFireworks();\n                }, 600);\n\n                setTimeout(() => {\n                    isAnimating = false;\n                }, 1200);\n            } else {\n                console.log('Elemento envelope_form no encontrado');\n                isAnimating = false;\n            }\n        }\n\n        function closeEnvelope() {\n            if (isAnimating) return;\n            isAnimating = true;\n            const envelope = document.getElementById('envelope_form');\n            \n            if (envelope) {  \/\/ Verificar que el elemento existe\n                envelope.classList.remove('opened');\n                envelope.classList.add('closing');\n                isOpened = false;\n\n                \/\/ Detener sonido\n                applauseSound.pause();\n                applauseSound.currentTime = 0;\n\n                setTimeout(() => {\n                    envelope.classList.remove('closing');\n                    isAnimating = false;\n                }, 1200);\n            } else {\n                console.log('Elemento envelope_form no encontrado');\n                isAnimating = false;\n            }\n        }\n\n        \/\/ Inicializar la aplicaci\u00f3n\n        async function init() {\n            try {\n                showMessage('loadingMessage', 'Cargando datos...');\n                \n                const data = await getCSVFByDocId('1TVGlyvq6Bs6qGeV_pACYj1TGXUNCke1EZ1bb-mE-Tg0', 'inv!A:Z', 'AIzaSyBnk4I7IbLq1GV4wVuIypF6lAXijdVknSw');\n                procesaDatosAJSON(data);\n                \n                \/\/ Ocultar mensaje de carga si existe\n                const loadingElement = document.getElementById('loadingMessage');\n                if (loadingElement) {\n                    loadingElement.style.display = 'none';\n                }\n                \n            } catch (error) {\n                console.error('Error al inicializar:', error);\n                showMessage('errorMessage', 'Error al cargar los datos. Se usar\u00e1 la imagen por defecto.');\n                \n                \/\/ Ocultar mensaje de carga si existe\n                const loadingElement = document.getElementById('loadingMessage');\n                if (loadingElement) {\n                    loadingElement.style.display = 'none';\n                }\n                \n                \/\/ Usar imagen por defecto\n                setInvitationImage(invitationImageUrl);\n            }\n        }\n\n        \/\/ Event listeners\n        document.addEventListener('DOMContentLoaded', function() {\n            \/\/ Ocultar elemento sidebar si existe\n            const target = document.querySelector('.wpo-off-canvas.sidebar-offcanvas.hidden-lg.hidden-md');\n            if (target) {\n                target.style.setProperty('display', 'none', 'important');\n            }\n\n            \/\/ Event listeners para el sobre\n            const envelopeSeal = document.getElementById('envelopeSeal');\n            if (envelopeSeal) {\n                envelopeSeal.addEventListener('click', function(e) {\n                    e.stopPropagation();\n                    if (!isOpened) {\n                        openEnvelope();\n                    }\n                });\n            }\n\n            const invitationCard = document.getElementById('invitationCard');\n            if (invitationCard) {\n                invitationCard.addEventListener('click', function(e) {\n                    e.stopPropagation();\n                    if (isOpened) {\n                        closeEnvelope();\n                    }\n                });\n                \n                \/\/ NO establecer imagen inicial aqu\u00ed - se establecer\u00e1 despu\u00e9s de cargar los datos\n            }\n\n            \/\/ Cerrar si se hace clic fuera\n            document.addEventListener('click', function(e) {\n                if (e.target.id === 'invitationCard' || e.target.id === 'envelopeSeal') {\n                    return;\n                }\n                if (isOpened && !isAnimating) {\n                    closeEnvelope();\n                }\n            });\n            \n            \/\/ Inicializar la aplicaci\u00f3n\n            init();\n        });\n    <\/script>\n\t\t<\/div>\n\t<\/div>\n\n\t\t<\/div> \n\t<\/div><\/div><\/div><\/div><div class=\"vc_row-full-width\"><\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":13,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-94418","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Invitaci\u00f3n Ceremonia de Grado 2025-3 - Uninavarra<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/uninavarra.edu.co\/en\/invitacion-ceremonia-de-grado-privado-2025-3\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Invitaci\u00f3n Ceremonia de Grado 2025-3 - Uninavarra\" \/>\n<meta property=\"og:url\" content=\"https:\/\/uninavarra.edu.co\/en\/invitacion-ceremonia-de-grado-privado-2025-3\/\" \/>\n<meta property=\"og:site_name\" content=\"Uninavarra\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/UninavarraEduca\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-22T21:06:24+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@uninavarraeduca\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/uninavarra.edu.co\\\/invitacion-ceremonia-de-grado-privado-2025-3\\\/\",\"url\":\"https:\\\/\\\/uninavarra.edu.co\\\/invitacion-ceremonia-de-grado-privado-2025-3\\\/\",\"name\":\"Invitaci\u00f3n Ceremonia de Grado 2025-3 - Uninavarra\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/uninavarra.edu.co\\\/#website\"},\"datePublished\":\"2025-09-22T20:40:53+00:00\",\"dateModified\":\"2025-09-22T21:06:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/uninavarra.edu.co\\\/invitacion-ceremonia-de-grado-privado-2025-3\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/uninavarra.edu.co\\\/invitacion-ceremonia-de-grado-privado-2025-3\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/uninavarra.edu.co\\\/invitacion-ceremonia-de-grado-privado-2025-3\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/uninavarra.edu.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Invitaci\u00f3n Ceremonia de Grado 2025-3\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/uninavarra.edu.co\\\/#website\",\"url\":\"https:\\\/\\\/uninavarra.edu.co\\\/\",\"name\":\"UNINAVARRA\",\"description\":\"Haz realidad tu deseo de aprender\",\"publisher\":{\"@id\":\"https:\\\/\\\/uninavarra.edu.co\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/uninavarra.edu.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/uninavarra.edu.co\\\/#organization\",\"name\":\"Fundaci\u00f3n Universitaria Navarra - UNINAVARRA\",\"url\":\"https:\\\/\\\/uninavarra.edu.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/uninavarra.edu.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/uninavarra.edu.co\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/Escudo-uninavarra-Solo.png\",\"contentUrl\":\"https:\\\/\\\/uninavarra.edu.co\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/Escudo-uninavarra-Solo.png\",\"width\":1500,\"height\":1401,\"caption\":\"Fundaci\u00f3n Universitaria Navarra - UNINAVARRA\"},\"image\":{\"@id\":\"https:\\\/\\\/uninavarra.edu.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/UninavarraEduca\",\"https:\\\/\\\/x.com\\\/uninavarraeduca\",\"https:\\\/\\\/www.instagram.com\\\/uninavarra\\\/?hl=es\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/fundacin-universitaria-navarra-uninavarra-b41225222\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Invitaci\u00f3n Ceremonia de Grado 2025-3 - Uninavarra","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/uninavarra.edu.co\/en\/invitacion-ceremonia-de-grado-privado-2025-3\/","og_locale":"en_US","og_type":"article","og_title":"Invitaci\u00f3n Ceremonia de Grado 2025-3 - Uninavarra","og_url":"https:\/\/uninavarra.edu.co\/en\/invitacion-ceremonia-de-grado-privado-2025-3\/","og_site_name":"Uninavarra","article_publisher":"https:\/\/www.facebook.com\/UninavarraEduca","article_modified_time":"2025-09-22T21:06:24+00:00","twitter_card":"summary_large_image","twitter_site":"@uninavarraeduca","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/uninavarra.edu.co\/invitacion-ceremonia-de-grado-privado-2025-3\/","url":"https:\/\/uninavarra.edu.co\/invitacion-ceremonia-de-grado-privado-2025-3\/","name":"Invitaci\u00f3n Ceremonia de Grado 2025-3 - Uninavarra","isPartOf":{"@id":"https:\/\/uninavarra.edu.co\/#website"},"datePublished":"2025-09-22T20:40:53+00:00","dateModified":"2025-09-22T21:06:24+00:00","breadcrumb":{"@id":"https:\/\/uninavarra.edu.co\/invitacion-ceremonia-de-grado-privado-2025-3\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/uninavarra.edu.co\/invitacion-ceremonia-de-grado-privado-2025-3\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/uninavarra.edu.co\/invitacion-ceremonia-de-grado-privado-2025-3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/uninavarra.edu.co\/"},{"@type":"ListItem","position":2,"name":"Invitaci\u00f3n Ceremonia de Grado 2025-3"}]},{"@type":"WebSite","@id":"https:\/\/uninavarra.edu.co\/#website","url":"https:\/\/uninavarra.edu.co\/","name":"UNINAVARRA","description":"Make your desire to learn a reality","publisher":{"@id":"https:\/\/uninavarra.edu.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/uninavarra.edu.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/uninavarra.edu.co\/#organization","name":"Navarre University Foundation - UNINAVARRA","url":"https:\/\/uninavarra.edu.co\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/uninavarra.edu.co\/#\/schema\/logo\/image\/","url":"https:\/\/uninavarra.edu.co\/wp-content\/uploads\/2024\/06\/Escudo-uninavarra-Solo.png","contentUrl":"https:\/\/uninavarra.edu.co\/wp-content\/uploads\/2024\/06\/Escudo-uninavarra-Solo.png","width":1500,"height":1401,"caption":"Fundaci\u00f3n Universitaria Navarra - UNINAVARRA"},"image":{"@id":"https:\/\/uninavarra.edu.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/UninavarraEduca","https:\/\/x.com\/uninavarraeduca","https:\/\/www.instagram.com\/uninavarra\/?hl=es","https:\/\/www.linkedin.com\/in\/fundacin-universitaria-navarra-uninavarra-b41225222\/"]}]}},"_links":{"self":[{"href":"https:\/\/uninavarra.edu.co\/en\/wp-json\/wp\/v2\/pages\/94418","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/uninavarra.edu.co\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/uninavarra.edu.co\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/uninavarra.edu.co\/en\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/uninavarra.edu.co\/en\/wp-json\/wp\/v2\/comments?post=94418"}],"version-history":[{"count":0,"href":"https:\/\/uninavarra.edu.co\/en\/wp-json\/wp\/v2\/pages\/94418\/revisions"}],"wp:attachment":[{"href":"https:\/\/uninavarra.edu.co\/en\/wp-json\/wp\/v2\/media?parent=94418"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/uninavarra.edu.co\/en\/wp-json\/wp\/v2\/categories?post=94418"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/uninavarra.edu.co\/en\/wp-json\/wp\/v2\/tags?post=94418"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}