Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing: ==> Separador9bxj [in template "20097#20123#57221788" at line 168, column 38] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${Separador9bxj.Textoi99y.getData()} [in template "20097#20123#57221788" at line 168, column 36] ----
1<style>
2 /*ESTILOS EL BANNER*/
3 .contenedor_fragment_4980007 {
4 align-items: center;
5 box-sizing: border-box;
6 height: 576px;
7 padding: 35px;
8 position: relative;
9 width: 100%;
10 display: flex;
11 overflow: hidden;
12 }
13 <#if (Imagencaoj.getData())?? && Imagencaoj.getData() != "">
14 .contenedor_fragment_4980007::before {
15 content: "";
16 background-image: url("${Imagencaoj.getData()}" );
17 background-size: cover;
18 background-position: center;
19 position: absolute;
20 top: 0px;
21 right: 0px;
22 bottom: 0px;
23 left: 0px;
24 }
25 </#if>
26 .fondo_fragment_4980007 {
27 position: absolute;
28 top: 0;
29 left: 0;
30 width: 100%;
31 height: 100%;
32 /* object-fit: cover; */
33 z-index: -1; /* Envía la imagen detrás del contenido */
34 }
35
36 .contenido_fragment_4980007 {
37 display: flex;
38 flex-direction: column;
39 gap: 20px;
40 max-width: 858px;
41 position: relative;
42 z-index: 1; /* Asegura que el contenido esté por encima de la imagen */
43 }
44 .contenido_fragment_4980007 h1 {
45 margin: 0;
46 font-size: 64px;
47 }
48 .pb_fragment_4980007 {
49 background-color: transparent;
50 border: 2px solid #1b1d1f;
51 border-radius: 5px;
52 box-shadow: none;
53 cursor: pointer;
54 display: inline-block;
55 font-weight: 700;
56 line-height: 1.5;
57 margin-top: 0.5rem;
58 user-select: none;
59 vertical-align: middle;
60 width: fit-content;
61 padding: 0.8rem 0;
62 }
63
64 .pb_fragment_4980007:hover {
65 background: #1b1d1f;
66 }
67 .pb_fragment_4980007:hover a {
68 color: white;
69 }
70 .pb_fragment_4980007:active {
71 background: linear-gradient(
72 0deg,
73 rgba(0, 0, 0, 0.2) 0%,
74 rgba(0, 0, 0, 0.2) 100%
75 ),
76 #1b1d1f;
77 }
78 .pb_fragment_4980007 a {
79 text-decoration: none;
80 color: #1b1d1f;
81 padding: 0.83rem 3rem;
82 }
83
84 /*ESTILOS MODALIDAD*/
85 .contenedor_modalidad {
86 background-color: #222222;
87 color: white;
88 padding: 1rem 0.5rem;
89 }
90 .contenedor_modalidad > p {
91 text-align: center;
92 font-size:32px;
93 font-weight: bold;
94 margin:0;
95 }
96
97 /* ESTILOS INFORMACIÓN GENERAL */
98 .informacion_general_microcredencial {
99 display: flex;
100 flex-wrap: wrap;
101 gap: 50px 40px;
102 justify-content: center;
103 max-width: 1248px;
104 margin: 6rem auto 0;
105 width: 100%;
106 }
107 .informacion_general_microcredencial div {
108 box-sizing: border-box;
109 flex:0 0 210px;
110 text-align: center;
111
112 }
113 .informacion_general_microcredencial div h4 {
114 font-size: 16px;
115 margin: 0;
116 padding: 0;
117 margin-top: 10px;
118 }
119 .informacion_general_microcredencial div p {
120 font-size: 16px;
121 margin: 0;
122 margin-top: 5px;
123 padding: 0;
124 }
125
126 @media only screen and (max-width: 768px) {
127 .contenedor_fragment_4980007 {
128 justify-content: center;
129 height: auto;
130 padding: 100px 16px;
131 }
132 .contenido_fragment_4980007 {
133 align-items: center;
134 }
135 .contenido_fragment_4980007 h1 {
136 text-align: center;
137 font-size: 48px;
138 }
139
140 .contenedor_modalidad > p {
141 font-size: 24px;
142 }
143 }
144
145 @media only screen and (max-width: 600px) {
146 .contenido_fragment_4980007 h1 {
147 font-size: 32px;
148 }
149 .contenedor_modalidad > p {
150 font-size: 16px;
151 }
152 }
153 </style>
154 <#assign TITLE = .vars['reserved-article-title'].data />
155 <div class="contenedor_fragment_4980007">
156 <div class="contenido_fragment_4980007">
157 <h1>
158 ${TITLE}
159 </h1>
160 <button class="pb_fragment_4980007">
161 <a class="btn_fragment_4980007" target="_blank" href="">
162 Inscripciones abiertas
163 </a>
164 </button>
165 </div>
166 </div>
167 <div class="contenedor_modalidad">
168 <p class="modalidad_parrafo">${Separador9bxj.Textoi99y.getData()}</p>
169 </div>
170 <div class="informacion_general_microcredencial">
171 <div class="informacion_micro_item">
172 <img src="https://www.uninorte.edu.co/documents/15916181/57078734/reloj-de-pared+1.png/3423ca57-572d-aefb-5f4b-dd99d3b7ba52?t=1726601016681" alt="" />
173 <h4>Duración</h4>
174 <p>72 Horas</p>
175 </div>
176 <#assign Separador9bxj_Fechadpsj_Data = getterUtil.getString(Separador9bxj.Fechadpsj.getData())>
177 <#if validator.isNotNull(Separador9bxj_Fechadpsj_Data)>
178 <#assign Separador9bxj_Fechadpsj_DateObj = dateUtil.parseDate("yyyy-MM-dd", Separador9bxj_Fechadpsj_Data, locale)>
179 <div class="informacion_micro_item">
180 <img src="https://www.uninorte.edu.co/documents/15916181/57078734/calendario+%283%29+1.png/50e837b6-7b4b-1a0b-1911-e114c15c5434?t=1726601016276" alt="" />
181 <h4>Fecha de inicio</h4>
182 <p>${dateUtil.getDate(Separador9bxj_Fechadpsj_DateObj, "MMMM dd yyyy", locale)}</p>
183 </div>
184 </#if>
185 <div class="informacion_micro_item">
186 <img src="https://www.uninorte.edu.co/documents/15916181/57078734/dinero+1.png/f1345b6d-9e71-64bd-8c58-1e5a4dcacc33?t=1726601016481" alt="" />
187 <h4>Inversión</h4>
188 <p>$3.800.000/Participante</p>
189 </div>
190 <div class="informacion_micro_item">
191 <img src="https://www.uninorte.edu.co/documents/15916181/57078734/calendario+%282%29+2.png/4e3ff0e4-fb00-b437-e1c6-7f841c8cfa24?t=1726601016041" alt="" />
192 <h4>Horario presencial</h4>
193 <p>
194 Viernes de 5:30 p.m. a 9:30 p.m. y sábados de 7:30 a.m. a 3:30 p.m.
195 </p>
196 </div>
197 <div class="informacion_micro_item">
198 <img src="https://www.uninorte.edu.co/documents/15916181/57078734/soporte-en-linea+1.png/3183d965-8cac-361b-6cb2-40d9dfccdf0e?t=1726601016867" alt="" />
199 <h4>Horario remoto</h4>
200 <p>Martes, Miércoles y Jueves de 6:00 p.m a 9:00 p.m.</p>
201 </div>
202</div>
Una vez completada esta microcredencial, sus créditos podrán ser homologados al momento de ser admitido al programa de posgrado que así lo establezca
*Sujeto a condiciones y requisitos previos*
Contenido
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing: ==> Separadordzk7 [in template "20097#20123#57081094" at line 61, column 6] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #if Separadordzk7.Textohrwc?has_content [in template "20097#20123#57081094" at line 61, column 1] ----
1<style>
2 .contenedor_contenido {
3 box-sizing: border-box;
4 display: flex;
5 flex-wrap: wrap;
6 gap: 30px 25px;
7 justify-content: center;
8 width: 100%;
9 }
10 .contenido {
11 flex: 0 0 290px;
12 }
13 .contenido .contenido_contenido {
14 border-radius: 10px;
15 background: #fff;
16 box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
17 }
18 .contenedor_contenido header {
19 align-items: center;
20 background-color: #960a11;
21 border-top-right-radius: 5px;
22 border-top-left-radius: 5px;
23 display: flex;
24 height: 104px;
25 padding: 0 40px;
26 margin: 0;
27 user-select: none;
28 }
29 .contenedor_contenido header h3 {
30 color: white;
31 font-size: 16px;
32 text-align: center;
33 flex: 1;
34 }
35 .contenido_ul {
36 box-sizing: border-box;
37 padding: 30px 35px;
38 display: flex;
39 align-items: center;
40 }
41 .contenedor_contenido .contenido_ul ul {
42 margin: 0;
43 list-style: none;
44 padding: 0;
45 }
46 .contenedor_contenido .contenido_ul ul li {
47 color: #4e4e4e;
48 user-select: none;
49 margin-top: 0.3rem;
50 display: flex;
51 gap: 5px;
52 }
53 .contenedor_contenido ul li::before {
54 color: #4e4e4e;
55 content: "• ";
56 }
57 </style>
58
59<#-- SECCIÓN HTML INICIO -->
60
61<#if Separadordzk7.Textohrwc?has_content>
62<#assign _contenidos = Separadordzk7.Textohrwc> <#-- create variable _contenidos -->
63<div class="contenedor_contenido">
64 <#if _contenidos.getSiblings()?has_content>
65 <#list _contenidos.getSiblings() as _contenido>
66 <div class="contenido">
67 <div class="contenido_contenido">
68 <header>
69 <h3>${_contenido.getData()}</h3>
70 </header>
71 <div class="contenido_ul">
72 <#if _contenido.HTMLai34?has_content>
73 ${_contenido.HTMLai34.getData()}
74 </#if>
75 </div>
76 </div>
77 </div>
78 </#list>
79 </#if>
80</div>
81</#if>
82
83<#-- SECCIÓN HTML FIN -->
84
85<script>
86 const contenidoUlArray = document.querySelectorAll(".contenido_ul");
87 if (contenidoUlArray.length > 0) {
88 let maxHeight = 0;
89 contenidoUlArray.forEach((contUl) => {
90 if (contUl.clientHeight > maxHeight) {
91 maxHeight = contUl.clientHeight;
92 }
93 });
94 const newHeight = maxHeight + "px";
95 contenidoUlArray.forEach((contUl) => (contUl.style.height = newHeight));
96 }
97</script>
¿Tienes dudas?
Más información
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing: ==> Separador9bxj [in template "20097#20123#57068109" at line 1, column 62] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign Separador9bxj_Fechadpsj_Data ... [in template "20097#20123#57068109" at line 1, column 1] ----
1<#assign Separador9bxj_Fechadpsj_Data = getterUtil.getString(Separador9bxj.Fechadpsj.getData())>
2<#if SeccinInformacinAdicionalyklw.InformacinAdicional249k?has_content>
3<#assign _informacion = SeccinInformacinAdicionalyklw.InformacinAdicional249k>
4 <style>
5 .acord_template_un {
6 display: flex;
7 flex-direction: column !important;
8 align-items: center;
9 border: 0px;
10 background: white;
11 width:100%;
12 }
13 .boton_Acordeon {
14 width: 100%;
15 padding: 18px 0;
16 font-weight: 500 !important;
17 margin: 0;
18 cursor: pointer;
19 display: flex;
20 justify-content: space-between;
21 align-items: center;
22 }
23 .boton_Acordeon p {
24 color: #000;
25 margin: 0;
26 padding: 0;
27 font-size: 1rem;
28 }
29 .boton_Acordeon .minus {
30 width: 0.7rem;
31 height: 1px;
32 background: red;
33 }
34 .boton_Acordeon .plus {
35 width: 0.7rem;
36 height: 1px;
37 background: red;
38 transform: rotate(90deg);
39 }
40 .acord_template_un .cont_Acordeon_Un {
41 width: 98%;
42 background-color: transparent;
43 max-height: 0;
44 overflow: hidden;
45 transition: max-height 0.2s ease-out;
46 }
47 .acord_template_un .border_acordeon {
48 width: 100%;
49 border-bottom: 1px solid black;
50 }
51 .plus_no {
52 display: none;
53 }
54 </style>
55<#-- SECCIÓN HTML INICIO -->
56 <div class="acord_template_un">
57 <#if _informacion.getSiblings()?has_content>
58 <#list _informacion.getSiblings() as _info>
59 <div class="boton_Acordeon">
60 <p class="boton_Acordeon_texto">${_info.getData()}</p>
61 <div class="sign">
62 <div class="minus"></div>
63 <div class="plus"></div>
64 </div>
65 </div>
66 <div class="cont_Acordeon_Un">
67 ${_info.ContenidoInformacinAdicional1g0v.getData()}
68 </div>
69 <div class="border_acordeon"></div>
70 </#list>
71 </#if>
72 </div>
73<#-- SECCIÓN HTML FIN -->
74 <script>
75 var btn_ = document.getElementsByClassName("boton_Acordeon");
76 var i;
77 for (i = 0; i < btn_.length; i++) {
78 btn_[i].addEventListener("click", function () {
79 const plus = this.querySelector(".plus");
80 plus.classList.toggle("plus_no");
81 this.classList.toggle("active");
82 const cont_Acordeon_Un = this.nextElementSibling;
83 if (cont_Acordeon_Un.style.maxHeight) {
84 cont_Acordeon_Un.style.maxHeight = null;
85 } else {
86 cont_Acordeon_Un.style.maxHeight =
87 cont_Acordeon_Un.scrollHeight + "px";
88 }
89 });
90 }
91 </script>
92</#if>
Nuestros
Profesores
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing: ==> Profesor [in template "20097#20123#56860254" at line 49, column 10] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #if Profesor.getSiblings()?has_content [in template "20097#20123#56860254" at line 49, column 5] ----
1<style>
2 .profesor_credenciales {
3 box-sizing: border-box;
4 color: white;
5 display: flex;
6 flex-wrap: wrap;
7 gap: 24px;
8 margin: auto;
9 margin-top: 3rem;
10 max-width: 1000px;
11 padding: 0 24px;
12 }
13 .profesor_credencial_img{
14 background-color:white;
15 border-radius:100%;
16 width:200px;
17 height:200px;
18 border-radius:100%;
19 }
20 .profesor_credencial_img img{
21 border-radius:100%;
22 }
23 .profesor_credencial_content {
24 margin-top: 16px;
25 flex: 1;
26 }
27 .profesor_credencial_content * {
28 margin: 0;
29 }
30 .profesor_credencial_content > h3 {
31 font-size: 16px;
32 }
33 .profesor_credencial_content > h4 {
34 font-size: 14px;
35 }
36 .profesor_credencial_content > p {
37 margin-top: 1rem;
38 font-size: 14px;
39 }
40
41 @media only screen and (max-width: 600px) {
42 .profesor_credenciales {
43 flex-direction: column;
44 align-items: center;
45 text-align: center;
46 }
47 }
48 </style>
49 <#if Profesor.getSiblings()?has_content>
50 <#list Profesor.getSiblings() as cur_Profesor>
51 <div class="profesor_credenciales">
52 <#if (cur_Profesor.Imagen1nz1.getData())?? && cur_Profesor.Imagen1nz1.getData() != "">
53 <div class="profesor_credencial_img">
54 <img alt="${cur_Profesor.Imagen1nz1.getAttribute("alt")}" data-fileentryid="${cur_Profesor.Imagen1nz1.getAttribute("fileEntryId")}" src="${cur_Profesor.Imagen1nz1.getData()}" />
55 </div>
56 </#if>
57 <div class="profesor_credencial_content">
58 <h3>${cur_Profesor.getData()}</h3>
59 <h4>${cur_Profesor.emailProfesor.getData()}</h4>
60 <p>${cur_Profesor.CajaDeTexto1tlq.getData()}
61 </p>
62 </div>
63 </div>
64 </#list>
65 </#if>
Descubre lo más reciente
Noticias
Políticas Administrativas
*Todos nuestros programas corresponden a educación no formal que no conducen a título alguno o certificado de aptitud ocupacional
*El Centro de Educación Continuada se reserva el derecho de cancelar un programa o modificar del mismo lo siguiente: la fecha y horarios de realización, el valor de la inversión, los expertos facilitadores propuestos, los contenidos y el lugar donde se ofrecerá. Los programas se realizarán cuando se haya alcanzado un número establecido de participantes matriculados.
*En caso de que un programa se cancele por decisión de la Universidad, a los participantes matriculados que hayan realizado el pago hasta el momento, se les ofrecerá la posibilidad de conservar el pago como saldo a favor para participar en otro programa de Educación Continuada o se les devolverá la totalidad del valor de la matrícula.
*El certificado de asistencia se entrega a los participantes que acrediten mínimo el 80% de asistencia.
*El Centro de Educación Continuada se reserva el derecho de cancelar un programa o modificar del mismo lo siguiente: la fecha y horarios de realización, el valor de la inversión, los expertos facilitadores propuestos, los contenidos y el lugar donde se ofrecerá. Los programas se realizarán cuando se haya alcanzado un número establecido de participantes matriculados.
*En caso de que un programa se cancele por decisión de la Universidad, a los participantes matriculados que hayan realizado el pago hasta el momento, se les ofrecerá la posibilidad de conservar el pago como saldo a favor para participar en otro programa de Educación Continuada o se les devolverá la totalidad del valor de la matrícula.
*El certificado de asistencia se entrega a los participantes que acrediten mínimo el 80% de asistencia.
¿Tienes dudas?
Contáctanos
Patricia Cepeda
Coordinadora de Mercadeo
pcepeda@uninorte.edu.co
Coordinadora de Mercadeo
pcepeda@uninorte.edu.co
cec@uninorte.edu.co
(605) 3509509 Ext. 4223 - 3800 y 4893
Centro de Educación Continuada
(605) 3509509 Ext. 4223 - 3800 y 4893
Centro de Educación Continuada