{"id":10171,"date":"2025-11-03T15:28:44","date_gmt":"2025-11-03T15:28:44","guid":{"rendered":"https:\/\/www.eticalgarve.com\/cursos\/introduction-to-javascript-after-work\/"},"modified":"2026-01-27T13:25:31","modified_gmt":"2026-01-27T13:25:31","slug":"introduction-to-javascript-after-work","status":"publish","type":"course","link":"https:\/\/www.eticalgarve.com\/en\/courses\/introduction-to-javascript-after-work\/","title":{"rendered":"Introduction to JavaScript (After Work)"},"content":{"rendered":"\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-large\"><\/div>\n\n<h2 class=\"wp-block-heading alignwide heading-1 has-extra-large-font-size\">Learn to Program in JavaScript and Develop Professional Frontend Skills<\/h2>\n\n<div class=\"wp-block-kobu-custom-blocks-inner-content-img alignwide media-content-group child-item align-right valign-start img-last alignwide-center-5\"><div class=\"content-col\"><div class=\"content-col-wrapper\">\n<p class=\"has-regular-font-size\">In this Short Course Introduction to JavaScript (After Work), you will learn JavaScript and acquire the fundamental basics of frontend development. Explore how to create interactive, responsive, and well-structured web pages using HTML, CSS, and JavaScript. Learn how to manipulate the DOM, implement animations, and make web applications more dynamic and engaging. This course also introduces the concept of Progressive Web Apps, helping you understand current trends in web development and create optimised user experiences.<\/p>\n<\/div><\/div><div class=\"media-col\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"2048\" height=\"1365\" class=\"wp-image-8854\" src=\"https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/11\/Introducao-ao-Javascript.jpg\" alt=\"\" title=\"Introduc\u0327a\u0303o ao Javascript\" sizes=\"auto, (min-width: 1201px) 35vw, (min-width: 601px) 50vw, 100vw\" srcset=\"https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/11\/Introducao-ao-Javascript.jpg 2048w, https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/11\/Introducao-ao-Javascript-300x200.jpg 300w, https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/11\/Introducao-ao-Javascript-1024x683.jpg 1024w, https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/11\/Introducao-ao-Javascript-768x512.jpg 768w, https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/11\/Introducao-ao-Javascript-1536x1024.jpg 1536w\" \/><\/figure><\/div><\/div>\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-large\"><\/div>\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-large\"><\/div>\n\n<div class=\"wp-block-kobu-custom-blocks-section-wrapper alignfull kobu-section has-background has-lightcolour-1-background-color course-details-grid\">\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-custom\" style=\"height: 30px;\" data-small=\"20\" data-medium=\"30\" data-large=\"30\"><\/div>\n\n\n\n<div class=\"wp-block-group alignfull grid-padding-30 is-layout-grid wp-container-core-group-is-layout-4d858cb8 wp-block-group-is-layout-grid\">\n<div class=\"wp-block-group has-darkcolour-background-color has-background is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading has-lightcolour-1-color has-text-color has-link-color has-medium-plus-font-size wp-elements-9572ab4a0cb75ae484cdf9b2635959c4\">57 hours<\/h2>\n\n\n\n<p class=\"has-lightcolour-1-color has-text-color has-link-color wp-elements-bc45ae08baac2ddf1ffde24bd800cae9\"><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-darkcolour-background-color has-background is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading has-lightcolour-1-color has-text-color has-link-color has-medium-plus-font-size wp-elements-f4480d2087c8b7acfb35d3831ed0301a\">6 April to 30 April 2026<\/h2>\n\n\n\n<p class=\"has-lightcolour-1-color has-text-color has-link-color wp-elements-297fc2f48bca11f272045e5d0c801c38\">Monday to Friday, from 7pm to 10pm<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-darkcolour-background-color has-background is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading has-lightcolour-1-color has-text-color has-link-color has-medium-plus-font-size wp-elements-b73d84a9b29536bf51d9e9f6d7ce1cce\">Number of Trainees<\/h2>\n\n\n\n<p class=\"has-lightcolour-1-color has-text-color has-link-color wp-elements-963eb68e82a4edc7072f93a5feb390a3\">Maximum 1<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-custom\" style=\"height: 30px;\" data-small=\"20\" data-medium=\"30\" data-large=\"30\"><\/div>\n<\/div>\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-large\"><\/div>\n\n<h2 class=\"wp-block-heading alignwide has-extra-large-font-size\">Contents<\/h2>\n\n<div class=\"wp-block-group alignfull grid-with-border is-layout-grid wp-container-core-group-is-layout-6be84c55 wp-block-group-is-layout-grid\"><div class=\"accordion-group-block\">\n            <dl class=\"accordion\" id=\"accordion-group-69dfeb5266f37\" role=\"presentation\">\n                <div class=\"accordion-wrapper\">\n        <dl class=\"accordion-inner-wrapper\">\n\n            <dt data-index=\"0\">\n                <div class=\"accordion-title\">HTML Fundamentals<\/div>\n            <\/dt>\n\n            \n                <dd id=\"accordion-content0-accordion-group-69dfeb5266f37\" aria-labelledby=\"accordion-trigger0-accordion-group-69dfeb5266f37\" class=\"accordion-panel\">\n                    <div class=\"accordion-content\">\n                        <ul>\n<li>Introduction to HTML (HyperText Markup Language) as the markup language used to structure the content of a web page.<\/li>\n<\/ul>\n                    <\/div>\n                <\/dd>\n\n                <button aria-expanded=\"false\" class=\"accordion-trigger\" aria-controls=\"accordion-content0-accordion-group-69dfeb5266f37\" id=\"accordion-trigger0-accordion-group-69dfeb5266f37\" type=\"button\"><span class=\"see-more\">see more<\/span><span class=\"see-less\">see less<\/span> <span class=\"sr-only\">Toggle Accordion<\/span><\/button>\n                \n            \n        <\/dl>\n    <\/div>\n        <\/dl>\n    <\/div>\n\n<div class=\"accordion-group-block\">\n            <dl class=\"accordion\" id=\"accordion-group-69dfeb5267802\" role=\"presentation\">\n                <div class=\"accordion-wrapper\">\n        <dl class=\"accordion-inner-wrapper\">\n\n            <dt data-index=\"0\">\n                <div class=\"accordion-title\">Semantic HTML<\/div>\n            <\/dt>\n\n            \n                <dd id=\"accordion-content0-accordion-group-69dfeb5267802\" aria-labelledby=\"accordion-trigger0-accordion-group-69dfeb5267802\" class=\"accordion-panel\">\n                    <div class=\"accordion-content\">\n                        <ul>\n<li>Learn how to use semantic tags to assign meaning and correct structure to page content, improving accessibility and indexing by search engines.<\/li>\n<\/ul>\n                    <\/div>\n                <\/dd>\n\n                <button aria-expanded=\"false\" class=\"accordion-trigger\" aria-controls=\"accordion-content0-accordion-group-69dfeb5267802\" id=\"accordion-trigger0-accordion-group-69dfeb5267802\" type=\"button\"><span class=\"see-more\">see more<\/span><span class=\"see-less\">see less<\/span> <span class=\"sr-only\">Toggle Accordion<\/span><\/button>\n                \n            \n        <\/dl>\n    <\/div>\n        <\/dl>\n    <\/div>\n\n<div class=\"accordion-group-block\">\n            <dl class=\"accordion\" id=\"accordion-group-69dfeb5267bf9\" role=\"presentation\">\n                <div class=\"accordion-wrapper\">\n        <dl class=\"accordion-inner-wrapper\">\n\n            <dt data-index=\"0\">\n                <div class=\"accordion-title\">CSS Fundamentals<\/div>\n            <\/dt>\n\n            \n                <dd id=\"accordion-content0-accordion-group-69dfeb5267bf9\" aria-labelledby=\"accordion-trigger0-accordion-group-69dfeb5267bf9\" class=\"accordion-panel\">\n                    <div class=\"accordion-content\">\n                        <ul>\n<li>Introduction to CSS (Cascading Style Sheets) for styling web page content, allowing the definition of colours, fonts, sizes, etc.<\/li>\n<\/ul>\n                    <\/div>\n                <\/dd>\n\n                <button aria-expanded=\"false\" class=\"accordion-trigger\" aria-controls=\"accordion-content0-accordion-group-69dfeb5267bf9\" id=\"accordion-trigger0-accordion-group-69dfeb5267bf9\" type=\"button\"><span class=\"see-more\">see more<\/span><span class=\"see-less\">see less<\/span> <span class=\"sr-only\">Toggle Accordion<\/span><\/button>\n                \n            \n        <\/dl>\n    <\/div>\n        <\/dl>\n    <\/div>\n\n<div class=\"accordion-group-block\">\n            <dl class=\"accordion\" id=\"accordion-group-69dfeb5267fbc\" role=\"presentation\">\n                <div class=\"accordion-wrapper\">\n        <dl class=\"accordion-inner-wrapper\">\n\n            <dt data-index=\"0\">\n                <div class=\"accordion-title\">Selectors<\/div>\n            <\/dt>\n\n            \n                <dd id=\"accordion-content0-accordion-group-69dfeb5267fbc\" aria-labelledby=\"accordion-trigger0-accordion-group-69dfeb5267fbc\" class=\"accordion-panel\">\n                    <div class=\"accordion-content\">\n                        <ul>\n<li>Explore CSS selectors to apply styles to specific HTML elements.<\/li>\n<\/ul>\n                    <\/div>\n                <\/dd>\n\n                <button aria-expanded=\"false\" class=\"accordion-trigger\" aria-controls=\"accordion-content0-accordion-group-69dfeb5267fbc\" id=\"accordion-trigger0-accordion-group-69dfeb5267fbc\" type=\"button\"><span class=\"see-more\">see more<\/span><span class=\"see-less\">see less<\/span> <span class=\"sr-only\">Toggle Accordion<\/span><\/button>\n                \n            \n        <\/dl>\n    <\/div>\n        <\/dl>\n    <\/div>\n\n<div class=\"accordion-group-block\">\n            <dl class=\"accordion\" id=\"accordion-group-69dfeb5268377\" role=\"presentation\">\n                <div class=\"accordion-wrapper\">\n        <dl class=\"accordion-inner-wrapper\">\n\n            <dt data-index=\"0\">\n                <div class=\"accordion-title\">Box Model<\/div>\n            <\/dt>\n\n            \n                <dd id=\"accordion-content0-accordion-group-69dfeb5268377\" aria-labelledby=\"accordion-trigger0-accordion-group-69dfeb5268377\" class=\"accordion-panel\">\n                    <div class=\"accordion-content\">\n                        <ul>\n<li>Understand the concept of the box model in CSS, which defines how elements are rendered on the page, including margins, borders, and padding.<\/li>\n<\/ul>\n                    <\/div>\n                <\/dd>\n\n                <button aria-expanded=\"false\" class=\"accordion-trigger\" aria-controls=\"accordion-content0-accordion-group-69dfeb5268377\" id=\"accordion-trigger0-accordion-group-69dfeb5268377\" type=\"button\"><span class=\"see-more\">see more<\/span><span class=\"see-less\">see less<\/span> <span class=\"sr-only\">Toggle Accordion<\/span><\/button>\n                \n            \n        <\/dl>\n    <\/div>\n        <\/dl>\n    <\/div>\n\n<div class=\"accordion-group-block\">\n            <dl class=\"accordion\" id=\"accordion-group-69dfeb5268732\" role=\"presentation\">\n                <div class=\"accordion-wrapper\">\n        <dl class=\"accordion-inner-wrapper\">\n\n            <dt data-index=\"0\">\n                <div class=\"accordion-title\">Layout<\/div>\n            <\/dt>\n\n            \n                <dd id=\"accordion-content0-accordion-group-69dfeb5268732\" aria-labelledby=\"accordion-trigger0-accordion-group-69dfeb5268732\" class=\"accordion-panel\">\n                    <div class=\"accordion-content\">\n                        <ul>\n<li>Learn how to create basic, responsive layouts using the appropriate CSS properties.<\/li>\n<\/ul>\n                    <\/div>\n                <\/dd>\n\n                <button aria-expanded=\"false\" class=\"accordion-trigger\" aria-controls=\"accordion-content0-accordion-group-69dfeb5268732\" id=\"accordion-trigger0-accordion-group-69dfeb5268732\" type=\"button\"><span class=\"see-more\">see more<\/span><span class=\"see-less\">see less<\/span> <span class=\"sr-only\">Toggle Accordion<\/span><\/button>\n                \n            \n        <\/dl>\n    <\/div>\n        <\/dl>\n    <\/div>\n\n<div class=\"accordion-group-block\">\n            <dl class=\"accordion\" id=\"accordion-group-69dfeb5268b05\" role=\"presentation\">\n                <div class=\"accordion-wrapper\">\n        <dl class=\"accordion-inner-wrapper\">\n\n            <dt data-index=\"0\">\n                <div class=\"accordion-title\">Flexbox<\/div>\n            <\/dt>\n\n            \n                <dd id=\"accordion-content0-accordion-group-69dfeb5268b05\" aria-labelledby=\"accordion-trigger0-accordion-group-69dfeb5268b05\" class=\"accordion-panel\">\n                    <div class=\"accordion-content\">\n                        <ul>\n<li>Introduction to Flexbox, a CSS layout method that allows you to create flexible and fluid designs.<\/li>\n<\/ul>\n                    <\/div>\n                <\/dd>\n\n                <button aria-expanded=\"false\" class=\"accordion-trigger\" aria-controls=\"accordion-content0-accordion-group-69dfeb5268b05\" id=\"accordion-trigger0-accordion-group-69dfeb5268b05\" type=\"button\"><span class=\"see-more\">see more<\/span><span class=\"see-less\">see less<\/span> <span class=\"sr-only\">Toggle Accordion<\/span><\/button>\n                \n            \n        <\/dl>\n    <\/div>\n        <\/dl>\n    <\/div>\n\n<div class=\"accordion-group-block\">\n            <dl class=\"accordion\" id=\"accordion-group-69dfeb5268ef3\" role=\"presentation\">\n                <div class=\"accordion-wrapper\">\n        <dl class=\"accordion-inner-wrapper\">\n\n            <dt data-index=\"0\">\n                <div class=\"accordion-title\">CSS Grid<\/div>\n            <\/dt>\n\n            \n                <dd id=\"accordion-content0-accordion-group-69dfeb5268ef3\" aria-labelledby=\"accordion-trigger0-accordion-group-69dfeb5268ef3\" class=\"accordion-panel\">\n                    <div class=\"accordion-content\">\n                        <ul>\n<li>Explore CSS Grid, another layout approach that allows you to create more complex and controlled layouts.<\/li>\n<\/ul>\n                    <\/div>\n                <\/dd>\n\n                <button aria-expanded=\"false\" class=\"accordion-trigger\" aria-controls=\"accordion-content0-accordion-group-69dfeb5268ef3\" id=\"accordion-trigger0-accordion-group-69dfeb5268ef3\" type=\"button\"><span class=\"see-more\">see more<\/span><span class=\"see-less\">see less<\/span> <span class=\"sr-only\">Toggle Accordion<\/span><\/button>\n                \n            \n        <\/dl>\n    <\/div>\n        <\/dl>\n    <\/div>\n\n<div class=\"accordion-group-block\">\n            <dl class=\"accordion\" id=\"accordion-group-69dfeb526928f\" role=\"presentation\">\n                <div class=\"accordion-wrapper\">\n        <dl class=\"accordion-inner-wrapper\">\n\n            <dt data-index=\"0\">\n                <div class=\"accordion-title\">DOM Manipulation<\/div>\n            <\/dt>\n\n            \n                <dd id=\"accordion-content0-accordion-group-69dfeb526928f\" aria-labelledby=\"accordion-trigger0-accordion-group-69dfeb526928f\" class=\"accordion-panel\">\n                    <div class=\"accordion-content\">\n                        <ul>\n<li>Understand the Document Object Model (DOM) and how to use JavaScript to dynamically manipulate the structure and content of a web page.<\/li>\n<\/ul>\n                    <\/div>\n                <\/dd>\n\n                <button aria-expanded=\"false\" class=\"accordion-trigger\" aria-controls=\"accordion-content0-accordion-group-69dfeb526928f\" id=\"accordion-trigger0-accordion-group-69dfeb526928f\" type=\"button\"><span class=\"see-more\">see more<\/span><span class=\"see-less\">see less<\/span> <span class=\"sr-only\">Toggle Accordion<\/span><\/button>\n                \n            \n        <\/dl>\n    <\/div>\n        <\/dl>\n    <\/div>\n\n<div class=\"accordion-group-block\">\n            <dl class=\"accordion\" id=\"accordion-group-69dfeb5269648\" role=\"presentation\">\n                <div class=\"accordion-wrapper\">\n        <dl class=\"accordion-inner-wrapper\">\n\n            <dt data-index=\"0\">\n                <div class=\"accordion-title\">JS APIs<\/div>\n            <\/dt>\n\n            \n                <dd id=\"accordion-content0-accordion-group-69dfeb5269648\" aria-labelledby=\"accordion-trigger0-accordion-group-69dfeb5269648\" class=\"accordion-panel\">\n                    <div class=\"accordion-content\">\n                        <ul>\n<li>Introduction to different JavaScript APIs such as Canvas, Web Components, and Localstorage.<\/li>\n<\/ul>\n                    <\/div>\n                <\/dd>\n\n                <button aria-expanded=\"false\" class=\"accordion-trigger\" aria-controls=\"accordion-content0-accordion-group-69dfeb5269648\" id=\"accordion-trigger0-accordion-group-69dfeb5269648\" type=\"button\"><span class=\"see-more\">see more<\/span><span class=\"see-less\">see less<\/span> <span class=\"sr-only\">Toggle Accordion<\/span><\/button>\n                \n            \n        <\/dl>\n    <\/div>\n        <\/dl>\n    <\/div><\/div>\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-large\"><\/div>\n\n<h2 class=\"wp-block-heading alignwide has-extra-large-font-size\">Trainers<\/h2>\n<div class=\"container-wrapper alignfull teachers-slider-block\">\n\t<div class=\"container xlarge\">\n\t\t\t\t\t<div class=\"slider-gallery hidden multiple\">\n\t\t\t\t<ul class=\"gallery\" role=\"list\" data-slide=\"0\" tabindex=\"0\">\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"slide\" role=\"listitem\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/www.eticalgarve.com\/en\/staff\/joao-brito\/\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"fixed-ratio-img\">\n\t\t\t\t\t\t\t\t\t\t<noscript class=\"loading-lazy\">\n\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"640\" src=\"https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/09\/Joao-Brito-Formador-ETIC_Algarve-768x768.webp\" class=\"coverimg\" alt=\"\" sizes=\"auto, (min-width: 993px) 33vw, (min-width: 601px) 50vw, 100vw\" srcset=\"https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/09\/Joao-Brito-Formador-ETIC_Algarve-768x768.webp 768w, https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/09\/Joao-Brito-Formador-ETIC_Algarve-300x300.webp 300w, https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/09\/Joao-Brito-Formador-ETIC_Algarve-150x150.webp 150w, https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/09\/Joao-Brito-Formador-ETIC_Algarve.webp 800w\" \/>\t\t\t\t\t\t\t\t\t\t<\/noscript>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<h3>Jo\u00e3o Brito<\/h3>\n\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<\/ul>\n\t\t\t<\/div>\n\t\t\t<\/div>\n<\/div>\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-large\"><\/div>\n\n<h2 class=\"wp-block-heading alignwide has-extra-large-font-size\">Resources and Equipment<\/h2>\n\n<div class=\"wp-block-group alignwide row-gap-0-on-mobile is-layout-grid wp-container-core-group-is-layout-6be84c55 wp-block-group-is-layout-grid\">\n<ul class=\"wp-block-list has-small-font-size\">\n<li>Room equipped with one computer per trainee, with macOS environment<\/li>\n<\/ul>\n<\/div>\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-small\"><\/div>\n\n<div class=\"wp-block-kobu-custom-blocks-slider-gallery alignfull\">\r\n<div class=\"slider-gallery gallery-container hidden with-pagination multiple\">\r\n<div class=\"gallery \" role=\"list\">\r\n<div class=\"slide\" role=\"listitem\">\r\n<div class=\"figure-wrapper\">\r\n<figure><img loading=\"lazy\" decoding=\"async\" width=\"8192\" height=\"5464\" class=\"wp-image-6313\" src=\"https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/10\/sala-1-.jpg\" sizes=\"auto, 100vw\" alt=\"sala de aula\" srcset=\"https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/10\/sala-1-.jpg 8192w, https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/10\/sala-1--300x200.jpg 300w, https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/10\/sala-1--1024x683.jpg 1024w, https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/10\/sala-1--768x512.jpg 768w, https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/10\/sala-1--1536x1025.jpg 1536w\" \/><\/figure>\r\n<\/div><br><\/div><br><\/div><br><\/div><br><\/div>\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-large\"><\/div>\n\n<div class=\"wp-block-kobu-custom-blocks-section-wrapper alignfull kobu-section has-background has-lightcolour-1-background-color\">\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-large\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading alignwide has-darkcolour-color has-text-color has-link-color has-extra-large-font-size wp-elements-c995d734d239dddfc3644c3ce0602f6a\">Portfolio<\/h2>\n\n\n<div class=\"container-wrapper alignfull projects-slider-block\">\n\t<div class=\"container xlarge\">\n\t\t\t\t\t\t<div class=\"slider-gallery hidden with-pagination multiple\">\n\t\t\t\t\t<ul class=\"gallery\" role=\"list\" data-slide=\"0\" tabindex=\"0\">\n\t\t\t\t\t\t<li class=\"slide\" role=\"listitem\"><figure><img width=\"640\" height=\"363\" src=\"https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/09\/danielcustodio1_projetofinal_web_development-768x435.jpg\" class=\"\" alt=\"\" sizes=\"auto, (min-width: 993px) 33vw, (min-width: 601px) 50vw, 100vw\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/09\/danielcustodio1_projetofinal_web_development-768x435.jpg 768w, https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/09\/danielcustodio1_projetofinal_web_development-300x170.jpg 300w, https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/09\/danielcustodio1_projetofinal_web_development-1024x580.jpg 1024w, https:\/\/www.eticalgarve.com\/files\/uploads\/2025\/09\/danielcustodio1_projetofinal_web_development.jpg 1200w\" \/><\/figure><div class=\"projects-slider-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/www.eticalgarve.com\/en\/projects\/programacao-web\/\"><h3>Web Programming<\/h3><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wp-block-button simple-button\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.eticalgarve.com\/en\/projects\/programacao-web\/\">see project<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/div><\/li>\t\t\t\t\t<\/ul>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n<\/div>\n\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-large\"><\/div>\n<\/div>\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-large\"><\/div>\n\n<h2 class=\"wp-block-heading alignwide has-extra-large-font-size\">Payment Terms<\/h2>\n\n<p>To enrol in this Short Course, you must make an initial payment to confirm your place.<\/p>\n\n<p>The remaining amount can be divided into instalments agreed between you and the school. Full payment must be completed by the end of the course.<\/p>\n\n<h2 class=\"wp-block-heading alignfull heading-font-base has-medium-font-size\">Course Fee<\/h2>\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-custom\" style=\"height: 20px;\" data-small=\"20\" data-medium=\"20\" data-large=\"20\"><\/div>\n\n<div class=\"wp-block-group alignfull grid-with-border grid-padding-30 is-layout-grid wp-container-core-group-is-layout-4d858cb8 wp-block-group-is-layout-grid\">\n<div class=\"wp-block-group wp-container-content-e269605d is-layout-constrained wp-block-group-is-layout-constrained\">\n<h4 class=\"wp-block-heading has-text-align-left has-medium-plus-font-size\"><strong>627\u20ac<\/strong><\/h4>\n\n\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-custom\" style=\"height: 20px;\" data-small=\"20\" data-medium=\"20\" data-large=\"20\"><\/div>\n\n\n\n<p class=\"has-text-align-center\"><\/p>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-large\"><\/div>\n\n<h3 class=\"wp-block-heading alignfull heading-font-base has-medium-font-size\">Special Discounts (not cumulative):<\/h3>\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-custom\" style=\"height: 20px;\" data-small=\"20\" data-medium=\"20\" data-large=\"20\"><\/div>\n\n<div class=\"wp-block-group alignfull grid-with-border grid-padding-30 is-layout-grid wp-container-core-group-is-layout-4d858cb8 wp-block-group-is-layout-grid\">\n<div class=\"wp-block-group wp-container-content-e269605d is-layout-constrained wp-block-group-is-layout-constrained\">\n<h4 class=\"wp-block-heading has-text-align-left has-medium-plus-font-size\"><strong><strong>7,5%<\/strong>\u00a0<\/strong><\/h4>\n\n\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-custom\" style=\"height: 20px;\" data-small=\"20\" data-medium=\"20\" data-large=\"20\"><\/div>\n\n\n\n<p class=\"has-text-align-left\"><strong>595,65 \u20ac<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-left\">ETIC_ community discount Immediate cash payment<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group wp-container-content-e269605d is-layout-constrained wp-block-group-is-layout-constrained\">\n<h4 class=\"wp-block-heading has-text-align-left has-medium-plus-font-size\"><strong>5%<\/strong><\/h4>\n\n\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-custom\" style=\"height: 20px;\" data-small=\"20\" data-medium=\"20\" data-large=\"20\"><\/div>\n\n\n\n<p class=\"has-text-align-left\"><strong>579,98 \u20ac<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-left\">ETIC _community discount<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group wp-container-content-e269605d is-layout-constrained wp-block-group-is-layout-constrained\">\n<h4 class=\"wp-block-heading has-text-align-left has-medium-plus-font-size\"><strong>5%<\/strong><\/h4>\n\n\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-custom\" style=\"height: 20px;\" data-small=\"20\" data-medium=\"20\" data-large=\"20\"><\/div>\n\n\n\n<p class=\"has-text-align-left\"><strong>579,98<\/strong> \u20ac<\/p>\n\n\n\n<p class=\"has-text-align-left\">Public Discount Immediate cash payment<\/p>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-large\"><\/div>\n\n<h2 class=\"wp-block-heading has-extra-large-font-size\">Certification<\/h2>\n\n<p>A Certificate of Participation from ETIC_Algarve will be awarded to participants who achieve the minimum objectives of the course.<\/p>\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-large\"><\/div>\n\n<div class=\"wp-block-kobu-custom-blocks-section-wrapper alignfull kobu-section has-background has-lightcolour-2-background-color course-ctas-grid\">\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-custom\" data-small=\"30\" data-medium=\"30\" data-large=\"30\" style=\"height:30px\"><\/div><br>\n\n\n\n<div class=\"wp-block-group alignfull grid-padding-40 is-layout-grid wp-container-core-group-is-layout-6be84c55 wp-block-group-is-layout-grid\">\n<div class=\"wp-block-group has-darkcolour-background-color has-background is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading has-lightcolour-2-color has-text-color has-link-color has-large-font-size wp-elements-b163f85e69290003e768d5432bc1de17\">Are you interested?<\/h2>\n\n\n\n<p class=\"has-lightcolour-2-color has-text-color has-link-color has-small-font-size wp-elements-3ee4dff864cc82936d350ed0679b505b\">Make a non-binding pre-registration.<\/p>\n\n\n<div class=\"cta-modal-block\">\n\t<div class=\"cta-button-wrapper\">\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-darkcolour-color has-lightcolour-2-background-color has-text-color has-background has-link-color wp-element-button\" href=\"#\">pre-register<\/a><\/div>\n<\/div>\n\n<\/div>\n\n\t\t\t\t<div class=\"cta-modal-wrapper\">\n\t\t\t\t<div class=\"cta-modal\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"cta-modal-close\"><svg version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 9.4 9.4\" style=\"enable-background:new 0 0 9.4 9.4;\" xml:space=\"preserve\"><g><g transform=\"translate(20, 20)\"><g transform=\"translate(483, 10)\"><g transform=\"translate(10.05, 10.05)\"><line stroke=\"#000000\" x1=\"-504.3\" y1=\"-39.3\" x2=\"-512.3\" y2=\"-31.3\"\/><line stroke=\"#000000\" x1=\"-512.3\" y1=\"-39.3\" x2=\"-504.3\" y2=\"-31.3\"\/><\/g><\/g><\/g><\/g><\/svg><\/div>\n\t\t\t\t\t\t<script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\nvar gform;gform||(document.addEventListener(\"gform_main_scripts_loaded\",function(){gform.scriptsLoaded=!0}),document.addEventListener(\"gform\/theme\/scripts_loaded\",function(){gform.themeScriptsLoaded=!0}),window.addEventListener(\"DOMContentLoaded\",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,themeScriptsLoaded:!1,isFormEditor:()=>\"function\"==typeof InitializeEditor,callIfLoaded:function(o){return!(!gform.domLoaded||!gform.scriptsLoaded||!gform.themeScriptsLoaded&&!gform.isFormEditor()||(gform.isFormEditor()&&console.warn(\"The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1.\"),o(),0))},initializeOnLoaded:function(o){gform.callIfLoaded(o)||(document.addEventListener(\"gform_main_scripts_loaded\",()=>{gform.scriptsLoaded=!0,gform.callIfLoaded(o)}),document.addEventListener(\"gform\/theme\/scripts_loaded\",()=>{gform.themeScriptsLoaded=!0,gform.callIfLoaded(o)}),window.addEventListener(\"DOMContentLoaded\",()=>{gform.domLoaded=!0,gform.callIfLoaded(o)}))},hooks:{action:{},filter:{}},addAction:function(o,r,e,t){gform.addHook(\"action\",o,r,e,t)},addFilter:function(o,r,e,t){gform.addHook(\"filter\",o,r,e,t)},doAction:function(o){gform.doHook(\"action\",o,arguments)},applyFilters:function(o){return gform.doHook(\"filter\",o,arguments)},removeAction:function(o,r){gform.removeHook(\"action\",o,r)},removeFilter:function(o,r,e){gform.removeHook(\"filter\",o,r,e)},addHook:function(o,r,e,t,n){null==gform.hooks[o][r]&&(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&&(n=r+\"_\"+d.length),gform.hooks[o][r].push({tag:n,callable:e,priority:t=null==t?10:t})},doHook:function(r,o,e){var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&&((o=gform.hooks[r][o]).sort(function(o,r){return o.priority-r.priority}),o.forEach(function(o){\"function\"!=typeof(t=o.callable)&&(t=window[t]),\"action\"==r?t.apply(null,e):e[0]=t.apply(null,e)})),\"filter\"==r)return e[0]},removeHook:function(o,r,t,n){var e;null!=gform.hooks[o][r]&&(e=(e=gform.hooks[o][r]).filter(function(o,r,e){return!!(null!=n&&n!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][r]=e)}});\n\/* ]]> *\/\n<\/script>\n\n                <div class='gf_browser_gecko gform_wrapper gravity-theme gform-theme--no-framework' data-form-theme='gravity-theme' data-form-index='0' id='gform_wrapper_7' ><div id='gf_7' class='gform_anchor' tabindex='-1'><\/div><form method='post' enctype='multipart\/form-data' target='gform_ajax_frame_7' id='gform_7'  action='\/en\/wp-json\/wp\/v2\/course\/10171#gf_7' data-formid='7' novalidate><div class='gf_invisible ginput_recaptchav3' data-sitekey='6Lc3bPsrAAAAAKHJ_Ir7zdefklaPDl8Mq46yr7cb' data-tabindex='0'><input id=\"input_cd9dd5320020fefeee61b975273695e9\" class=\"gfield_recaptcha_response\" type=\"hidden\" name=\"input_cd9dd5320020fefeee61b975273695e9\" value=\"\"\/><\/div>\n                        <div class='gform-body gform_body'><div id='gform_page_7_1' class='gform_page ' data-js='page-field-id-0' >\n\t\t\t\t\t<div class='gform_page_fields'><div id='gform_fields_7' class='gform_fields top_label form_sublabel_below description_below validation_below'><div id=\"field_7_16\" class=\"gfield gfield--type-html gfield--input-type-html gfield--width-full gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><h2 class=\"modal-form-title\">O curso  interessa-te?<\/h2>\n<p class=\"modal-form-description\">Preenche o formul\u00e1rio para realizares a tua pr\u00e9-inscri\u00e7\u00e3o, sem compromisso. De seguida a nossa equipa vai entrar em contacto contigo. Estamos \u00e0 tua espera!<\/p><\/div><div id=\"field_7_3\" class=\"gfield gfield--type-text gfield--input-type-text gfield--width-full gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_7_3'>Nome<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/label><div class='ginput_container ginput_container_text'><input name='input_3' id='input_7_3' type='text' value='' class='large'     aria-required=\"true\" aria-invalid=\"false\"   \/><\/div><\/div><div id=\"field_7_4\" class=\"gfield gfield--type-email gfield--input-type-email gfield--width-full gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_7_4'>Email<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/label><div class='ginput_container ginput_container_email'>\n                            <input name='input_4' id='input_7_4' type='email' value='' class='large'    aria-required=\"true\" aria-invalid=\"false\"  \/>\n                        <\/div><\/div><div id=\"field_7_5\" class=\"gfield gfield--type-phone gfield--input-type-phone gfield--width-full gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_7_5'>Telefone<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/label><div class='ginput_container ginput_container_phone'><input name='input_5' id='input_7_5' type='tel' value='' class='large'   aria-required=\"true\" aria-invalid=\"false\"   \/><\/div><\/div><div id=\"field_7_6\" class=\"gfield gfield--type-date gfield--input-type-date gfield--input-type-datepicker gfield--datepicker-no-icon gfield--width-full gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_7_6'>Data de Nascimento<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/label><div class='ginput_container ginput_container_date'>\n                            <input name='input_6' id='input_7_6' type='text' value='' class='datepicker gform-datepicker dmy datepicker_no_icon gdatepicker-no-icon'   placeholder='dd\/mm\/yyyy' aria-describedby=\"input_7_6_date_format\" aria-invalid=\"false\" aria-required=\"true\"\/>\n                            <span id='input_7_6_date_format' class='screen-reader-text'>DD slash MM slash YYYY<\/span>\n                        <\/div>\n                        <input type='hidden' id='gforms_calendar_icon_input_7_6' class='gform_hidden' value='https:\/\/www.eticalgarve.com\/files\/plugins\/gravityforms\/images\/datepicker\/datepicker.svg'\/><\/div><div id=\"field_7_7\" class=\"gfield gfield--type-text gfield--input-type-text gfield--width-full gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_7_7'>Localidade<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/label><div class='ginput_container ginput_container_text'><input name='input_7' id='input_7_7' type='text' value='' class='large'     aria-required=\"true\" aria-invalid=\"false\"   \/><\/div><\/div><\/div>\n                    <\/div>\n                    <div class='gform-page-footer gform_page_footer top_label'>\n                         <input type='button' id='gform_next_button_7_1' class='gform_next_button gform-theme-button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='next' value='Seguinte'  \/> \n                    <\/div>\n                <\/div>\n                <div id='gform_page_7_2' class='gform_page' data-js='page-field-id-1' style='display:none;'>\n                    <div class='gform_page_fields'>\n                        <div id='gform_fields_7_2' class='gform_fields top_label form_sublabel_below description_below validation_below'><div id=\"field_7_17\" class=\"gfield gfield--type-html gfield--input-type-html gfield--width-full gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><h2 class=\"modal-form-title\">O curso  interessa-te?<\/h2>\n<p class=\"modal-form-description\">Preenche o formul\u00e1rio para realizares a tua pr\u00e9-inscri\u00e7\u00e3o, sem compromisso. De seguida a nossa equipa vai entrar em contacto contigo. Estamos \u00e0 tua espera!<\/p><\/div><div id=\"field_7_9\" class=\"gfield gfield--type-text gfield--input-type-text gfield--width-full gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_7_9'>Atividade<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/label><div class='ginput_container ginput_container_text'><input name='input_9' id='input_7_9' type='text' value='' class='large'     aria-required=\"true\" aria-invalid=\"false\"   \/><\/div><\/div><div id=\"field_7_10\" class=\"gfield gfield--type-text gfield--input-type-text gfield--width-full gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_7_10'>Habilita\u00e7\u00f5es Liter\u00e1rias<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/label><div class='ginput_container ginput_container_text'><input name='input_10' id='input_7_10' type='text' value='' class='large'     aria-required=\"true\" aria-invalid=\"false\"   \/><\/div><\/div><div id=\"field_7_11\" class=\"gfield gfield--type-text gfield--input-type-text gfield--width-full gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_7_11'>\u00c1rea de Forma\u00e7\u00e3o<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/label><div class='ginput_container ginput_container_text'><input name='input_11' id='input_7_11' type='text' value='' class='large'     aria-required=\"true\" aria-invalid=\"false\"   \/><\/div><\/div><\/div>\n                    <\/div>\n                    <div class='gform-page-footer gform_page_footer top_label'>\n                        <input type='button' id='gform_previous_button_7_8' class='gform_previous_button gform-theme-button gform-theme-button--secondary button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='previous' value='Anterior'  \/> <input type='button' id='gform_next_button_7_8' class='gform_next_button gform-theme-button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='next' value='Seguinte'  \/> \n                    <\/div>\n                <\/div>\n                <div id='gform_page_7_3' class='gform_page' data-js='page-field-id-8' style='display:none;'>\n                    <div class='gform_page_fields'>\n                        <div id='gform_fields_7_3' class='gform_fields top_label form_sublabel_below description_below validation_below'><div id=\"field_7_18\" class=\"gfield gfield--type-html gfield--input-type-html gfield--width-full gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><h2 class=\"modal-form-title\">O curso  interessa-te?<\/h2>\n<p class=\"modal-form-description\">Preenche o formul\u00e1rio para realizares a tua pr\u00e9-inscri\u00e7\u00e3o, sem compromisso. De seguida a nossa equipa vai entrar em contacto contigo. Estamos \u00e0 tua espera!<\/p><\/div><div id=\"field_7_12\" class=\"gfield gfield--type-text gfield--input-type-text gfield--width-full field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_7_12'>Como tiveste conhecimento do curso?<\/label><div class='ginput_container ginput_container_text'><input name='input_12' id='input_7_12' type='text' value='' class='large'      aria-invalid=\"false\"   \/><\/div><\/div><fieldset id=\"field_7_14\" class=\"gfield gfield--type-radio gfield--type-choice gfield--input-type-radio gfield--width-full field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><legend class='gfield_label gform-field-label' >Pertences \u00e0 comunidade ETIC?<\/legend><div class='ginput_container ginput_container_radio'><div class='gfield_radio' id='input_7_14'>\n\t\t\t<div class='gchoice gchoice_7_14_0'>\n\t\t\t\t\t<input class='gfield-choice-input' name='input_14' type='radio' value='Sim'  id='choice_7_14_0' onchange='gformToggleRadioOther( this )'    \/>\n\t\t\t\t\t<label for='choice_7_14_0' id='label_7_14_0' class='gform-field-label gform-field-label--type-inline'>Sim<\/label>\n\t\t\t<\/div>\n\t\t\t<div class='gchoice gchoice_7_14_1'>\n\t\t\t\t\t<input class='gfield-choice-input' name='input_14' type='radio' value='N\u00e3o'  id='choice_7_14_1' onchange='gformToggleRadioOther( this )'    \/>\n\t\t\t\t\t<label for='choice_7_14_1' id='label_7_14_1' class='gform-field-label gform-field-label--type-inline'>N\u00e3o<\/label>\n\t\t\t<\/div><\/div><\/div><\/fieldset><fieldset id=\"field_7_15\" class=\"gfield gfield--type-consent gfield--type-choice gfield--input-type-consent gfield--width-full gfield_contains_required field_sublabel_below gfield--no-description field_description_below hidden_label field_validation_below gfield_visibility_visible\"  ><legend class='gfield_label gform-field-label gfield_label_before_complex' >Consentimento<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/legend><div class='ginput_container ginput_container_consent'><input name='input_15.1' id='input_7_15_1' type='checkbox' value='1'   aria-required=\"true\" aria-invalid=\"false\"   \/> <label class=\"gform-field-label gform-field-label--type-inline gfield_consent_label\" for='input_7_15_1' >Concordas com os <div class=\"wp-block-button simple-button\"><a class=\"wp-block-button__link\" href=\"https:\/\/www.eticalgarve.com\/termos-e-condicoes\/\" target=\"_blank\" rel=\"noopener\">Termos e Condi\u00e7\u00f5es<\/a>. Descobre que dados recolhemos e como os usamos na <div class=\"wp-block-button simple-button\"><a class=\"wp-block-button__link\" href=\"https:\/\/www.eticalgarve.com\/politica-privacidade\" target=\"_blank\" rel=\"noopener\">Pol\u00edtica de Privacidade<\/a>.<span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/label><input type='hidden' name='input_15.2' value='Concordas com os &lt;div class=&quot;wp-block-button simple-button&quot;&gt;&lt;a class=&quot;wp-block-button__link&quot; href=&quot;https:\/\/www.eticalgarve.com\/termos-e-condicoes\/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Termos e Condi\u00e7\u00f5es&lt;\/a&gt;. Descobre que dados recolhemos e como os usamos na &lt;div class=&quot;wp-block-button simple-button&quot;&gt;&lt;a class=&quot;wp-block-button__link&quot; href=&quot;https:\/\/www.eticalgarve.com\/politica-privacidade&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Pol\u00edtica de Privacidade&lt;\/a&gt;.' class='gform_hidden' \/><input type='hidden' name='input_15.3' value='7' class='gform_hidden' \/><\/div><\/fieldset><\/div><\/div>\n        <div class='gform-page-footer gform_page_footer top_label'><input type='submit' id='gform_previous_button_7' class='gform_previous_button gform-theme-button gform-theme-button--secondary button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='previous' value='Anterior'  \/> <input type='submit' id='gform_submit_button_7' class='gform_button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='submit' value='Submit'  \/> <input type='hidden' name='gform_ajax' value='form_id=7&amp;title=&amp;description=&amp;tabindex=0&amp;theme=gravity-theme&amp;hash=2ffd49ec808a58434571b4021b928af9' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_7' value='iframe' \/>\n            <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_7' id='gform_theme_7' value='gravity-theme' \/>\n            <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_7' id='gform_style_settings_7' value='' \/>\n            <input type='hidden' class='gform_hidden' name='is_submit_7' value='1' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submit' value='7' \/>\n            \n            <input type='hidden' class='gform_hidden' name='gform_currency' data-currency='EUR' value='V7DxsonJjhFbyLSWU4316mamZNo\/76XNRURtvMT56m7IP8lwuAuo54xUgfR7pcLYK7AenWvT0Ih9CSEMeftB1hlKw8KOYAbZsp+Q6ErGdewze0s=' \/>\n            <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' \/>\n            <input type='hidden' class='gform_hidden' name='state_7' value='WyJ7XCIxNFwiOltcImMzNWViZmExMzhlMDZiNTQ2MWYxZmE2MGQzYmY0NTllXCIsXCJkMjllMWQ5Y2UzMDRhY2JkYTU4NGYzZDcxM2MxMzA1Y1wiXSxcIjE1LjFcIjpcIjVjNzY3ZGE5NGEyZjBmYzgxZWIxMGQ1ZGE2MjQzY2IwXCIsXCIxNS4yXCI6XCIzZGJkNWVmN2I1NzBiOTA2OTlmYTAxOTE2OWYzMjFiZlwiLFwiMTUuM1wiOlwiYjZkMTE5ZWMwZjJhZWI2MTU3YTBiNmQwZTIyYmRhMTVcIn0iLCJiZmUxZjU3MDYwNDhlZTJmMzM1NDk5YWQxNWViZGRkZiJd' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_7' id='gform_target_page_number_7' value='2' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_7' id='gform_source_page_number_7' value='1' \/>\n            <input type='hidden' name='gform_field_values' value='' \/>\n            \n        <\/div>\n             <\/div><\/div>\n                        <\/form>\n                        <\/div>\n\t\t                <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_7' id='gform_ajax_frame_7' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'><\/iframe>\n\t\t                <script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n gform.initializeOnLoaded( function() {gformInitSpinner( 7, 'https:\/\/www.eticalgarve.com\/files\/plugins\/gravityforms\/images\/spinner.svg', true );jQuery('#gform_ajax_frame_7').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_7');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_7').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_7').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_7').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_7').removeClass('gform_validation_error');}setTimeout( function() { \/* delay the scroll by 50 milliseconds to fix a bug in chrome *\/ jQuery(document).scrollTop(jQuery('#gform_wrapper_7').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_7').val();gformInitSpinner( 7, 'https:\/\/www.eticalgarve.com\/files\/plugins\/gravityforms\/images\/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [7, current_page]);window['gf_submitting_7'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_7').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_7').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [7]);window['gf_submitting_7'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_7').text());}else{jQuery('#gform_7').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger(\"gform_pre_post_render\", [{ formId: \"7\", currentPage: \"current_page\", abort: function() { this.preventDefault(); } }]);        if (event && event.defaultPrevented) {                return;        }        const gformWrapperDiv = document.getElementById( \"gform_wrapper_7\" );        if ( gformWrapperDiv ) {            const visibilitySpan = document.createElement( \"span\" );            visibilitySpan.id = \"gform_visibility_test_7\";            gformWrapperDiv.insertAdjacentElement( \"afterend\", visibilitySpan );        }        const visibilityTestDiv = document.getElementById( \"gform_visibility_test_7\" );        let postRenderFired = false;        function triggerPostRender() {            if ( postRenderFired ) {                return;            }            postRenderFired = true;            gform.core.triggerPostRenderEvents( 7, current_page );            if ( visibilityTestDiv ) {                visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );            }        }        function debounce( func, wait, immediate ) {            var timeout;            return function() {                var context = this, args = arguments;                var later = function() {                    timeout = null;                    if ( !immediate ) func.apply( context, args );                };                var callNow = immediate && !timeout;                clearTimeout( timeout );                timeout = setTimeout( later, wait );                if ( callNow ) func.apply( context, args );            };        }        const debouncedTriggerPostRender = debounce( function() {            triggerPostRender();        }, 200 );        if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) {            const observer = new MutationObserver( ( mutations ) => {                mutations.forEach( ( mutation ) => {                    if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) {                        debouncedTriggerPostRender();                        observer.disconnect();                    }                });            });            observer.observe( document.body, {                attributes: true,                childList: false,                subtree: true,                attributeFilter: [ 'style', 'class' ],            });        } else {            triggerPostRender();        }    } );} ); \n\/* ]]> *\/\n<\/script>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div><\/div>\n\n\n\n<div class=\"wp-block-group has-darkcolour-background-color has-background is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading has-lightcolour-2-color has-text-color has-link-color has-large-font-size wp-elements-104702502b78673093fb374e629f676e\">Do you have any questions?<\/h2>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-darkcolour-color has-lightcolour-2-background-color has-text-color has-background has-link-color wp-element-button\" href=\"https:\/\/www.eticalgarve.com\/en\/?page_id=1945\">contact us<\/a><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-darkcolour-background-color has-background is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading has-lightcolour-2-color has-text-color has-link-color has-large-font-size wp-elements-b08143089ec2b6455b7f17c701549dc5\">Would you like to visit the school?<\/h2>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-darkcolour-color has-lightcolour-2-background-color has-text-color has-background has-link-color wp-element-button\" href=\"https:\/\/www.eticalgarve.com\/en\/?page_id=1945\">book a visit now<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-kobu-custom-blocks-responsive-spacer responsive-spacer size-custom\" data-small=\"30\" data-medium=\"30\" data-large=\"30\" style=\"height:30px\"><\/div><br>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Learn to Program in JavaScript and Develop Professional Frontend Skills Contents Trainers Resources and Equipment Payment Terms To enrol in this Short Course, you must [&hellip;]<\/p>\n","protected":false},"featured_media":8853,"parent":0,"menu_order":6,"template":"","categories":[145],"course-type":[64],"training-area":[81],"class_list":["post-10171","course","type-course","status-publish","has-post-thumbnail","hentry","category-after-work-hours"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.eticalgarve.com\/en\/wp-json\/wp\/v2\/course\/10171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.eticalgarve.com\/en\/wp-json\/wp\/v2\/course"}],"about":[{"href":"https:\/\/www.eticalgarve.com\/en\/wp-json\/wp\/v2\/types\/course"}],"version-history":[{"count":7,"href":"https:\/\/www.eticalgarve.com\/en\/wp-json\/wp\/v2\/course\/10171\/revisions"}],"predecessor-version":[{"id":10722,"href":"https:\/\/www.eticalgarve.com\/en\/wp-json\/wp\/v2\/course\/10171\/revisions\/10722"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.eticalgarve.com\/en\/wp-json\/wp\/v2\/media\/8853"}],"wp:attachment":[{"href":"https:\/\/www.eticalgarve.com\/en\/wp-json\/wp\/v2\/media?parent=10171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.eticalgarve.com\/en\/wp-json\/wp\/v2\/categories?post=10171"},{"taxonomy":"course-type","embeddable":true,"href":"https:\/\/www.eticalgarve.com\/en\/wp-json\/wp\/v2\/course-type?post=10171"},{"taxonomy":"training-area","embeddable":true,"href":"https:\/\/www.eticalgarve.com\/en\/wp-json\/wp\/v2\/training-area?post=10171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}