<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>africa &#8211; jp.ik</title>
	<atom:link href="https://www.jpik.com/pt/tag/africa-pt/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.jpik.com</link>
	<description></description>
	<lastBuildDate>Tue, 15 Sep 2026 14:56:14 +0000</lastBuildDate>
	<language>pt-PT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://www.jpik.com/wp-content/uploads/2025/01/cropped-africa-infreddnovation-32x32.png</url>
	<title>africa &#8211; jp.ik</title>
	<link>https://www.jpik.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Promover a Educação Digital em Grande Escala no Quénia</title>
		<link>https://www.jpik.com/pt/promover-a-educacao-digital-em-grande-escala-no-quenia/</link>
		
		<dc:creator><![CDATA[Maria Ferreira]]></dc:creator>
		<pubDate>Thu, 23 Jul 2026 08:42:19 +0000</pubDate>
				<category><![CDATA[África]]></category>
		<category><![CDATA[Casos de Estudo]]></category>
		<category><![CDATA[africa]]></category>
		<category><![CDATA[caso estudo]]></category>
		<guid isPermaLink="false">https://www.jpik.com/?p=21764</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
		<div id="fws_6abbfc62ada5c"  data-column-margin="default" data-midnight="dark" data-top-percent="5%" data-bottom-percent="2%"  class="wpb_row vc_row-fluid vc_row top-level"  style="padding-top: calc(100vw * 0.05); padding-bottom: calc(100vw * 0.02); "><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop"  style=""></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-6 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				
<div class="wpb_text_column wpb_content_element  vc_custom_1784541387719" >
	<h1 style="color: #164074;">Investing in education is the route for the development of a nation.</h1>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<h4>Kenya Digital Literacy Programme</h4>
</div>




			</div> 
		</div>
	</div> 

	<div  class="vc_col-sm-6 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				
<div class="wpb_text_column wpb_content_element " >
	<p>jp.ik has more than 25 years of experience in the field of ICT, occupying a place of leadership and reference not only in its national market, but also internationally. Since the beginning jp.ik has been devoted to the distribution of high-end technological solutions and since 2008 jp.ik has invested in the field of ICT applied to Education, becoming pioneer in the delivery of a revolutionary educational project based on three dimensions – engineering, technology and training – offering a full, integrated and customized educational solution respecting the traits of each project and ruled by the UN Sustainable Development Goals.</p>
<p>From Europe to Latin America, from Asia to Middle East and North Africa and sub-Saharan Africa jp.ik is present in more than 70 countries, leading a digital revolution in Education as a facilitator for the educational system modernization; empowering  teachers and engaging students.</p>
</div>




			</div> 
		</div>
	</div> 
</div></div>
		<div id="fws_6abbfc62af8c3"  data-column-margin="default" data-midnight="dark"  class="wpb_row vc_row-fluid vc_row"  style="padding-top: 0px; padding-bottom: 0px; "><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop"  style=""></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				<div id="fws_6abbfc62b5921" data-midnight="" data-column-margin="default" class="wpb_row vc_row-fluid vc_row inner_row"  style=""><div class="row-bg-wrap"> <div class="row-bg" ></div> </div><div class="row_col_wrap_12_inner col span_12  left">
	<div  class="vc_col-sm-12 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			
	<div class="wpb_raw_code wpb_raw_html wpb_content_element" >
		<div class="wpb_wrapper">
			<iframe width="560" height="315" src="https://www.youtube.com/embed/qmRRD7kYX7k?si=47cg87BdDg-BxWb7" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
		</div>
	</div>

		</div> 
	</div>
	</div> 
</div></div>
			</div> 
		</div>
	</div> 
</div></div>
		<div id="home"  data-column-margin="90px" data-midnight="dark" data-bottom-percent="2%"  class="wpb_row vc_row-fluid vc_row full-width-section has-row-bg-color vc_row-o-equal-height vc_row-flex vc_row-o-content-middle  reverse_columns_column_tablet reverse_columns_column_phone top_padding_tablet_8pct bottom_padding_tablet_8pct"  style="padding-top: 0px; padding-bottom: calc(100vw * 0.02); --row-bg-color: #ffffff;"><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop using-bg-color"  style="background-color: #ffffff; "></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-12 vc_col-xs-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				<div id="fws_6abbfc62b72d0" data-midnight="" data-column-margin="default" class="wpb_row vc_row-fluid vc_row inner_row"  style=""><div class="row-bg-wrap"> <div class="row-bg" ></div> </div><div class="row_col_wrap_12_inner col span_12  left">
	<div  class="vc_col-sm-6 wpb_column column_container vc_column_container col child_column no-extra-padding el_spacing_5px inherit_tablet inherit_phone "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			<div class="nectar-highlighted-text" data-style="regular_underline" data-exp="default" data-underline-thickness="1px" data-user-color="true" style="color: #164074;" data-using-custom-color="true" data-animation-delay="400" data-color="#e0e0e0" data-color-gradient="" style=""><h2><em>Who &amp; where</em></h2>
</div>
<div class="wpb_text_column wpb_content_element " >
	<p>The lack of qualified teachers in terms of using and interacting with ICT, the lack of equipments, the still high-priced equipments, the lack of Internet connection or a barely existent one are a few of the distinctive features of a country very eager to bring its own educational system into the 21st century and investing in its own economic and social growth through investing in the Education of its children.<br />
Extremely aware of the importance of technology as a catalyst for the academic success, social inclusion and the economic growth, the Kenyan Government decided that it was urgent to redesign the Education model and bring it to the New Millennium.</p>
</div>




		</div> 
	</div>
	</div> 

	<div  class="vc_col-sm-6 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			<div class="nectar-highlighted-text" data-style="regular_underline" data-exp="default" data-underline-thickness="1px" data-user-color="true" style="color: #164074;" data-using-custom-color="true" data-animation-delay="400" data-color="#e0e0e0" data-color-gradient="" style=""><h2><em>What</em></h2>
</div>
<div class="wpb_text_column wpb_content_element " >
	<p>In 2013 the Kenyan Government kicked off the Digital Literacy Programme built upon a multi stakeholder approach with the participation of several government organizations, committing to the integration of ICT in every single public Primary Schools of Kenya.<br />
In order to implement this Government initiative, it was launched a public competition and 8 proposals were presented, among them Lenovo, Huawei and HP. jp.ik strongly believes in the importance of the participation of local agents for the development of this type of projects. For this reason, jp.ik presented its proposal in collaboration with Moi University. Once more jp.ik’s expertise and know-how in the field of Education was recognized and jp.ik won 2 from the 3 batches.</p>
</div>




		</div> 
	</div>
	</div> 
</div></div>
			</div> 
		</div>
	</div> 
</div></div>
		<div id="home"  data-column-margin="90px" data-midnight="dark" data-bottom-percent="2%"  class="wpb_row vc_row-fluid vc_row full-width-section has-row-bg-color vc_row-o-equal-height vc_row-flex vc_row-o-content-middle  reverse_columns_column_tablet reverse_columns_column_phone top_padding_tablet_8pct bottom_padding_tablet_8pct"  style="padding-top: 0px; padding-bottom: calc(100vw * 0.02); --row-bg-color: #ffffff;"><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop using-bg-color"  style="background-color: #ffffff; "></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-12 vc_col-xs-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				<div id="fws_6abbfc62b91b5" data-midnight="" data-column-margin="default" class="wpb_row vc_row-fluid vc_row inner_row"  style=""><div class="row-bg-wrap"> <div class="row-bg" ></div> </div><div class="row_col_wrap_12_inner col span_12  left">
	<div style="" class="vc_col-sm-12 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone "  data-using-bg="true" data-bg-cover="true" data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" ><div class="column-image-bg-wrap column-bg-layer viewport-desktop" data-n-parallax-bg="true" data-parallax-speed="fast" data-bg-pos="center center" data-bg-animation="none" data-bg-overlay="false"><div class="inner-wrap"><div class="column-image-bg parallax-layer" style="background-image: url(https://source.unsplash.com/collection/49597329/weekly); "></div></div></div>
		<div class="wpb_wrapper">
			<div class="nectar-highlighted-text" data-style="regular_underline" data-exp="default" data-underline-thickness="1px" data-user-color="true" style="color: #164074;" data-using-custom-color="true" data-animation-delay="400" data-color="#e0e0e0" data-color-gradient="" style=""><h2><em>How</em></h2>
</div>
<div class="wpb_text_column wpb_content_element " >
	<p>jp.ik participation in this educational project includes equipping 13 500 classrooms; capacitating 30 000 teachers and impacting 695 000 students. jp.ik’s role, in partnership with Moi University, highlights its own capacity to delivery full, integrated and  innovative technological solutions which are customized according to the essence of each project. This means that the solution designed by jp.ik regarding the Kenyan educational project settles in its three areas of expertise:</p>
</div>




		</div> 
	</div>
	</div> 
</div></div><div id="fws_6abbfc62b9b8f" data-midnight="" data-column-margin="default" class="wpb_row vc_row-fluid vc_row inner_row"  style=""><div class="row-bg-wrap"> <div class="row-bg" ></div> </div><div class="row_col_wrap_12_inner col span_12  left">
	<div  class="vc_col-sm-4 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			
<div class="wpb_text_column wpb_content_element " >
	<p><strong>Engineering</strong>: an assembly plant which accommodates a post sale service and a call center in Moi University.</p>
</div>




		</div> 
	</div>
	</div> 

	<div  class="vc_col-sm-4 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			
<div class="wpb_text_column wpb_content_element " >
	<p><strong>Technology</strong>: set up of digital classrooms and Classroom Management software and the delivery of equipments to teachers and students.</p>
</div>




		</div> 
	</div>
	</div> 

	<div  class="vc_col-sm-4 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			
<div class="wpb_text_column wpb_content_element " >
	<p><strong>Training</strong>: capacitating teachers, students and the assembly plant workers in accordance to their skills and their jobs specifications.</p>
</div>




		</div> 
	</div>
	</div> 
</div></div>
			</div> 
		</div>
	</div> 
</div></div>
		<div id="fws_6abbfc62bb026"  data-column-margin="default" data-midnight="dark" data-top-percent="2%" data-bottom-percent="2%"  class="wpb_row vc_row-fluid vc_row"  style="padding-top: calc(100vw * 0.02); padding-bottom: calc(100vw * 0.02); "><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop"  style=""></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				<div id="fws_6abbfc62bb709" data-midnight="" data-column-margin="default" class="wpb_row vc_row-fluid vc_row inner_row"  style=""><div class="row-bg-wrap"> <div class="row-bg" ></div> </div><div class="row_col_wrap_12_inner col span_12  left">
	<div  class="vc_col-sm-12 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			<div class="nectar-highlighted-text" data-style="regular_underline" data-exp="default" data-underline-thickness="1px" data-user-color="true" style="color: #164074;" data-using-custom-color="true" data-animation-delay="400" data-color="#e0e0e0" data-color-gradient="" style=""><h2><em>When</em></h2>
</div>
<div class="wpb_text_column wpb_content_element " >
	<p>This educational project in collaboration with Moi University which started during the last quarter of 2015 is already in development phased into three stages:</p>
</div>




		</div> 
	</div>
	</div> 
</div></div><div id="fws_6abbfc62bc0a7" data-midnight="" data-column-margin="default" class="wpb_row vc_row-fluid vc_row inner_row"  style=""><div class="row-bg-wrap"> <div class="row-bg" ></div> </div><div class="row_col_wrap_12_inner col span_12  left">
	<div  class="vc_col-sm-4 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			
<div class="wpb_text_column wpb_content_element " >
	<p><strong>Proof of concept</strong></p>
</div>




<div class="wpb_text_column wpb_content_element " >
	<p>• Setting up of 79 digital classrooms;<br />
• Training 145 teachers;<br />
• Delivering 6197 equipments.</p>
</div>




		</div> 
	</div>
	</div> 

	<div  class="vc_col-sm-4 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			
<div class="wpb_text_column wpb_content_element " >
	<p><strong>Phase II</strong></p>
</div>




<div class="wpb_text_column wpb_content_element " >
	<p>• Implementation of the project in large scale. In the field there is a team of 300 professionals directly involved in the project.<br />
• 100 classrooms are set up per day, in other words, 500 per week.<br />
• An average delivery of 25.000 equipments per week.</p>
</div>




		</div> 
	</div>
	</div> 

	<div  class="vc_col-sm-4 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			
<div class="wpb_text_column wpb_content_element " >
	<p><strong>Phase III</strong></p>
</div>




<div class="wpb_text_column wpb_content_element " >
	<p>• Total of 13.500 digital classrooms<br />
• Total of 45.000 teachers trained<br />
• Total of 695.000 students impacted</p>
</div>




		</div> 
	</div>
	</div> 
</div></div>
			</div> 
		</div>
	</div> 
</div></div>
		<div id="home"  data-column-margin="90px" data-midnight="dark" data-bottom-percent="2%"  class="wpb_row vc_row-fluid vc_row full-width-section has-row-bg-color vc_row-o-equal-height vc_row-flex vc_row-o-content-middle  reverse_columns_column_tablet reverse_columns_column_phone top_padding_tablet_8pct bottom_padding_tablet_8pct"  style="padding-top: 0px; padding-bottom: calc(100vw * 0.02); --row-bg-color: #ffffff;"><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop using-bg-color"  style="background-color: #ffffff; "></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-12 vc_col-xs-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				<div id="fws_6abbfc62bdf34" data-midnight="" data-column-margin="default" class="wpb_row vc_row-fluid vc_row inner_row"  style=""><div class="row-bg-wrap"> <div class="row-bg" ></div> </div><div class="row_col_wrap_12_inner col span_12  left">
	<div style="" class="vc_col-sm-12 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone "  data-using-bg="true" data-bg-cover="true" data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" ><div class="column-image-bg-wrap column-bg-layer viewport-desktop" data-n-parallax-bg="true" data-parallax-speed="fast" data-bg-pos="center center" data-bg-animation="none" data-bg-overlay="false"><div class="inner-wrap"><div class="column-image-bg parallax-layer" style="background-image: url(https://source.unsplash.com/collection/49597329/weekly); "></div></div></div>
		<div class="wpb_wrapper">
			<div class="nectar-highlighted-text" data-style="regular_underline" data-exp="default" data-underline-thickness="1px" data-user-color="true" style="color: #164074;" data-using-custom-color="true" data-animation-delay="400" data-color="#e0e0e0" data-color-gradient="" style=""><h2><em>Why</em></h2>
</div>
<div class="wpb_text_column wpb_content_element " >
	<p>For a Government investing in the Education means to ensure its Nation’s future; to secure its economic development, and to uphold cultural and intellectual enrichment of its citizens and social inclusion. Thereby investing in the modernization of an educational system, bringing it to the 21st century is not, at all, a closed project. The ramifications that impact society and which are the outcomes of this kind of revolutionary educational projects are present in a variety of sectors of society:</p>
</div>




		</div> 
	</div>
	</div> 
</div></div><div id="fws_6abbfc62be8fa" data-midnight="" data-column-margin="default" class="wpb_row vc_row-fluid vc_row inner_row"  style=""><div class="row-bg-wrap"> <div class="row-bg" ></div> </div><div class="row_col_wrap_12_inner col span_12  left">
	<div  class="vc_col-sm-4 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			<div class="nectar_icon_wrap " data-style="default" data-padding="20px" data-color="extra-color-3" style="" >
		<div class="nectar_icon" ><i style="font-size: 50px; line-height: 50px; height: 50px; width: 50px;" class="fa fa-cogs"></i></div>
	</div>
<div class="wpb_text_column wpb_content_element " >
	<p><strong>Engineering</strong></p>
</div>




<div class="wpb_text_column wpb_content_element " >
	<p>• <strong>New job creation</strong> (directly and indirectly): All the people involved in the project and the workers of the assembly plant; Fostering industrial and economic developmentof adjacent areas (paper, plastic); Promoting the development of new skills.</p>
<p>• <strong>Boosting business growth</strong>: Setting up a factory locally decreases the distance between demand-supply by lowering costs and the selling price. Diversifying of the portfolio (rising from tablets to smartphones, desktops and portable PCs) increase competitiveness.</p>
</div>




		</div> 
	</div>
	</div> 

	<div  class="vc_col-sm-4 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			<div class="nectar_icon_wrap " data-style="default" data-padding="20px" data-color="extra-color-3" style="" >
		<div class="nectar_icon" ><i style="font-size: 50px; line-height: 50px; height: 50px; width: 50px;" class="fa fa-laptop"></i></div>
	</div>
<div class="wpb_text_column wpb_content_element " >
	<p><strong>Technology</strong></p>
</div>




<div class="wpb_text_column wpb_content_element " >
	<p>Delivering technological devices to the school community which promotes a first approach to educational technologies.<br />
Delivering Classroom Management software essential for teachers in order to prepare and conduct classes.</p>
</div>




		</div> 
	</div>
	</div> 

	<div  class="vc_col-sm-4 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			<div class="nectar_icon_wrap " data-style="default" data-padding="20px" data-color="extra-color-3" style="" >
		<div class="nectar_icon" ><i style="font-size: 50px; line-height: 50px; height: 50px; width: 50px;" class="fa fa-book"></i></div>
	</div>
<div class="wpb_text_column wpb_content_element " >
	<p><strong>Training</strong></p>
</div>




<div class="wpb_text_column wpb_content_element " >
	<p>Delivering technological devices to the school community which promotes a first approach to educational technologies.<br />
Delivering Classroom Management software essential for teachers in order to prepare and conduct classes.</p>
</div>




		</div> 
	</div>
	</div> 
</div></div>
			</div> 
		</div>
	</div> 
</div></div>
		<div id="fws_6abbfc62c0c83"  data-column-margin="default" data-midnight="dark"  class="wpb_row vc_row-fluid vc_row"  style="padding-top: 0px; padding-bottom: 0px; "><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop"  style=""></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				<div id="fws_6abbfc62c1415" data-midnight="" data-column-margin="default" class="wpb_row vc_row-fluid vc_row inner_row"  style=""><div class="row-bg-wrap"> <div class="row-bg" ></div> </div><div class="row_col_wrap_12_inner col span_12  left">
	<div  class="vc_col-sm-3 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><a class="nectar-button large see-through extra-color-2"  role="button" style="" target="_blank" href="#" data-color-override="false" data-hover-color-override="false" data-hover-text-color-override="#fff"><span>Download</span></a>
		</div> 
	</div>
	</div> 

	<div  class="vc_col-sm-3 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			
		</div> 
	</div>
	</div> 

	<div  class="vc_col-sm-3 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			
		</div> 
	</div>
	</div> 

	<div  class="vc_col-sm-3 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			
		</div> 
	</div>
	</div> 
</div></div>
			</div> 
		</div>
	</div> 
</div></div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Capacitar as Comunidades Locais para a Integração das Tecnologias Educativas em África</title>
		<link>https://www.jpik.com/pt/capacitar-as-comunidades-locais-para-a-integracao-das-tecnologias-educativas-em-africa/</link>
		
		<dc:creator><![CDATA[Maria Ferreira]]></dc:creator>
		<pubDate>Thu, 23 Jul 2026 08:39:00 +0000</pubDate>
				<category><![CDATA[África]]></category>
		<category><![CDATA[Casos de Estudo]]></category>
		<category><![CDATA[africa]]></category>
		<category><![CDATA[caso estudo]]></category>
		<guid isPermaLink="false">https://www.jpik.com/?p=21758</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
		<div id="fws_6abbfc62c5b8e"  data-column-margin="default" data-midnight="dark" data-top-percent="5%" data-bottom-percent="2%"  class="wpb_row vc_row-fluid vc_row"  style="padding-top: calc(100vw * 0.05); padding-bottom: calc(100vw * 0.02); "><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop"  style=""></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-8 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				
<div class="wpb_text_column wpb_content_element  vc_custom_1789482417826" >
	<h1 style="color: #164074;">A jp.ik chega a cerca de mil agentes educativos em África com uma abordagem significativa à integração das tecnologias educativas</h1>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<h4><em>Impulsionar uma (r)evolução educativa através de uma abordagem inovadora no domínio das tecnologias educativas.</em></h4>
</div>




			</div> 
		</div>
	</div> 

	<div  class="vc_col-sm-4 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				<div class="nectar-highlighted-text" data-style="regular_underline" data-exp="default" data-underline-thickness="1px" data-user-color="true" style="color: #164074;" data-using-custom-color="true" data-animation-delay="400" data-color="#e0e0e0" data-color-gradient="" style=""><h2><em>Resumo Executivo</em></h2>
</div>
<div class="wpb_text_column wpb_content_element " >
	<p>Nos últimos oito anos, a jp.ik tem vindo a reunir conhecimentos e experiência no que diz respeito à integração eficaz e eficiente de soluções pedagógicas e tecnológicas de alto nível no domínio da educação.<br />
Em África, o principal objetivo dos projetos de formação da jp.ik tem sido a melhoria da aprendizagem e o desenvolvimento de condições favoráveis através da inovação pedagógica. Para alcançar este objetivo, a jp.ik tem vindo a colaborar com agentes locais em todo o mundo — desde a Europa à América Latina, da Ásia ao Médio Oriente e Norte de África, até à África Subsariana — para desenvolver projetos educativos de ponta que oferecem uma combinação de soluções pedagógicas inovadoras e integradoras, baseadas em tecnologias de vanguarda.</p>
</div>




			</div> 
		</div>
	</div> 
</div></div>
		<div id="home"  data-column-margin="90px" data-midnight="dark" data-bottom-percent="2%"  class="wpb_row vc_row-fluid vc_row full-width-section has-row-bg-color vc_row-o-equal-height vc_row-flex vc_row-o-content-middle  reverse_columns_column_tablet reverse_columns_column_phone top_padding_tablet_8pct bottom_padding_tablet_8pct"  style="padding-top: 0px; padding-bottom: calc(100vw * 0.02); --row-bg-color: #ffffff;"><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop using-bg-color"  style="background-color: #ffffff; "></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-12 vc_col-xs-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				<div id="fws_6abbfc62c79fa" data-midnight="" data-column-margin="default" class="wpb_row vc_row-fluid vc_row inner_row"  style=""><div class="row-bg-wrap"> <div class="row-bg" ></div> </div><div class="row_col_wrap_12_inner col span_12  left">
	<div  class="vc_col-sm-6 wpb_column column_container vc_column_container col child_column no-extra-padding el_spacing_5px inherit_tablet inherit_phone flex_gap_desktop_10px "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			
<div class="wpb_text_column wpb_content_element " >
	<p><strong>Contexto</strong></p>
</div>




<div class="wpb_text_column wpb_content_element " >
	<div>
<p>O principal objetivo dos projetos de formação da jp.ik em África tem sido a melhoria da aprendizagem, a par do desenvolvimento das condições económicas e sociais, através da inovação pedagógica baseada na utilização de tecnologias de ponta.</p>
<p>Por conseguinte, a visão da jp.ik em relação à educação assenta numa integração significativa das Tecnologias Educativas (EdTech) nos ambientes de aprendizagem, que devem estar fortemente ligados aos intervenientes locais no domínio da educação. Isto significa que a formação deve ser concebida e implementada como uma abordagem abrangente à integração das EdTech, tendo em conta não só a dimensão tecnológica, mas também todos os elementos que fazem parte do Modelo ik – tecnologias, conteúdos, processos, relações e significação.</p>
<p>A tecnologia está a mudar a forma como percebemos o que nos rodeia; está a mudar a forma como nos relacionamos uns com os outros; está a mudar a forma como nos comprometemos com causas e valores; está a mudar a forma como acedemos e recolhemos informação; está a mudar a forma como aprendemos.</p>
</div>
</div>




		</div> 
	</div>
	</div> 

	<div  class="vc_col-sm-6 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<p>Por conseguinte, é evidente que a tecnologia desempenha um papel importante na educação, sobretudo no que diz respeito a proporcionar acesso a informação de qualidade e, consequentemente, a uma educação de qualidade. Com 68 cursos de formação realizados em Angola, Benim, Gabão, Costa do Marfim, Quénia, Marrocos e África do Sul, a jp.ik chegou a 1 350 agentes educativos com o objetivo de:</p>
<p>• Melhorar as suas competências de aprendizagem ao longo da vida.<br />
• Utilizar as tecnologias educativas (EdTech) para potenciar o desempenho académico dos alunos.</p>
<p>Todos os cursos de formação centraram-se em metodologias que têm em conta os currículos locais e os Objetivos de Desenvolvimento Sustentável como eixo central das atividades, utilizando as tecnologias educativas como recursos de exploração e produção.</p>
</div>




		</div> 
	</div>
	</div> 
</div></div>
			</div> 
		</div>
	</div> 
</div></div>
		<div id="home"  data-column-margin="90px" data-midnight="dark" data-bottom-percent="2%"  class="wpb_row vc_row-fluid vc_row full-width-section has-row-bg-color vc_row-o-equal-height vc_row-flex vc_row-o-content-middle  reverse_columns_column_tablet reverse_columns_column_phone top_padding_tablet_8pct bottom_padding_tablet_8pct"  style="padding-top: 0px; padding-bottom: calc(100vw * 0.02); --row-bg-color: #ffffff;"><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop using-bg-color"  style="background-color: #ffffff; "></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-12 vc_col-xs-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				<div class="nectar-highlighted-text" data-style="regular_underline" data-exp="default" data-underline-thickness="1px" data-user-color="true" style="color: #164074;" data-using-custom-color="true" data-animation-delay="400" data-color="#e0e0e0" data-color-gradient="" style=""><h2>Uma visão geral dos projetos educativos da jp.ik<br />
em África</h2>
</div><div id="fws_6abbfc62c98e4" data-midnight="" data-column-margin="default" class="wpb_row vc_row-fluid vc_row inner_row"  style=""><div class="row-bg-wrap"> <div class="row-bg" ></div> </div><div class="row_col_wrap_12_inner col span_12  left">
	<div style="" class="vc_col-sm-6 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "  data-using-bg="true" data-bg-cover="true" data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" ><div class="column-image-bg-wrap column-bg-layer viewport-desktop" data-n-parallax-bg="true" data-parallax-speed="fast" data-bg-pos="center center" data-bg-animation="none" data-bg-overlay="false"><div class="inner-wrap"><div class="column-image-bg parallax-layer" style="background-image: url(https://source.unsplash.com/collection/49597329/weekly); "></div></div></div>
		<div class="wpb_wrapper">
			
<div class="wpb_text_column wpb_content_element  vc_custom_1789482762539" >
	<p>Em <strong>Angola</strong>, foram realizados 11 cursos de formação que envolveram 138 agentes educativos, incluindo professores e funcionários do Ministério da Educação responsáveis pela supervisão de todo o processo de formação e implementação.<br />
No que diz respeito a estes projetos educativos, os principais objetivos foram:<br />
• Promover o desenvolvimento profissional do corpo docente angolano através da implementação de recursos tecnológicos e da necessidade de rever as práticas pedagógicas.<br />
• Aumentar a literacia no país, utilizando as novas tecnologias para aceder a informação relevante.</p>
<p>&nbsp;</p>
<p><strong><span style="font-size: 69pt;">“</span></strong><br />
<span style="color: #000000;"><em>&#8220;This training is essential to launch and sustain the project, because there are many tools I’ve<br />
never used before.&#8221; </em></span></p>
<p><span style="color: #d3d3d3;">&#8211; Angolan Teacher</span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><em>&#8220;Learning is easy. There is a very strong connection between technology and pedagogy.&#8221;</em></span></p>
<p><span style="color: #d3d3d3;">&#8211; Angolan Educational Agent from the ME</span></p>
</div>



<div class="divider-wrap" data-alignment="default"><div style="margin-top: 50px; width: 20%; height: 4px; margin-bottom: 50px;" data-width="20%" data-animate="" data-animation-delay="" data-color="default" class="divider-small-border"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<p>No <strong>Quénia</strong>, foram realizados 49 cursos de formação para 494 agentes educativos, incluindo formadores principais (professores da Universidade do Ministério da Educação, coordenadores de formação, técnicos e coordenadores de TIC) e professores do ensino básico<br />
O principal objetivo destes projetos educativos foi:<br />
• Melhorar as condições de aprendizagem e o acesso à mesma, estabelecendo sempre ligações entre as perspetivas globais e a realidade local através do Projeto DigiSchool.</p>
<p>&nbsp;</p>
<p><strong><span style="font-size: 69pt;">“</span></strong><br />
<span style="color: #000000;"><em>&#8220;Am sure the jp training is what made us competent to perform well during the teachers training.&#8221;</em></span></p>
<p><span style="color: #d3d3d3;">&#8211; Kenyan Master Trainer from Moi University</span></p>
</div>



<div class="divider-wrap" data-alignment="default"><div style="margin-top: 50px; width: 20%; height: 4px; margin-bottom: 50px;" data-width="20%" data-animate="" data-animation-delay="" data-color="default" class="divider-small-border"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<p>Em <strong>Marrocos</strong>, foi realizado um curso de formação para um grupo de 4 educadores.<br />
O principal objetivo deste projeto educativo era:<br />
• Promover oportunidades de interações centradas na aprendizagem entre crianças hospitalizadas.</p>
<p>&nbsp;</p>
<p><strong><span style="font-size: 69pt;">“</span></strong><br />
<span style="color: #000000;"><em>&#8220;We are now able to create empowering opportunities for our children, even though they stay here for many months.”</em></span></p>
<p><span style="color: #d3d3d3;">&#8211; Moroccan Educator at the Maison de l’enfant</span></p>
</div>




		</div> 
	</div>
	</div> 

	<div  class="vc_col-sm-6 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			
<div class="wpb_text_column wpb_content_element " >
	<p>No <strong>Benim</strong>, foi promovido um curso de formação destinado a seis técnicos e coordenadores de TIC.<br />
O principal objetivo deste projeto educativo era:<br />
• Reforçar as capacidades locais para reconhecer e utilizar de forma autónoma as operações básicas do Software de Gestão da Sala de Aula.</p>
<p>No <strong>Gabão</strong>, foram realizados três cursos de formação com 62 professores e gestores de TIC.<br />
O principal objetivo destes projetos educativos era:<br />
• Reforçar as capacidades locais para configurar, manter e utilizar as operações básicas do Software de Gestão da Sala de Aula.</p>
<p>&nbsp;</p>
<p><strong><span style="font-size: 69pt;">“</span></strong><br />
<span style="color: #000000;"><em>&#8220;It was an excellent opportunity to practice everything with a lot of support from our trainers. I feel we are really well-prepared to start the work now!&#8221;</em></span></p>
<p><span style="color: #d3d3d3;">&#8211; Gabonese Teacher</span></p>
</div>



<div class="divider-wrap" data-alignment="default"><div style="margin-top: 50px; width: 20%; height: 5px; margin-bottom: 50px;" data-width="20%" data-animate="" data-animation-delay="" data-color="default" class="divider-small-border"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<p>Na <strong>Costa do Marfim</strong>, foi realizado um curso de formação com 11 coordenadores pedagógicos.<br />
Para este projeto educativo, os principais objetivos foram:<br />
• Melhorar as práticas pedagógicas através da implementação de recursos tecnológicos de ponta.<br />
• Desenvolver as práticas comunitárias dos professores.</p>
<p>&nbsp;</p>
<p><strong><span style="font-size: 69pt;">“</span></strong><br />
<span style="color: #000000;"><em>&#8220;It was really interactive and the trainers were always there for us. Work with the students’ computers during training is essential to the success of any ICT integration project in schools.&#8221;</em></span></p>
<p><span style="color: #d3d3d3;">&#8211; Ivorian ICT Coordinator</span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><em>&#8220;It was well-structured. Trainers were highly competent. Training had a strong practical<br />
dimension.&#8221;</em></span></p>
<p><span style="color: #d3d3d3;">&#8211; Ivorian Pedagogical Coordinator</span></p>
</div>



<div class="divider-wrap" data-alignment="default"><div style="margin-top: 50px; width: 20%; height: 1px; margin-bottom: 50px;" data-width="20%" data-animate="" data-animation-delay="" data-color="default" class="divider-small-border"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<p>Na <strong>África do Sul</strong>, foram realizados dois cursos de formação para 15 professores e técnicos de TIC.<br />
O principal objetivo destes projetos educativos era:<br />
• Melhorar a qualidade da oferta educativa e as oportunidades sociais e económicas para os jovens, através de programas de desenvolvimento de competências e de formação.<br />
• Promover o profissionalismo, as competências pedagógicas e a literacia informática.</p>
<p>&nbsp;</p>
<p><strong><span style="font-size: 69pt;">“</span></strong><br />
<span style="color: #000000;"><em>The bar must be lifted especially now that the Education landscape – and subsequently some of the teachers’ roles – have changed</em></span></p>
<p><span style="color: #d3d3d3;">South African School Director</span></p>
</div>




		</div> 
	</div>
	</div> 
</div></div>
			</div> 
		</div>
	</div> 
</div></div>
		<div id="fws_6abbfc62cb5f4"  data-column-margin="default" data-midnight="dark" data-top-percent="2%" data-bottom-percent="2%"  class="wpb_row vc_row-fluid vc_row"  style="padding-top: calc(100vw * 0.02); padding-bottom: calc(100vw * 0.02); "><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop"  style=""></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				<div class="nectar-highlighted-text" data-style="regular_underline" data-exp="default" data-underline-thickness="1px" data-user-color="true" style="color: #164074;" data-using-custom-color="true" data-animation-delay="400" data-color="#e0e0e0" data-color-gradient="" style=""><h2>Impacto da formação dos agentes educativos para uma integração significativa das tecnologias educativas (EdTech) em África</h2>
</div><div id="fws_6abbfc62cbfa3" data-midnight="" data-column-margin="default" class="wpb_row vc_row-fluid vc_row inner_row"  style=""><div class="row-bg-wrap"> <div class="row-bg" ></div> </div><div class="row_col_wrap_12_inner col span_12  left">
	<div  class="vc_col-sm-12 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			
<div class="wpb_text_column wpb_content_element " >
	<p><strong>Como os programas da jp.ik impulsionam a educação em África</strong></p>
</div>




<div class="wpb_text_column wpb_content_element " >
	<div>
<p>Uma integração significativa das tecnologias educativas (EdTech) nos ambientes de aprendizagem está intimamente relacionada com a formação dos intervenientes locais no setor educativo.</p>
<p>Esta formação deve ser concebida e implementada como uma abordagem abrangente à integração das tecnologias educativas, tendo em conta não só a dimensão tecnológica, mas também todos os elementos que fazem parte do Modelo ik – Tecnologias, Conteúdos, Processos, Relações e Significação. Todos os cursos ik-Learning assentam firmemente nestas premissas.</p>
<p>Nos países da África Subsariana, a grande procura por ensino superior torna o ensino à distância cada vez mais relevante. Isto reforça a experiência africana no que diz respeito ao ensino à distância e à tecnologia, com vista a aumentar as oportunidades educativas. Ao ter em conta as diferenças e necessidades culturais, sociais e etnográficas, a formação ik-Learning está a ter impacto em:</p>
</div>
</div>




		</div> 
	</div>
	</div> 
</div></div><div id="fws_6abbfc62cc999" data-midnight="" data-column-margin="default" class="wpb_row vc_row-fluid vc_row inner_row"  style=""><div class="row-bg-wrap"> <div class="row-bg" ></div> </div><div class="row_col_wrap_12_inner col span_12  left">
	<div  class="vc_col-sm-6 wpb_column column_container vc_column_container col child_column centered-text no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			<div class="nectar_icon_wrap " data-style="default" data-padding="20px" data-color="extra-color-3" style="" >
		<div class="nectar_icon" ><i style="font-size: 50px; line-height: 50px; height: 50px; width: 50px;" class="fa fa-graduation-cap"></i></div>
	</div>
<div class="wpb_text_column wpb_content_element " >
	<p><strong>Desempenho académico</strong></p>
</div>




<div class="wpb_text_column wpb_content_element " >
	<div>
<p>A aprendizagem através dos colegas</p>
</div>
</div>



<div class="nectar_icon_wrap " data-draw="true" data-style="default" data-padding="0px" data-color="extra-color-gradient-2" style="" >
		<div class="nectar_icon" style="height: 26px; width: 26px;"><i style="font-size: 20px; line-height: 24px; height: 24px; width: 24px;" class="icon-arrows-down"></i></div>
	</div>
<div class="wpb_text_column wpb_content_element " >
	<div>
<p>Controlo e prevenção do absentismo</p>
</div>
</div>



<div class="nectar_icon_wrap " data-draw="true" data-style="default" data-padding="0px" data-color="extra-color-gradient-2" style="" >
		<div class="nectar_icon" style="height: 26px; width: 26px;"><i style="font-size: 20px; line-height: 24px; height: 24px; width: 24px;" class="icon-arrows-down"></i></div>
	</div>
<div class="wpb_text_column wpb_content_element " >
	<div>
<p>Controlo e prevenção das taxas de retenção</p>
</div>
</div>




		</div> 
	</div>
	</div> 

	<div  class="vc_col-sm-6 wpb_column column_container vc_column_container col child_column centered-text no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			<div class="nectar_icon_wrap " data-style="default" data-padding="20px" data-color="extra-color-3" style="" >
		<div class="nectar_icon" ><i style="font-size: 50px; line-height: 50px; height: 50px; width: 50px;" class="fa fa-user"></i></div>
	</div>
<div class="wpb_text_column wpb_content_element " >
	<p><strong>Desenvolvimento profissional dos professores</strong></p>
</div>




<div class="wpb_text_column wpb_content_element " >
	<p>Literacia dos media e digital</p>
</div>



<div class="nectar_icon_wrap " data-draw="true" data-style="default" data-padding="0px" data-color="extra-color-gradient-2" style="" >
		<div class="nectar_icon" style="height: 26px; width: 26px;"><i style="font-size: 20px; line-height: 24px; height: 24px; width: 24px;" class="icon-arrows-down"></i></div>
	</div>
<div class="wpb_text_column wpb_content_element " >
	<div>
<p>Aprendizagem ao longo da vida</p>
</div>
</div>



<div class="nectar_icon_wrap " data-draw="true" data-style="default" data-padding="0px" data-color="extra-color-gradient-2" style="" >
		<div class="nectar_icon" style="height: 26px; width: 26px;"><i style="font-size: 20px; line-height: 24px; height: 24px; width: 24px;" class="icon-arrows-down"></i></div>
	</div>
<div class="wpb_text_column wpb_content_element " >
	<div>
<p>Envolvimento dos pais nas escolas</p>
</div>
</div>




		</div> 
	</div>
	</div> 
</div></div><div id="fws_6abbfc62ceb73" data-midnight="" data-column-margin="default" class="wpb_row vc_row-fluid vc_row inner_row"  style=""><div class="row-bg-wrap"> <div class="row-bg" ></div> </div><div class="row_col_wrap_12_inner col span_12  left">
	<div  class="vc_col-sm-3 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			
		</div> 
	</div>
	</div> 

	<div  class="vc_col-sm-6 wpb_column column_container vc_column_container col child_column centered-text no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			<div class="nectar_icon_wrap " data-style="default" data-padding="20px" data-color="extra-color-3" style="" >
		<div class="nectar_icon" ><i style="font-size: 50px; line-height: 50px; height: 50px; width: 50px;" class="fa fa-laptop"></i></div>
	</div>
<div class="wpb_text_column wpb_content_element " >
	<p><strong>Literacia dos media e digital</strong></p>
</div>



<div class="nectar_icon_wrap " data-draw="true" data-style="default" data-padding="0px" data-color="extra-color-gradient-2" style="" >
		<div class="nectar_icon" style="height: 26px; width: 26px;"><i style="font-size: 20px; line-height: 24px; height: 24px; width: 24px;" class="icon-arrows-down"></i></div>
	</div>
<div class="wpb_text_column wpb_content_element " >
	<div>
<p>Maior autonomia / Capacidade de decisão</p>
</div>
</div>




		</div> 
	</div>
	</div> 

	<div  class="vc_col-sm-3 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			
		</div> 
	</div>
	</div> 
</div></div>
			</div> 
		</div>
	</div> 
</div></div>
		<div id="home"  data-column-margin="90px" data-midnight="dark" data-bottom-percent="2%"  class="wpb_row vc_row-fluid vc_row full-width-section has-row-bg-color vc_row-o-equal-height vc_row-flex vc_row-o-content-middle  reverse_columns_column_tablet reverse_columns_column_phone top_padding_tablet_8pct bottom_padding_tablet_8pct"  style="padding-top: 0px; padding-bottom: calc(100vw * 0.02); --row-bg-color: #ffffff;"><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop using-bg-color"  style="background-color: #ffffff; "></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-12 vc_col-xs-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><div id="fws_6abbfc62d0ff6" data-midnight="" data-column-margin="default" class="wpb_row vc_row-fluid vc_row inner_row"  style=""><div class="row-bg-wrap"> <div class="row-bg" ></div> </div><div class="row_col_wrap_12_inner col span_12  left">
	<div style="" class="vc_col-sm-12 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "  data-using-bg="true" data-bg-cover="true" data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" ><div class="column-image-bg-wrap column-bg-layer viewport-desktop" data-n-parallax-bg="true" data-parallax-speed="fast" data-bg-pos="center center" data-bg-animation="none" data-bg-overlay="false"><div class="inner-wrap"><div class="column-image-bg parallax-layer" style="background-image: url(https://source.unsplash.com/collection/49597329/weekly); "></div></div></div>
		<div class="wpb_wrapper">
			<div class="nectar-highlighted-text" data-style="regular_underline" data-exp="default" data-underline-thickness="1px" data-user-color="true" style="color: #164074;" data-using-custom-color="true" data-animation-delay="400" data-color="#e0e0e0" data-color-gradient="" style=""><h2>Em resumo</h2>
</div>
<div class="wpb_text_column wpb_content_element " >
	<p><strong>Inspirar e proporcionar novas oportunidades no domínio da educação</strong></p>
</div>




<div class="wpb_text_column wpb_content_element " >
	<div>
<p>Neste contexto de dinamização da educação através de uma abordagem inovadora que entrelaça a pedagogia e a tecnologia, a jp.ik aposta em inspirar e proporcionar novas oportunidades às gerações atuais e futuras, considerando a educação como o caminho para o crescimento e o desenvolvimento económico e social de uma sociedade.</p>
<p>Até ao momento, a ação da jp.ik em África abrangeu 7 países; chegou a 1 350 agentes educativos; e promoveu 68 cursos de formação.</p>
</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
		</div> 
	</div>
	</div> 
</div></div>
	<div class="wpb_raw_code wpb_raw_html wpb_content_element" >
		<div class="wpb_wrapper">
			<!doctype html>
<html lang="en" data-visualize-standalone>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="referrer" content="no-referrer">
<title>Africa Training Chart</title>
<style>:root {
  color-scheme: light dark;
  background-color: transparent !important;

  /* Agent-facing contract; keep in sync with SKILL.md. */
  --background: var(
    --main-surface-primary,
    light-dark(rgb(255 255 255), rgb(24 24 24))
  );
  --foreground: light-dark(rgb(26 28 31), rgb(255 255 255));
  --card: color-mix(in oklab, var(--foreground) 5%, transparent);
  --card-foreground: var(--foreground);
  --popover: light-dark(rgb(255 255 255), rgb(45 45 45));
  --popover-foreground: var(--foreground);
  --primary: light-dark(rgb(51 156 255), rgb(131 195 255));
  --primary-foreground: light-dark(rgb(255 255 255), rgb(13 13 13));
  --secondary: light-dark(rgb(255 255 255 / 96%), rgb(54 54 54 / 96%));
  --secondary-foreground: var(--foreground);
  --muted: color-mix(in srgb, var(--foreground) 10%, transparent);
  --muted-foreground: light-dark(
    rgb(26 28 31 / 49.4%),
    rgb(255 255 255 / 49.8%)
  );
  --accent: light-dark(rgb(229 242 255), rgb(13 39 63));
  --accent-foreground: var(--primary);
  --destructive: light-dark(rgb(226 85 7), rgb(255 133 73));
  --border: light-dark(rgb(26 28 31 / 8%), rgb(255 255 255 / 8.2%));
  --input: light-dark(
    rgb(26 28 31 / 11.8%),
    color-mix(in oklab, rgb(0 0 0) 10%, transparent)
  );
  --ring: light-dark(rgb(51 156 255), rgb(131 195 255 / 76%));
  --font-size-base: 14px;

  /* Internal implementation variables; not part of the agent contract. */
  --font-sans: -apple-system, system-ui, "Segoe UI", sans-serif;
  --font-mono:
    ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono",
    monospace;
  --font-size-normal: max(11px, var(--font-size-base));
  --font-size-tooltip: calc(var(--font-size-base) - 1px);
  --font-size-small: max(11px, calc(var(--font-size-base) - 2px));
  --font-size-h1: calc(var(--font-size-normal) * 1.7142857143);
  --font-size-h2: calc(var(--font-size-normal) * 1.4285714286);
  --font-size-h3: calc(var(--font-size-normal) * 1.2857142857);
  --font-weight-normal: 430;
  --font-weight-medium: 500;
  --line-height-normal: calc(var(--font-size-normal) * 1.5);
  --line-height-tooltip: calc(var(--font-size-tooltip) * 1.4285714286);
  --line-height-small: calc(var(--font-size-small) + 4px);
  --radius: 10px;
  --radius-sm: calc(var(--radius) * 0.6);
  --radius-md: calc(var(--radius) * 0.8);
  --radius-lg: var(--radius);
  --radius-2xl: calc(var(--radius) * 1.6);
  --radius-full: 9999px;
  --shadow-sm: 0 1px 2px -1px rgb(0 0 0 / 8%);
  --checkmark-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 17'%3E%3Cpath d='M12.8961 3.64101C13.1297 3.41418 13.4984 3.37523 13.7779 3.56581C14.0571 3.75635 14.1554 4.11331 14.0299 4.41347L13.9615 4.53847L7.71151 13.7045C7.59411 13.8767 7.4063 13.9877 7.19881 14.0072C6.99136 14.0267 6.78564 13.9533 6.63826 13.806L2.88826 10.056L2.79842 9.9457C2.6192 9.67407 2.64927 9.30496 2.88826 9.06581C3.12738 8.82669 3.49647 8.79676 3.76815 8.97597L3.8785 9.06581L7.03084 12.2182L12.8053 3.74941L12.8961 3.64101Z'/%3E%3C/svg%3E");

  /* Legacy aliases; not part of the current agent contract. */
  --viz-bg: transparent;
  --viz-panel: var(--card);
  --viz-border: var(--border);
  --viz-text: var(--foreground);
  --viz-muted: var(--muted-foreground);
  --viz-accent: var(--primary);
  --viz-accent-text: var(--primary-foreground);
  --viz-accent-bg: var(--accent);
  --viz-font-size: var(--font-size-base);
  --viz-warning: var(--destructive);
  --color-background-primary: var(--background);
  --color-text-primary: var(--foreground);
  --color-border-secondary: var(--border);
}

:root[data-visualize-standalone] {
  background-color: var(--background) !important;
}

/* Generic mobile code-block hosts provide light/dark mode but no series palette.
   AppBlock hosts set all six variables themselves. */
:root:not([data-app-block-surface]) {
  --viz-series-1: var(--primary);
  --viz-series-2: light-dark(#f3883b, #f59a56);
  --viz-series-3: light-dark(#5dc977, #74d58b);
  --viz-series-4: light-dark(#eb77b1, #f08fc0);
  --viz-series-5: light-dark(#9b79ec, #aa91ef);
  --viz-series-6: light-dark(#3ab9b1, #5acbc2);
}

:root[data-theme="light"] {
  color-scheme: light;
}

:root[data-theme="dark"] {
  color-scheme: dark;
}

* {
  box-sizing: border-box;
}

html > body {
  margin: 0;
  padding: 5px;
  color: var(--foreground);
  background: transparent !important;
  font-family: var(--font-sans);
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-normal);
}

:root:not([data-app-block-surface]) > body {
  padding: 12px;
}

a {
  color: color-mix(in srgb, var(--viz-accent) 80%, var(--viz-text) 20%);
  cursor: pointer;
  font-weight: var(--viz-font-weight-medium);
  text-decoration: none;
  text-underline-offset: 2px;
}

a:is(:hover, :focus-visible) {
  text-decoration-line: underline;
  text-decoration-style: dashed;
  text-decoration-thickness: 0.5px;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin-block: 0;
}

h1 {
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-medium);
  line-height: 1.25;
}

h2 {
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-medium);
  line-height: 1.25;
}

h3,
h4,
h5,
h6 {
  font-size: var(--font-size-h3);
  font-weight: var(--font-weight-medium);
  line-height: 1.3;
}

b,
strong,
th {
  font-weight: var(--font-weight-medium);
}

code:not(pre code) {
  display: inline;
  padding: 1px 6px;
  border-radius: var(--radius-sm);
  background: var(--muted);
  font-family: var(--font-mono);
  font-size: 0.92em;
  overflow-wrap: anywhere;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  word-break: break-word;
}

#widget {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  padding: 0;
  background: transparent !important;
}

.card {
  min-width: 0;
  padding: 12px;
  overflow: hidden;
  overflow-wrap: break-word;
  border-radius: var(--radius-2xl);
  color: var(--card-foreground);
  background: var(--card);
}

#widget > :not(.card) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.tooltip {
  position: fixed;
  z-index: 50;
  top: 0;
  left: 0;
  width: max-content;
  max-width: min(
    20rem,
    var(--tooltip-available-width, calc(100vw - 10px)),
    calc(100vw - 10px)
  );
  max-height: min(
    var(--tooltip-available-height, calc(100vh - 10px)),
    calc(100vh - 10px)
  );
  padding: 4px 8px;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  color: var(--popover-foreground);
  background: var(--popover);
  box-shadow: none;
  font-size: var(--font-size-tooltip);
  line-height: var(--line-height-tooltip);
  overflow-wrap: break-word;
  white-space: normal;
  pointer-events: none;
  user-select: none;
}

.viz-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(max(180px, 24%), 1fr));
  gap: 10px;
}

.viz-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.viz-stat-value {
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-medium);
  line-height: 1.25;
}

.viz-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.viz-badge {
  padding: 3px 8px;
  border-radius: var(--radius-full);
  color: var(--accent-foreground);
  background: var(--accent);
  font-weight: var(--font-weight-medium);
}

small,
.text-small,
.viz-badge {
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}

.text-muted {
  color: var(--muted-foreground);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.viz-legend,
.viz-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.viz-controls > .form-label {
  display: grid;
  min-width: min(100%, 260px);
  flex: 1 1 280px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 2px 12px;
  margin-bottom: 0;
}

.viz-controls > .form-label > :is(.form-control, .form-range, .form-select) {
  grid-column: 1 / -1;
}

.btn,
.form-check-input,
.form-control,
.form-range,
.form-select {
  font: inherit;
}

.btn {
  appearance: button;
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin: 0;
  padding: 0 8px;
  -webkit-app-region: no-drag;
  border: 1px solid var(--input);
  border-radius: var(--radius-lg);
  color: var(--secondary-foreground);
  background: var(--secondary);
  cursor: var(--cursor-interaction, pointer);
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  user-select: none;
  -webkit-font-smoothing: antialiased;
}

a.btn {
  cursor: pointer;
  text-decoration: none;
}

.btn:not(:disabled):hover {
  background: color-mix(in srgb, var(--foreground) 6%, var(--secondary));
}

.btn-primary {
  border-color: transparent;
  color: var(--primary-foreground);
  background: var(--foreground);
  background-clip: padding-box;
}

.btn-primary:not(:disabled):hover {
  background: color-mix(in srgb, var(--foreground) 80%, transparent);
  background-clip: padding-box;
}

.btn-ghost {
  border-color: transparent;
  color: var(--muted-foreground);
  background: transparent;
}

.btn-ghost:not(:disabled):hover {
  color: var(--foreground);
  background: color-mix(in srgb, var(--foreground) 6%, var(--secondary));
}

.btn:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}

[data-lucide] {
  stroke-width: 1.6;
}

.form-label {
  display: block;
  margin-bottom: 6px;
  color: var(--foreground);
}

.form-control {
  display: block;
  width: 100%;
  min-height: 28px;
  padding: 0 8px;
  outline: none;
  border: 1px solid var(--input);
  border-radius: var(--radius-lg);
  color: var(--foreground);
  background: var(--secondary);
}

.form-control::placeholder {
  color: var(--muted-foreground);
}

textarea.form-control {
  height: auto;
  min-height: 72px;
  padding: 8px 10px;
  resize: vertical;
}

.form-control:focus-visible {
  border-color: var(--ring);
  box-shadow: inset 0 0 0 1px var(--ring);
}

.form-control:disabled,
.form-select:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}

.form-select {
  appearance: none;
  display: block;
  width: 100%;
  min-height: 28px;
  margin: 0;
  padding: 0 32px 0 8px;
  outline: none;
  border: 1px solid var(--input);
  border-radius: var(--radius-lg);
  color: var(--foreground);
  background-color: var(--secondary);
  background-image:
    linear-gradient(45deg, transparent 50%, var(--muted-foreground) 50%),
    linear-gradient(135deg, var(--muted-foreground) 50%, transparent 50%);
  background-position:
    calc(100% - 14px) 50%,
    calc(100% - 10px) 50%;
  background-repeat: no-repeat;
  background-size: 4px 4px;
  cursor: var(--cursor-interaction, default);
}

.form-select:not(:disabled):hover {
  background-color: color-mix(in srgb, var(--foreground) 6%, var(--secondary));
}

.form-select:focus-visible {
  border-color: var(--ring);
  box-shadow: inset 0 0 0 1px var(--ring);
}

.form-check {
  display: flex;
  min-height: 20px;
  align-items: center;
  gap: 6px;
}

.form-check-input {
  appearance: none;
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  margin: 0;
  border: 1px solid var(--input);
  color: var(--primary-foreground);
  background-color: transparent;
  cursor: var(--cursor-interaction, default);
  transition:
    background-color 150ms,
    border-color 150ms,
    box-shadow 150ms;
}

.form-check:not(.form-switch) .form-check-input[type="checkbox"] {
  border-color: var(--input);
  border-radius: var(--radius-sm);
  background-color: var(--secondary);
  box-shadow: var(--shadow-sm);
}

.form-check:not(.form-switch)
  .form-check-input:not(:disabled):not(:checked):hover {
  background-color: var(--card);
}

.form-check:not(.form-switch) .form-check-input[type="checkbox"]:checked {
  border-color: var(--primary);
  background-color: var(--primary);
}

.form-check:not(.form-switch)
  .form-check-input[type="checkbox"]:checked::before {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--primary-foreground);
  content: "";
  mask: var(--checkmark-image) center / 12px 12px no-repeat;
}

.form-check-input[type="radio"] {
  width: 14px;
  height: 14px;
  border-radius: var(--radius-full);
}

.form-check-input[type="radio"]:checked {
  border: 2px solid var(--primary);
  background:
    radial-gradient(circle, var(--primary-foreground) 0 2.5px, transparent 3px),
    var(--primary);
}

.form-check:not(.form-switch) .form-check-input:focus-visible {
  outline: 2px solid var(--ring);
  outline-offset: 2px;
}

.form-check:not(.form-switch) .form-check-input:disabled {
  cursor: not-allowed;
  pointer-events: none;
}

.form-check:not(.form-switch) .form-check-input:disabled + .form-check-label {
  cursor: not-allowed;
}

.form-switch .form-check-input:disabled,
.form-switch .form-check-input:disabled + .form-check-label {
  cursor: not-allowed;
  opacity: 0.6;
}

.form-check-label {
  color: var(--foreground);
  cursor: var(--cursor-interaction, default);
}

.form-switch .form-check-input {
  position: relative;
  width: 32px;
  height: 20px;
  border: 0;
  border-radius: var(--radius-full);
  background: var(--muted);
  box-shadow: none;
  transition: background-color 200ms cubic-bezier(0, 0, 0.2, 1);
}

.form-switch .form-check-input::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  border: 1px solid light-dark(var(--primary-foreground), var(--foreground));
  border-radius: var(--radius-full);
  background: light-dark(var(--primary-foreground), var(--foreground));
  box-shadow: var(--shadow-sm);
  content: "";
  transform: translate(2px, -50%);
  transition: transform 200ms cubic-bezier(0, 0, 0.2, 1);
}

.form-switch .form-check-input:checked {
  background: var(--primary);
}

.form-switch .form-check-input:checked::before {
  transform: translate(14px, -50%);
}

.form-switch .form-check-input:focus-visible {
  box-shadow: 0 0 0 2px var(--ring);
}

.form-range {
  appearance: none;
  display: block;
  width: 100%;
  height: 28px;
  flex: 1;
  margin: 0;
  padding: 0;
  outline: none;
  border: 0;
  accent-color: var(--primary);
  background: linear-gradient(
      color-mix(in srgb, var(--foreground) 7%, transparent),
      color-mix(in srgb, var(--foreground) 7%, transparent)
    )
    center / 100% 2px no-repeat;
}

.form-range::-webkit-slider-runnable-track {
  height: 28px;
  background: transparent;
}

.form-range::-webkit-slider-thumb {
  appearance: none;
  width: 20px;
  height: 20px;
  margin-top: 4px;
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  background: light-dark(var(--primary-foreground), var(--foreground));
}

.form-range:focus-visible::-webkit-slider-thumb {
  border-color: var(--ring);
  box-shadow: inset 0 0 0 1px var(--ring);
}

.form-range::-moz-range-track {
  height: 28px;
  background: transparent;
}

.form-range::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  background: light-dark(var(--primary-foreground), var(--foreground));
}

.form-range:focus-visible::-moz-range-thumb {
  border-color: var(--ring);
  box-shadow: inset 0 0 0 1px var(--ring);
}

.form-range:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}

.btn:not(.btn-primary, .viz-tile):is(
    [aria-pressed="true"],
    [aria-selected="true"],
    .is-selected
  ) {
  border-color: var(--primary);
  color: var(--primary-foreground);
  background: var(--primary);
}

.btn.viz-tile:is([aria-pressed="true"], [aria-selected="true"], .is-selected) {
  border-color: var(--primary);
  box-shadow: inset 0 0 0 1px var(--primary);
}

.btn:focus-visible {
  outline: 2px solid var(--ring);
  outline-offset: 2px;
}

svg {
  display: block;
  max-width: 100%;
  height: auto;
}

#widget > svg {
  width: 100%;
}

.text-warning,
.text-destructive {
  color: var(--destructive);
}
</style>
</head>
<body>
<section id="africa-training-chart" aria-label="Training activity in Africa">
  <style>
    #africa-training-chart {
      --chart-series: color-mix(in srgb, var(--viz-series-1) 32%, var(--foreground));
      --chart-ink: var(--foreground);
      --chart-muted: var(--muted-foreground);
      --chart-surface: var(--background);
      width: 100%;
      color: var(--chart-ink);
    }

    #africa-training-chart .africa-chart-layout {
      display: grid;
      grid-template-columns: minmax(175px, 0.75fr) minmax(250px, 1.1fr) minmax(250px, 1.1fr);
      grid-template-areas:
        "description-one chart-one chart-two"
        "description-two chart-one chart-two";
      gap: 2rem;
      align-items: stretch;
    }

    #africa-training-chart .metric-description {
      max-width: 24rem;
      align-self: center;
    }

    #africa-training-chart .metric-description:first-child {
      grid-area: description-one;
      align-self: start;
    }

    #africa-training-chart .metric-description:nth-child(2) {
      grid-area: description-two;
    }

    #africa-training-chart .metric-number {
      display: block;
      margin-bottom: 0.35rem;
      color: var(--chart-ink);
      font-weight: 500;
    }

    #africa-training-chart .metric-description h2 {
      margin: 0;
      color: var(--chart-series);
      font-size: var(--font-size-h3);
      font-weight: 400;
      text-transform: none;
    }

    #africa-training-chart .chart-panel {
      min-width: 0;
    }

    #africa-training-chart .chart-panel[data-chart="0"] {
      grid-area: chart-one;
    }

    #africa-training-chart .chart-panel[data-chart="1"] {
      grid-area: chart-two;
    }

    #africa-training-chart .chart-legend {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0.65rem 1rem;
      margin-bottom: 0.6rem;
    }

    #africa-training-chart .legend-item {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      min-width: 0;
      padding: 0;
      border: 0;
      color: var(--chart-muted);
      background: transparent;
      font: inherit;
      text-align: left;
      cursor: pointer;
    }

    #africa-training-chart .legend-item:hover,
    #africa-training-chart .legend-item.is-active {
      color: var(--chart-ink);
    }

    #africa-training-chart .legend-swatch {
      flex: 0 0 auto;
      width: 0.75rem;
      height: 0.75rem;
      background-color: color-mix(in srgb, var(--chart-series) var(--swatch-opacity), var(--chart-surface));
      background-image: repeating-linear-gradient(
        -30deg,
        transparent 0,
        transparent 1px,
        color-mix(in srgb, var(--chart-series) 80%, transparent) 1px,
        color-mix(in srgb, var(--chart-series) 80%, transparent) 2px
      );
    }

    #africa-training-chart .chart-figure {
      position: relative;
      margin: 0;
    }

    #africa-training-chart .donut-svg {
      display: block;
      width: 100%;
      height: auto;
      overflow: visible;
    }

    #africa-training-chart .donut-segment {
      stroke: var(--chart-surface);
      stroke-width: 1;
      cursor: pointer;
    }

    #africa-training-chart .donut-segment.is-dimmed {
      opacity: 0.25;
    }

    #africa-training-chart .donut-segment.is-active {
      stroke-width: 2;
    }

    #africa-training-chart .donut-center-label,
    #africa-training-chart .donut-center-value {
      fill: var(--chart-ink);
      text-anchor: middle;
      pointer-events: none;
    }

    #africa-training-chart .donut-center-label {
      font-size: var(--font-size-small);
    }

    #africa-training-chart .donut-center-value {
      font-weight: 500;
    }

    #africa-training-chart .chart-tooltip {
      position: absolute;
      z-index: 2;
      top: 0;
      left: 0;
      width: max-content;
      max-width: min(15rem, calc(100% - 1rem));
      padding: 0.4rem 0.65rem;
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      color: var(--popover-foreground);
      background: var(--popover);
      box-shadow: none;
      pointer-events: none;
      visibility: hidden;
      opacity: 0;
      transform: translate(-50%, calc(-100% - 0.45rem));
    }

    #africa-training-chart .chart-tooltip.is-visible {
      visibility: visible;
      opacity: 1;
    }

    @media (prefers-reduced-motion: no-preference) {
      #africa-training-chart .donut-segment,
      #africa-training-chart .chart-tooltip {
        transition: opacity 160ms ease;
      }
    }

    #africa-training-chart .chart-index-circle {
      fill: var(--chart-ink);
    }

    #africa-training-chart .chart-index-label {
      fill: var(--chart-surface);
      font-weight: 400;
      text-anchor: middle;
      dominant-baseline: middle;
    }

    @media (max-width: 800px) {
      #africa-training-chart .africa-chart-layout {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
          "description-one description-one"
          "chart-one chart-one"
          "description-two description-two"
          "chart-two chart-two";
      }

      #africa-training-chart .metric-description,
      #africa-training-chart .metric-description:first-child,
      #africa-training-chart .metric-description:nth-child(2) {
        align-self: start;
      }
    }

    @media (max-width: 480px) {
      #africa-training-chart .africa-chart-layout {
        display: block;
      }

      #africa-training-chart .chart-panel {
        margin: 1.25rem 0 2.5rem;
      }

      #africa-training-chart .chart-legend {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
  </style>

  <div class="africa-chart-layout">
    <div class="metric-description">
      <span class="metric-number">1.</span>
      <h2>Total de profissionais da educação que participaram nos cursos de formação em África</h2>
    </div>

    <div class="metric-description">
      <span class="metric-number">2.</span>
      <h2>Total de cursos de formação realizados em África</h2>
    </div>

    <article class="chart-panel" data-chart="0" aria-labelledby="africa-chart-heading-1">
      <h3 id="africa-chart-heading-1" class="sr-only">Educational agents by country</h3>
      <div class="chart-legend text-small" aria-label="Select a country"></div>
      <figure class="chart-figure"></figure>
    </article>

    <article class="chart-panel" data-chart="1" aria-labelledby="africa-chart-heading-2">
      <h3 id="africa-chart-heading-2" class="sr-only">Training courses by country</h3>
      <div class="chart-legend text-small" aria-label="Select a country"></div>
      <figure class="chart-figure"></figure>
    </article>
  </div>

  <script>
    (() => {
      const root = document.getElementById("africa-training-chart");
      if (!root) return;

      /* Replace these estimated values with the approved data when available. */
      const charts = [
        {
          number: "1",
          title: "Educational agents who participated in training courses in Africa",
          values: {
            Angola: 15,
            Benin: 5,
            Gabon: 3,
            "Ivory Coast": 2,
            Kenya: 2,
            Morocco: 71,
            "South Africa": 2
          }
        },
        {
          number: "2",
          title: "Training courses conducted in Africa",
          values: {
            Angola: 9,
            Benin: 10,
            Gabon: 3,
            "Ivory Coast": 3,
            Kenya: 2,
            Morocco: 70,
            "South Africa": 3
          }
        }
      ];

      const legendOrder = ["Angola", "Benin", "Gabon", "Ivory Coast", "Kenya", "Morocco", "South Africa"];
      const ringOrder = ["Morocco", "Angola", "Benin", "Gabon", "Ivory Coast", "Kenya", "South Africa"];
      const tones = {
        Angola: 14,
        Benin: 22,
        Gabon: 34,
        "Ivory Coast": 48,
        Kenya: 58,
        Morocco: 68,
        "South Africa": 78
      };

      const svgNS = "http://www.w3.org/2000/svg";

      function svgElement(name, attributes = {}) {
        const element = document.createElementNS(svgNS, name);
        Object.entries(attributes).forEach(([key, value]) => element.setAttribute(key, value));
        return element;
      }

      function polarPoint(cx, cy, radius, angle) {
        const radians = (angle - 90) * Math.PI / 180;
        return {
          x: cx + radius * Math.cos(radians),
          y: cy + radius * Math.sin(radians)
        };
      }

      function donutPath(cx, cy, outerRadius, innerRadius, startAngle, endAngle) {
        const outerStart = polarPoint(cx, cy, outerRadius, startAngle);
        const outerEnd = polarPoint(cx, cy, outerRadius, endAngle);
        const innerEnd = polarPoint(cx, cy, innerRadius, endAngle);
        const innerStart = polarPoint(cx, cy, innerRadius, startAngle);
        const largeArc = endAngle - startAngle > 180 ? 1 : 0;

        return [
          `M ${outerStart.x} ${outerStart.y}`,
          `A ${outerRadius} ${outerRadius} 0 ${largeArc} 1 ${outerEnd.x} ${outerEnd.y}`,
          `L ${innerEnd.x} ${innerEnd.y}`,
          `A ${innerRadius} ${innerRadius} 0 ${largeArc} 0 ${innerStart.x} ${innerStart.y}`,
          "Z"
        ].join(" ");
      }

      function buildLegend(container, chartIndex) {
        legendOrder.forEach((country) => {
          const item = document.createElement("button");
          item.type = "button";
          item.className = "legend-item";
          item.dataset.country = country;
          item.dataset.chart = String(chartIndex);
          item.setAttribute("aria-pressed", "false");
          item.setAttribute("aria-label", `Show ${country}`);

          const swatch = document.createElement("span");
          swatch.className = "legend-swatch";
          swatch.style.setProperty("--swatch-opacity", `${tones[country]}%`);
          swatch.setAttribute("aria-hidden", "true");

          const label = document.createElement("span");
          label.textContent = country;

          item.append(swatch, label);
          container.append(item);
        });
      }

      function buildChart(container, chart, chartIndex) {
        const figure = container.querySelector(".chart-figure");
        const svg = svgElement("svg", {
          class: "donut-svg",
          viewBox: "0 0 300 285",
          role: "img",
          "aria-labelledby": `donut-title-${chartIndex} donut-desc-${chartIndex}`
        });

        const title = svgElement("title", { id: `donut-title-${chartIndex}` });
        title.textContent = chart.title;
        const desc = svgElement("desc", { id: `donut-desc-${chartIndex}` });
        desc.textContent = legendOrder.map((country) => `${country}: ${chart.values[country]}%`).join(", ");
        svg.append(title, desc);

        const defs = svgElement("defs");
        legendOrder.forEach((country, toneIndex) => {
          const pattern = svgElement("pattern", {
            id: `africa-hatch-${chartIndex}-${toneIndex}`,
            width: "5",
            height: "5",
            patternUnits: "userSpaceOnUse",
            patternTransform: "rotate(-18)"
          });
          const base = svgElement("rect", { width: "5", height: "5" });
          base.style.fill = `color-mix(in srgb, var(--chart-series) ${tones[country]}%, var(--chart-surface))`;
          const line = svgElement("path", { d: "M 0 0 L 0 5" });
          line.style.stroke = "color-mix(in srgb, var(--chart-series) 88%, transparent)";
          line.style.strokeWidth = "1";
          pattern.append(base, line);
          defs.append(pattern);
        });
        svg.append(defs);

        const total = ringOrder.reduce((sum, country) => sum + chart.values[country], 0);
        let currentAngle = 0;
        ringOrder.forEach((country) => {
          const value = chart.values[country];
          const nextAngle = currentAngle + value / total * 360;
          const toneIndex = legendOrder.indexOf(country);
          const segment = svgElement("path", {
            class: "donut-segment",
            d: donutPath(160, 142, 112, 59, currentAngle, nextAngle),
            fill: `url(#africa-hatch-${chartIndex}-${toneIndex})`,
            "data-country": country,
            "aria-label": `${country}: ${value}%`
          });
          svg.append(segment);
          currentAngle = nextAngle;
        });

        const centerLabel = svgElement("text", {
          class: "donut-center-label",
          x: "160",
          y: "137"
        });
        centerLabel.textContent = "";
        const centerValue = svgElement("text", {
          class: "donut-center-value",
          x: "160",
          y: "160"
        });
        centerValue.textContent = "";
        svg.append(centerLabel, centerValue);

        const indexCircle = svgElement("circle", {
          class: "chart-index-circle",
          cx: "48",
          cy: "250",
          r: "22"
        });
        const indexLabel = svgElement("text", {
          class: "chart-index-label",
          x: "48",
          y: "251"
        });
        indexLabel.textContent = chart.number;
        svg.append(indexCircle, indexLabel);

        const tooltip = document.createElement("div");
        tooltip.className = "chart-tooltip text-small";
        tooltip.setAttribute("role", "status");

        const live = document.createElement("figcaption");
        live.className = "sr-only chart-live";
        live.setAttribute("aria-live", "polite");
        live.textContent = chart.title;

        figure.append(svg, tooltip, live);
      }

      function wireInteractions(panel, chart) {
        const figure = panel.querySelector(".chart-figure");
        const svg = panel.querySelector(".donut-svg");
        const segments = Array.from(panel.querySelectorAll(".donut-segment"));
        const legendItems = Array.from(panel.querySelectorAll(".legend-item"));
        const centerLabel = panel.querySelector(".donut-center-label");
        const centerValue = panel.querySelector(".donut-center-value");
        const tooltip = panel.querySelector(".chart-tooltip");
        const live = panel.querySelector(".chart-live");
        let lockedCountry = null;

        function renderSelection(country, announce = false) {
          segments.forEach((segment) => {
            const matches = country === null || segment.dataset.country === country;
            segment.classList.toggle("is-active", country !== null && matches);
            segment.classList.toggle("is-dimmed", country !== null && !matches);
          });

          legendItems.forEach((item) => {
            const matches = country !== null && item.dataset.country === country;
            item.classList.toggle("is-active", matches);
            item.setAttribute("aria-pressed", String(matches && lockedCountry === country));
          });

          centerLabel.textContent = country || "";
          centerValue.textContent = country ? `${chart.values[country]}%` : "";
          if (announce) {
            live.textContent = country
              ? `${country}: ${chart.values[country]}%. Selection fixed.`
              : "Selection cleared.";
          }
        }

        function showTooltip(segment) {
          const country = segment.dataset.country;
          tooltip.textContent = `${country} · ${chart.values[country]}%`;
          tooltip.classList.add("is-visible");

          const figureRect = figure.getBoundingClientRect();
          const segmentRect = segment.getBoundingClientRect();
          const tooltipRect = tooltip.getBoundingClientRect();
          const rawLeft = segmentRect.left - figureRect.left + segmentRect.width / 2;
          const rawTop = segmentRect.top - figureRect.top + segmentRect.height / 2;
          const halfWidth = tooltipRect.width / 2;
          const left = Math.max(halfWidth + 4, Math.min(figureRect.width - halfWidth - 4, rawLeft));
          const top = Math.max(tooltipRect.height + 10, rawTop);
          tooltip.style.left = `${left}px`;
          tooltip.style.top = `${top}px`;
        }

        function hideTooltip() {
          tooltip.classList.remove("is-visible");
        }

        function toggleLock(country) {
          lockedCountry = lockedCountry === country ? null : country;
          renderSelection(lockedCountry, true);
          hideTooltip();
        }

        segments.forEach((segment) => {
          const country = segment.dataset.country;
          segment.addEventListener("pointerenter", () => {
            renderSelection(country);
            showTooltip(segment);
          });
          segment.addEventListener("pointerleave", () => {
            hideTooltip();
            renderSelection(lockedCountry);
          });
          segment.addEventListener("click", () => toggleLock(country));
        });

        legendItems.forEach((item) => {
          const country = item.dataset.country;
          item.addEventListener("pointerenter", () => renderSelection(country));
          item.addEventListener("pointerleave", () => renderSelection(lockedCountry));
          item.addEventListener("focus", () => renderSelection(country));
          item.addEventListener("blur", () => renderSelection(lockedCountry));
          item.addEventListener("click", () => toggleLock(country));
          item.addEventListener("keydown", (event) => {
            if (event.key === "Escape") {
              lockedCountry = null;
              renderSelection(null, true);
              item.blur();
            }
          });
        });

        svg.addEventListener("click", (event) => {
          if (event.target === svg) {
            lockedCountry = null;
            renderSelection(null, true);
          }
        });
      }

      root.querySelectorAll(".chart-panel").forEach((panel, index) => {
        buildLegend(panel.querySelector(".chart-legend"), index);
        buildChart(panel, charts[index], index);
        wireInteractions(panel, charts[index]);
      });
    })();
  </script>
</section>

<script id="codex-visualization-floating-ui-core" src="https://unpkg.com/@floating-ui/core@1.7.3/dist/floating-ui.core.umd.min.js"></script>
<script id="codex-visualization-floating-ui-dom" src="https://unpkg.com/@floating-ui/dom@1.7.4/dist/floating-ui.dom.umd.min.js"></script>
<script id="codex-visualization-lucide" async src="https://unpkg.com/lucide@1.17.0/dist/umd/lucide.js"></script>
<script id="codex-visualization-tooltip">/* oxlint-disable typescript/no-unsafe-argument, typescript/no-unsafe-call, typescript/no-unsafe-return */
// Runs inside the visualization sandbox, not the host webview.
(() => {
  if (window.FloatingUIDOM == null) {
    return;
  }
  const { autoUpdate, computePosition, flip, offset, shift, size } =
    window.FloatingUIDOM;
  const tooltipPlacements = new Set(["top", "right", "bottom", "left"]);
  const tooltipId = `codex-visualization-tooltip-${
    window.crypto?.randomUUID?.() ?? Date.now().toString(36)
  }`;
  const tooltipGap = 5;
  const hoverDelay = 700;
  const skipDelay = 300;
  let activeTrigger = null;
  let pendingTrigger = null;
  let tooltip = null;
  let openTimeout = null;
  let autoUpdateCleanup = null;
  let positionRequest = 0;
  let skipDelayUntil = 0;

  const getTrigger = (target) =>
    target?.nodeType === Node.ELEMENT_NODE
      ? target.closest("[data-tooltip]")
      : null;
  const containsTarget = (trigger, target) =>
    target?.nodeType != null && trigger.contains(target);
  const getContent = (trigger) =>
    trigger.getAttribute("data-tooltip")?.trim() ?? "";
  const getPlacement = (trigger) => {
    const placement = trigger.getAttribute("data-tooltip-placement");
    return tooltipPlacements.has(placement) ? placement : "top";
  };
  const getTooltip = () => {
    if (tooltip == null) {
      tooltip = document.createElement("div");
      tooltip.id = tooltipId;
      tooltip.className = "tooltip";
      tooltip.setAttribute("role", "tooltip");
    }
    return tooltip;
  };
  const setDescribedBy = (trigger, described) => {
    const ids = new Set(
      (trigger.getAttribute("aria-describedby") ?? "")
        .split(/\s+/)
        .filter(Boolean),
    );
    if (described) {
      ids.add(tooltipId);
    } else {
      ids.delete(tooltipId);
    }
    if (ids.size === 0) {
      trigger.removeAttribute("aria-describedby");
    } else {
      trigger.setAttribute("aria-describedby", [...ids].join(" "));
    }
  };
  const clearOpenTimeout = () => {
    if (openTimeout != null) {
      window.clearTimeout(openTimeout);
      openTimeout = null;
    }
    pendingTrigger = null;
  };
  const closeTooltip = (activateSkipDelay = true) => {
    clearOpenTimeout();
    positionRequest += 1;
    autoUpdateCleanup?.();
    autoUpdateCleanup = null;
    if (activeTrigger == null) {
      return;
    }
    setDescribedBy(activeTrigger, false);
    activeTrigger = null;
    tooltip?.remove();
    if (activateSkipDelay) {
      skipDelayUntil = Date.now() + skipDelay;
    }
  };
  const updatePosition = (trigger, floating) => {
    const request = ++positionRequest;
    void computePosition(trigger, floating, {
      middleware: [
        offset(tooltipGap),
        flip({ padding: tooltipGap }),
        shift({ padding: tooltipGap }),
        size({
          padding: tooltipGap,
          apply({ availableHeight, availableWidth, elements }) {
            elements.floating.style.setProperty(
              "--tooltip-available-width",
              `${Math.max(0, availableWidth)}px`,
            );
            elements.floating.style.setProperty(
              "--tooltip-available-height",
              `${Math.max(0, availableHeight)}px`,
            );
          },
        }),
      ],
      placement: getPlacement(trigger),
      strategy: "fixed",
    })
      .then(({ x, y }) => {
        if (activeTrigger !== trigger || request !== positionRequest) {
          return;
        }
        const scale = window.devicePixelRatio || 1;
        floating.style.transform = `translate(${Math.round(x * scale) / scale}px, ${Math.round(y * scale) / scale}px)`;
        floating.style.visibility = "visible";
      })
      .catch(() => {
        if (activeTrigger === trigger && request === positionRequest) {
          closeTooltip(false);
        }
      });
  };
  const openTooltip = (trigger) => {
    const content = getContent(trigger);
    if (!trigger.isConnected || content.length === 0) {
      return;
    }
    clearOpenTimeout();
    if (activeTrigger === trigger) {
      return;
    }
    closeTooltip();
    const floating = getTooltip();
    floating.textContent = content;
    floating.style.visibility = "hidden";
    floating.style.transform = "translate(0, 0)";
    document.body.appendChild(floating);
    activeTrigger = trigger;
    setDescribedBy(trigger, true);
    autoUpdateCleanup = autoUpdate(trigger, floating, () => {
      updatePosition(trigger, floating);
    });
  };
  const requestOpen = (trigger, immediate = false) => {
    if (
      getContent(trigger).length === 0 ||
      activeTrigger === trigger ||
      pendingTrigger === trigger
    ) {
      return;
    }
    clearOpenTimeout();
    pendingTrigger = trigger;
    const delay =
      immediate || activeTrigger != null || Date.now() < skipDelayUntil
        ? 0
        : hoverDelay;
    if (delay === 0) {
      openTooltip(trigger);
      return;
    }
    openTimeout = window.setTimeout(() => {
      openTimeout = null;
      pendingTrigger = null;
      openTooltip(trigger);
    }, delay);
  };
  const handlePointerOpen = (event) => {
    if (event.pointerType === "touch") {
      return;
    }
    const trigger = getTrigger(event.target);
    if (trigger == null || containsTarget(trigger, event.relatedTarget)) {
      return;
    }
    requestOpen(trigger);
  };
  const handleLeave = (event) => {
    const trigger = getTrigger(event.target);
    if (trigger == null || containsTarget(trigger, event.relatedTarget)) {
      return;
    }
    if (activeTrigger === trigger || pendingTrigger === trigger) {
      closeTooltip();
    }
  };
  const handleFocusIn = (event) => {
    const trigger = getTrigger(event.target);
    if (trigger?.matches(":focus-visible")) {
      requestOpen(trigger, true);
    }
  };
  const handleKeyDown = (event) => {
    if (event.key === "Escape") {
      closeTooltip();
    }
  };
  const handleContextMenu = (event) => {
    const trigger = getTrigger(event.target);
    if (activeTrigger === trigger || pendingTrigger === trigger) {
      closeTooltip();
    }
  };
  const destroy = () => {
    closeTooltip(false);
    document.removeEventListener("pointerover", handlePointerOpen);
    document.removeEventListener("pointerout", handleLeave);
    document.removeEventListener("focusin", handleFocusIn);
    document.removeEventListener("focusout", handleLeave);
    document.removeEventListener("keydown", handleKeyDown);
    document.removeEventListener("contextmenu", handleContextMenu);
    tooltip = null;
  };

  document.addEventListener("pointerover", handlePointerOpen);
  document.addEventListener("pointerout", handleLeave);
  document.addEventListener("focusin", handleFocusIn);
  document.addEventListener("focusout", handleLeave);
  document.addEventListener("keydown", handleKeyDown);
  document.addEventListener("contextmenu", handleContextMenu);
  window.addEventListener("pagehide", destroy, { once: true });
})();
</script>
<script id="codex-visualization-lucide-initialization">(() => {
  const initialize = () => {
    globalThis.lucide?.createIcons({ attrs: { width: 16, height: 16 } });
  };
  if (globalThis.lucide != null) {
    initialize();
    return;
  }
  document
    .getElementById("codex-visualization-lucide")
    ?.addEventListener("load", initialize, { once: true });
})();
</script>
</body>
</html>
		</div>
	</div>

			</div> 
		</div>
	</div> 
</div></div>
		<div id="fws_6abbfc62d272b"  data-column-margin="default" data-midnight="dark"  class="wpb_row vc_row-fluid vc_row"  style="padding-top: 0px; padding-bottom: 0px; "><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop"  style=""></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				<div id="fws_6abbfc62d2e42" data-midnight="" data-column-margin="default" class="wpb_row vc_row-fluid vc_row inner_row"  style=""><div class="row-bg-wrap"> <div class="row-bg" ></div> </div><div class="row_col_wrap_12_inner col span_12  left">
	<div  class="vc_col-sm-3 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><a class="nectar-button large see-through extra-color-2"  role="button" style="" target="_blank" href="#" data-color-override="false" data-hover-color-override="false" data-hover-text-color-override="#fff"><span>Download</span></a>
		</div> 
	</div>
	</div> 

	<div  class="vc_col-sm-3 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			
		</div> 
	</div>
	</div> 

	<div  class="vc_col-sm-3 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			
		</div> 
	</div>
	</div> 

	<div  class="vc_col-sm-3 wpb_column column_container vc_column_container col child_column no-extra-padding inherit_tablet inherit_phone flex_gap_desktop_10px "   data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
		<div class="wpb_wrapper">
			
		</div> 
	</div>
	</div> 
</div></div>
			</div> 
		</div>
	</div> 
</div></div>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
