{"id":12412,"date":"2023-10-02T08:58:36","date_gmt":"2023-10-02T08:58:36","guid":{"rendered":"https:\/\/senhorcursos.com\/?p=12412"},"modified":"2023-10-02T19:12:38","modified_gmt":"2023-10-02T19:12:38","slug":"recomendador-como-aprender-a-costurar-do-zero","status":"publish","type":"post","link":"https:\/\/senhorcursos.com\/en\/recomendador-como-aprender-a-costurar-do-zero\/","title":{"rendered":"SCS Recommender \u2013 How to learn to sew from scratch"},"content":{"rendered":"<!--fbpixel--><!--fbpixel--><!--awpixel--><!--awpixel--><!--landing--><div class=\"wp-block-lazyblock-landing-page-variant lazyblock-landing-page-variant-ZLv4Wi\"><div id=\"landing\" style=\"\" class=\"mb-40\">\n  <section class=\"text-gray-600 body-font border-gray-200 sm:border-0\">\n    <div style=\"max-width: 850px;\" class=\"sm:pt-6 mx-auto block\">\n      <div class=\"text-center py-3 px-5\">\n        <p data-av-subtitle class=\"leading-relaxed sm:w-3\/4 mx-auto mb-0\">\n          Sewing will open up a world of creative possibilities for you!        <\/p>\n      <\/div>\n\n              <section id=\"half\" class=\"text-gray-600 body-font border-gray-200 sm:border-0\">\n          <h4 class=\"pt-3 text-center text-gray-900 text-2xl title-font font-medium px-5 mb-12\">\n            Learn to sew from scratch with the best sewing apps          <\/h4>\n          <div id=\"scs_top_wrapper\" style=\"height:600px;\" align=\"center\" class=\"w-full border-gray-200 border-b mt-8 mb-8 pb-5\">\n    <div align=\"center\" style=\"position: sticky; top: 120px;\" class=\"w-full\">\n                  <p style=\"font-size: 10px;\" class=\"uppercase text-center\">\n            Advertisement          <\/p>\n                <div id=\"scs_top\" >\n        <\/div>\n    <\/div>\n<\/div>\n          <p class=\"sm:hidden pb-2 text-center sm:text-left leading-relaxed px-5\">\n              Learning to sew from scratch is a journey that opens doors to creativity, self-sufficiency, and self-expression. With basic sewing skills, you can create custom garments and repair your favorite pieces! That\u2019s why we\u2019ve rounded up the best sewing apps to help you get started.          <\/p>\n          \n          <div class=\"sm:hidden sm:px-0 py-6 mx-auto px-5\">\n            <div class=\"w-full mx-auto flex flex-wrap\">\n                              <a class=\"mx-auto block\" href=\"https:\/\/senhorcursos.com\/en\/como-aprender-a-costurar-do-zero\/\" data-analytics-label=\"landingPageImage\" data-action=\"analytics#trackCTA\">\n                  <img loading=\"lazy\" alt=\"card\" style=\"height: 190px;\" class=\"w-full h-64 object-cover object-center rounded border-gray-100 border-2\" src=\"https:\/\/senhorcursos.com\/wp-content\/uploads\/2023\/10\/como-aprender-a-costurar-do-zero-3-scaled.jpeg\">\n                <\/a>\n                                          <div class=\"lg:w-3\/5 w-full lg:pl-6 mt-6 lg:mt-0\">\n                                  <div class=\"flex\">\n                    <a class=\"flex text-white no-underline mt-10 m-auto sm:mr-0 sm:ml-auto\" href=\"https:\/\/senhorcursos.com\/en\/como-aprender-a-costurar-do-zero\/\"  data-analytics-label=\"landingPageFirstButton\" data-action=\"analytics#trackCTA\">\n                      <button id=\"landing-first\" class=\"text-white flex m-auto sm:mr-0 sm:ml-auto border-0 py-2 px-8 text-lg focus:outline-none rounded\">\n                        SEE APPS TO LEARN HOW TO SEW                      <\/button>\n                    <\/a>\n                  <\/div>\n                                      <p class=\"text-xs text-gray-500 mt-3 text-center sm:text-right\">\n                      You will remain on the same website                    <\/p>\n                                                                <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"mt-10 h-1 bg-gray-200 rounded overflow-hidden sm:hidden mx-5\">\n            <div class=\"w-24 h-full\"><\/div>\n          <\/div>\n          <div class=\"hidden sm:block sm:px-0 py-6 mx-auto px-5\">\n            <div class=\"w-full py-3 mx-auto flex flex-wrap\">\n                              <img loading=\"lazy\" alt=\"card\" style=\"height: 190px;\" class=\"lg:w-2\/5 w-full h-64 object-cover object-center rounded border-gray-100 border-2\" src=\"https:\/\/senhorcursos.com\/wp-content\/uploads\/2023\/10\/como-aprender-a-costurar-do-zero-3-scaled.jpeg\">\n                            \n              <div class=\"lg:w-3\/5 w-full lg:pl-6 mt-6 lg:mt-0\">\n                \n                \n                <p class=\"py-2 text-center sm:text-left leading-relaxed\">\n                  Learning to sew from scratch is a journey that opens doors to creativity, self-sufficiency, and self-expression. With basic sewing skills, you can create custom garments and repair your favorite pieces! That\u2019s why we\u2019ve rounded up the best sewing apps to help you get started.                <\/p>\n                <div class=\"flex mt-6 items-center pb-5 border-b-2 border-gray-100 mb-5\">\n                <\/div>\n                                  <div class=\"flex\">\n                    <a class=\"flex text-white no-underline mt-10 m-auto sm:mr-0 sm:ml-auto\" href=\"https:\/\/senhorcursos.com\/en\/como-aprender-a-costurar-do-zero\/\"  data-analytics-label=\"landingPageFirstButton\" data-action=\"analytics#trackCTA\">\n                      <button id=\"landing-first\" class=\"text-white flex m-auto sm:mr-0 sm:ml-auto border-0 py-2 px-8 text-lg focus:outline-none rounded\">\n                        SEE APPS TO LEARN HOW TO SEW                      <\/button>\n                    <\/a>\n                  <\/div>\n                                      <p class=\"text-xs text-gray-500 mt-3 text-center sm:text-right\">\n                      You will remain on the same website                    <\/p>\n                                                                <\/div>\n            <\/div>\n          <\/div>\n        <\/section>\n      \n      <p class=\"text-center leading-relaxed sm:w-3\/4 mx-auto my-10 px-5\">\n        Learning to sew from scratch with the help of apps offers a series of significant benefits:      <\/p>\n            <div class=\"flex flex-wrap sm:w-full sm:mx-auto sm:mb-2 px-5\">\n        <div class=\"p-2 sm:w-1\/2 w-full\">\n          <div class=\"bg-gray-100 rounded flex p-4 h-full items-center\">\n            <svg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"3\" class=\"w-6 h-6 flex-shrink-0 mr-4\" viewbox=\"0 0 24 24\">\n              <path d=\"M22 11.08V12a10 10 0 11-5.93-9.14\"><\/path>\n              <path d=\"M22 4L12 14.01l-3-3\"><\/path>\n            <\/svg>\n            <span class=\"title-font font-medium text-left\">\n              Create unique clothing and accessories            <\/span>\n          <\/div>\n        <\/div>\n        <div class=\"p-2 sm:w-1\/2 w-full\">\n          <div class=\"bg-gray-100 rounded flex p-4 h-full items-center\">\n            <svg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"3\" class=\"w-6 h-6 flex-shrink-0 mr-4\" viewbox=\"0 0 24 24\">\n              <path d=\"M22 11.08V12a10 10 0 11-5.93-9.14\"><\/path>\n              <path d=\"M22 4L12 14.01l-3-3\"><\/path>\n            <\/svg>\n            <span class=\"title-font font-medium text-left\">\n              Allows you to recycle and reuse clothes            <\/span>\n          <\/div>\n        <\/div>\n        <div class=\"p-2 sm:w-1\/2 w-full\">\n          <div class=\"bg-gray-100 rounded flex p-4 h-full items-center\">\n            <svg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"3\" class=\"w-6 h-6 flex-shrink-0 mr-4\" viewbox=\"0 0 24 24\">\n              <path d=\"M22 11.08V12a10 10 0 11-5.93-9.14\"><\/path>\n              <path d=\"M22 4L12 14.01l-3-3\"><\/path>\n            <\/svg>\n            <span class=\"title-font font-medium text-left\">\n              Gifting friends and family with personalized items            <\/span>\n          <\/div>\n        <\/div>\n        <div class=\"p-2 sm:w-1\/2 w-full\">\n          <div class=\"bg-gray-100 rounded flex p-4 h-full items-center\">\n            <svg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"3\" class=\"w-6 h-6 flex-shrink-0 mr-4\" viewbox=\"0 0 24 24\">\n              <path d=\"M22 11.08V12a10 10 0 11-5.93-9.14\"><\/path>\n              <path d=\"M22 4L12 14.01l-3-3\"><\/path>\n            <\/svg>\n            <span class=\"title-font font-medium text-left\">\n              Express your individuality and personal style            <\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n      \n              <div class=\"mx-5\" data-anchor-target=\"lazyBlock\">\n          <a class=\"text-white no-underline\"  href=\"https:\/\/senhorcursos.com\/en\/como-aprender-a-costurar-do-zero\/\" data-analytics-label=\"landingPageSecondButton\" data-action=\"analytics#trackCTA\">\n            <button id=\"landing-second\" class=\"flex mx-auto mt-16 border-0 py-2 px-8 focus:outline-none rounded text-lg\">\n              SEE APPS TO LEARN HOW TO SEW            <\/button>\n          <\/a>\n        <\/div>\n                          <p class=\"text-xs text-gray-500 mt-3 text-center\">\n            You will remain on the same website          <\/p>\n                        <\/div>\n  <\/section>\n\n    <script type=\"module\"> function waitFor(conditionFunction) { const poll = resolve => { if(conditionFunction()) resolve(); else setTimeout(_ => poll(resolve), 400); }; return new Promise(poll); } import { Application, Controller } from \"\/wp-content\/themes\/twentytwentyone\/assets\/js\/stimulus.min.js\"; let Stimulus = Application.start(); Stimulus.register(\"anchor\", class extends Controller { static get targets() { return [ \"lazyBlock\", \"lazyBlockAnchor\" ]; } initialize() { this.active = false; this.passed = false; this.closed = false; this.anchorViews = 0; this.boundOnShowAnchor = this.onShowAnchor.bind(this); window.anchorReady = window.anchorReady || false; waitFor(_ => (window.scrollY > this.getHeightBlock() && !this.active)) .then(_ => { !window.anchorReady? this.visible() : ''; window.anchorReady = true; }); if (document.getElementById('landing')) { setTimeout(() => { !window.anchorReady ? this.visible() : ''; window.anchorReady = true; }, 1 * 30000); }; } connect() { this.onShowAnchor(); document.addEventListener(\"scroll\", this.boundOnShowAnchor); } disconnect() { document.removeEventListener(\"scroll\", this.boundOnShowAnchor); } visible() { if (document.getElementById('av-offerwall__wrapper')) { setTimeout(() => this.visible(), 20000); return; } if (document.getElementById('av-fixed__bottomWrapper') && document.getElementById('av-fixed__bottomWrapper').style.display !== 'none' && document.getElementById('av-fixed__bottomWrapper').getBoundingClientRect().height > 100) { setTimeout(() => this.visible(), 1000); return; } if (document.getElementById('av-fixed__bottomWrapper') && document.getElementById('av-fixed__bottomWrapper').style.display !== 'none' && document.getElementById('av-fixed__bottomWrapper').getBoundingClientRect().height > 10) { this.getAnchorElement().style.marginBottom = '60px'; } if (document.querySelector('[data-anchor-shown=\"true\"]') && document.querySelector('[data-anchor-shown=\"true\"]').style.bottom === '0px') { setTimeout(() => this.visible(), 1000); return; } if (!window.km2AnchorReady) { this.active = true; \/*this.getAnchorElement().style.animation = \"none\"; this.getAnchorElement().classList.remove('animate-show-down');*\/ \/*this.getAnchorElement().classList.add('animate-show-up');*\/ \/*setTimeout(() => {*\/ \/*this.getAnchorElement().style.animation = \"\";*\/ this.getAnchorElement().classList.add('animate-show-up'); this.getAnchorElement().classList.remove('hidden'); this.setAnchorViews(this.anchorViews+1); setTimeout(() => this.closeAnchor(), 20000); waitFor(_ => (document.getElementById('av-fixed__bottomWrapper') && document.getElementById('av-fixed__bottomWrapper').style.display !== 'none' && document.getElementById('av-fixed__bottomWrapper').getBoundingClientRect().height > 10 && this.getAnchorElement().style.marginBottom !== '60px')) .then(_ => { this.closeAnchor(); }); this.active = false; \/*}, 10);*\/ } } invisible() { this.active = true; this.getAnchorElement().style.animation = \"none\"; this.getAnchorElement().classList.remove('animate-show-up'); this.getAnchorElement().classList.add('animate-show-down'); setTimeout(() => { this.getAnchorElement().style.animation = \"\"; setTimeout(() => { this.getAnchorElement().classList.add('hidden'); this.active = false; }, 800); }, 10); } onShowAnchor() { let anchorReady = false;  \/*if (!this.active && !anchorReady) { if (this.getAnchorViews() <= 3) { if (window.scrollY > this.getHeightBlock()) { if (!this.passed && !this.closed) { this.visible(); this.passed = true; } } else { if (this.passed) { this.invisible(); this.passed = false; } } } else { if (!this.getAnchorElement().classList.contains('close')) { this.getAnchorElement().classList.add('close'); if (window.scrollY < this.getHeightBlock()) { this.invisible(); } } } }*\/ } closeAnchor() { if (this.closed) return; this.invisible(); this.getAnchorElement().classList.add('close'); this.closed = true; } getAnchorElement() { return this.lazyBlockAnchorTargets[0]; } getAnchorViews() { this.anchorViews = parseInt(sessionStorage.getItem(\"anchorViews\")) >= 1 ? parseInt(sessionStorage.getItem(\"anchorViews\")) : 0; return this.anchorViews; } setAnchorViews(views) { sessionStorage.setItem(\"anchorViews\", views); } getHeightBlock() { return this.lazyBlockTarget.offsetTop + this.lazyBlockTarget.offsetHeight - 110; } }) <\/script>  <div data-anchor-target=\"lazyBlockAnchor\" class=\"fixed w-full sm:w-96 px-3 py-2 bottom-0 left-0 hidden\" style=\"z-index: 999999;\" name=\"lazyBlockAnchor\">\n    <div class=\"grid justify-items-stretch\">        \n              <div class=\"relative justify-self-end top-4 -right-2\">\n          <button data-no-translation class=\"bg-white text-md font-medium text-center rounded-full h-7 w-7 border-2\" data-analytics-label=\"anchorCloseAnchor\" data-action=\"anchor#closeAnchor\" style=\"z-index: 999999;\">\n            X\n          <\/button>\n        <\/div>\n        <div class=\"w-full justify-self-start flex flex-col h-32 bg-white border-solid border-2 shadow-md rounded-md\">\n          <div class=\"mx-2 h-1\/2\">\n            <p class=\"px-5 text-center pt-3 text-xs\">\n              Learn to sew from scratch with the best sewing apps            <\/p>\n          <\/div>\n          <div class=\"mx-2 mt-1 bottom-0 h-1\/2\">\n            <a class=\"w-full m-auto\" href=\"https:\/\/senhorcursos.com\/en\/como-aprender-a-costurar-do-zero\/\"  data-analytics-label=\"anchorButton\" data-action=\"analytics#trackCTA\" >\n              <button class=\"flex m-auto border-0 py-2 px-6 focus:outline-none rounded text-center text-sm\">\n                Keep Reading              <\/button>\n            <\/a>\n            <p class=\"text-gray-500 text-center mt-1\" style=\"font-size: 0.50rem;\">\n              You will remain on the same website  \n            <\/p>\n          <\/div>\n        <\/div>\n          <\/div>\n  <\/div>\n\n  <link rel=\"prefetch\" href=\"https:\/\/senhorcursos.com\/como-aprender-a-costurar-do-zero\/\">\n  <link rel=\"prerender\" href=\"https:\/\/senhorcursos.com\/como-aprender-a-costurar-do-zero\/\">\n\n  <link rel=\"prefetch\" href=\"https:\/\/senhorcursos.com\/dicas-para-aprender-a-costurar\/\">\n  <link rel=\"prerender\" href=\"https:\/\/senhorcursos.com\/dicas-para-aprender-a-costurar\/\">\n\n  <div style=\"margin-top: 100px;\">\n     <script type=\"module\"> function waitFor(conditionFunction) { const poll = resolve => { if(conditionFunction()) resolve(); else setTimeout(_ => poll(resolve), 400); }; return new Promise(poll); } import { Application, Controller } from \"\/wp-content\/themes\/twentytwentyone\/assets\/js\/stimulus.min.js\"; import { Typos } from \"\/wp-content\/themes\/twentytwentyone\/assets\/js\/typos.js\"; import { phoneNumberMask, writeEmailOptions } from \"\/wp-content\/themes\/twentytwentyone\/assets\/js\/commons.js\"; let Stimulus = Application.start(); Stimulus.register(\"quiz\", class extends Controller { static get targets() { return [ \"quiz\", \"body\", \"block\", \"footer\", \"pane\", \"email\", \"name\", \"phone\", \"phoneField\", \"checkbox\", \"overlay\", \"submit\", \"unloader\", \"loader\", \"tooltip\", \"tip\", \"emailOptions\", \"formBox\", \"formData\", \"formMessage\", \"formBoxBackGround\", \"formTitle\", \"soi\", \"successMessage\", \"emailDiv\", \"phoneDiv\", \"nameDiv\", \"soiDiv\", \"skipper\", \"trigger\", \"link\", \"cta\", \"footnote\" ] } static get values() { return { showhighlight: Boolean }; } replaceAll(string, search, replace) { return string.split(search).join(replace); } initialize() { this.index = 0; this.formViews = 0; this.mode = 'email'; this.showContentForm = this.getViewEmailForm() || this.getViewPhoneForm() || this.getViewPushForm(); if (this.showContentForm) { this.showedHighlight = false; this.inProcessAnimate = false; } this.conditions = []; this.country = \"\"; this.phoneMaskOptions = { 'br': {\"areaCod\": \"+55\", \"areaCodSpace\": 2, \"dddSpace\": 2, \"prefixoSpace\": 4, \"prefixoSpace2\": 5, \"sufixoSpace\": 4, \"placeHolder\": \"(XX) XXXX-XXXX\" }, 'us': {\"areaCod\": \"+1\", \"areaCodSpace\": 1, \"dddSpace\": 3, \"prefixoSpace\": 3, \"sufixoSpace\": 4, \"placeHolder\": \"(XXX) XXX-XXXX\" }, 'ca': {\"areaCod\": \"+1\", \"areaCodSpace\": 1, \"dddSpace\": 3, \"prefixoSpace\": 3, \"sufixoSpace\": 4, \"placeHolder\": \"(XXX) XXX-XXXX\" }, 'pt': {\"areaCod\": \"+351\", \"areaCodSpace\": 3, \"dddSpace\": 3, \"prefixoSpace\": 3, \"sufixoSpace\": 2, \"placeHolder\": \"XXX XXX XXX\" }, 'es': {\"areaCod\": \"+34\", \"areaCodSpace\": 2, \"dddSpace\": 3, \"prefixoSpace\": 3, \"sufixoSpace\": 2, \"placeHolder\": \"XXX XXX XXX\" }, 'mx': {\"areaCod\": \"+52\", \"areaCodSpace\": 2, \"dddSpace\": 3, \"prefixoSpace\": 3, \"sufixoSpace\": 4, \"placeHolder\": \"XXX XXX XXXX\" }, 'ar': {\"areaCod\": \"+54\", \"areaCodSpace\": 2, \"dddSpace\": 2, \"prefixoSpace\": 4, \"sufixoSpace\": 4, \"placeHolder\": \"(XX) XXXX-XXXX\" }, 'co': {\"areaCod\": \"+57\", \"areaCodSpace\": 2, \"dddSpace\": 3, \"prefixoSpace\": 3, \"sufixoSpace\": 4, \"placeHolder\": \"XXX XXX XXXX\" }, 'za': {\"areaCod\": \"+27\", \"areaCodSpace\": 2, \"dddSpace\": 2, \"prefixoSpace\": 3, \"sufixoSpace\": 4, \"placeHolder\": \"(XX) XXX-XXXX\" }, 'de': {\"areaCod\": \"+49\", \"areaCodSpace\": 99, \"dddSpace\": 99, \"prefixoSpace\": 99, \"prefixoSpace2\": 99, \"sufixoSpace\": 99, \"placeHolder\": \"\" }, 'fr': {\"areaCod\": \"+33\", \"areaCodSpace\": 99, \"dddSpace\": 99, \"prefixoSpace\": 99, \"prefixoSpace2\": 99, \"sufixoSpace\": 99, \"placeHolder\": \"\" }, 'gb': {\"areaCod\": \"+44\", \"areaCodSpace\": 99, \"dddSpace\": 99, \"prefixoSpace\": 99, \"prefixoSpace2\": 99, \"sufixoSpace\": 99, \"placeHolder\": \"\" }, 'it': {\"areaCod\": \"+39\", \"areaCodSpace\": 99, \"dddSpace\": 99, \"prefixoSpace\": 99, \"prefixoSpace2\": 99, \"sufixoSpace\": 99, \"placeHolder\": \"\" } }; this.phoneMaskOption = (this.country in this.phoneMaskOptions) ? this.phoneMaskOptions[this.country] : this.phoneMaskOptions['br']; this.phoneTarget.placeholder = this.phoneMaskOption.placeHolder; this.searchParams = new URLSearchParams(window.location.search); this.quiz = this.replaceAll(window.location.pathname, '\/', ''); this.slug = this.quiz.split('-').slice(0, this.quiz.split('-').length - 1).join(''); this.hostname = \"senhorcursos.com\"; let splitOptions = ['a', 'b', 'c', 'd']; this.splitTag = splitOptions[Math.floor(Math.random() * splitOptions.length)]; this.tags = 'quiz='+this.quiz+',host='+this.hostname+',slug='+this.slug+',split='+this.splitTag; if (this.country !== '') { this.tags += `,country=${this.country}`; } this.autocompleted = false; this.emsAccounts = [\n          {\n              'weight': 1.0,\n              'name': '',\n              'list': 1\n          }\n      ]; this.addPhone = false;; this.showForm = false;; this.skipForm = true;; this.showFormFirst = false;; this.triggerInterstitial = false;; this.exitIntent = \"\"; this.paneTargetsLength = this.paneTargets.length; if (!this.getViewEmailForm() && !this.getViewPhoneForm() && this.showFormFirst && this.paneTargetsLength > 1) { this.skip(); } if (!this.getViewAnyForm() && this.showFormFirst && this.paneTargetsLength > 1) { this.skip(); } if (!this.getViewEmailForm() && !this.getViewPhoneForm() && !this.showFormFirst) { this.paneTargetsLength = this.skipForm ? this.paneTargetsLength : this.paneTargetsLength - 1; this.skipForm = true; } if (!this.getViewAnyForm() && !this.showFormFirst) { this.paneTargetsLength = this.skipForm ? this.paneTargetsLength : this.paneTargetsLength - 1; this.skipForm = true; } this.typos = Typos; for (var paramKey of this.searchParams.keys()) { this.tags += paramKey.includes('utm_') ? `,${paramKey}=${this.searchParams.get(paramKey)}` : ''; } if (this.paneTargetsLength === 1 || this.showFormFirst) { this.insertPixels(); this.chooseEmsAccount(); this.chooseConditions(); this.getAnalyticsData(); } !this.skipForm || this.showhighlightValue ? this.manipulateForm() : ''; if (this.showFormFirst) { this.blockTarget.classList.add(\"animate-fade-in\"); this.blockTarget.classList.remove(\"hidden\"); this.enable(); } if (this.exitIntent.includes('http')) { let search = window.location.search; history.replaceState(null, document.title, location.pathname + \"#!\/history\"); history.pushState(null, document.title, location.pathname + search); window.addEventListener(\"popstate\", (function() { window.location.replace(this.exitIntent); }).bind(this), true); } } manipulateForm() {  if (this.getViewPhoneForm() && this.getViewEmailForm()) { this.mode = 'email'; } else if (this.getViewPhoneForm()) { this.mode = 'phone'; this.emailDivTarget.classList.add(\"hidden\"); } else if (this.getViewEmailForm()) { this.mode = 'email'; this.phoneDivTarget.classList.add(\"hidden\"); } else if (this.getViewPushForm()) { this.mode = 'push'; this.phoneDivTarget.classList.add(\"hidden\"); this.emailDivTarget.classList.add(\"hidden\"); this.nameDivTarget.classList.add(\"hidden\"); this.soiDivTarget.classList.add(\"hidden\"); this.enable(); }  } connect() { if (this.showhighlightValue && this.showContentForm && this.getFormViews() <= 1) { if (this.emsAccount === \"\") { const endpoint = \"\"; if (endpoint !== \"\") { fetch(endpoint).then(response => response.json()).then(response => { if ('form-title' in response['content']) { this.emsAccounts = response['content']['accounts']; this.chooseEmsAccount(); this.country = response['content']['country'].toLowerCase(); this.tags += `,country=${this.country}`; this.phoneMaskOption = (this.country in this.phoneMaskOptions) ? this.phoneMaskOptions[this.country] : this.phoneMaskOptions['br']; this.phoneTarget.placeholder = this.phoneMaskOption.placeHolder; this.formTitleTarget.innerHTML = response['content']['form-title']; this.soiTarget.innerHTML = response['content']['soi']; this.submitTarget.innerHTML = response['content']['cta']; this.successMessageTarget.innerHTML = response['content']['success-message']; this.quizTarget.classList.remove('hidden'); this.observerScrollEmailForm(); this.formMessageTarget.style.height = this.paneTarget.offsetHeight + 'px'; this.formMessageTarget.children[0].style.marginTop = 0.4 * this.paneTarget.offsetHeight + 'px'; if (false && 'success-cta' in response['content'] && 'link' in response['content']) { this.linkTarget.classList.remove('hidden'); this.linkTarget.setAttribute('href', response['content']['link']); this.linkTarget.setAttribute('data-href', 'secondary_link' in response['content'] ? response['content']['secondary_link'] : response['content']['link']); this.ctaTarget.innerHTML = response['content']['success-cta']; if (!response['content']['link'].includes('\/\/senhorcursos.com')) { this.footnoteTarget.classList.remove('hidden'); } this.formMessageTarget.children[0].style.marginTop = 0.25 * this.paneTarget.offsetHeight + 'px'; waitFor(_ => (document.cookie.includes(\"avInterstitialViewed=true\"))) .then(_ => { [this.linkTarget].forEach(linkTarget => { if (linkTarget.getAttribute('href') !== linkTarget.getAttribute('data-href')) { linkTarget.setAttribute('href', linkTarget.getAttribute('data-href')); if (!linkTarget.getAttribute('data-href').includes(\"senhorcursos.com\")) { linkTarget.setAttribute('rel', 'nofollow'); } if (!linkTarget.getAttribute('data-href').includes('\/\/senhorcursos.com')) { this.footnoteTarget.classList.remove('hidden'); } } linkTarget.removeAttribute('data-href'); }) }); } if (typeof window.wildcardController === 'object') { window.wildcardController.replaceWildcards(); } }; }).catch((error) => { console.error('Error:', error); }); } } else { this.quizTarget.classList.remove('hidden'); this.observerScrollEmailForm(); this.formMessageTarget.style.height = this.paneTarget.offsetHeight + 'px'; this.formMessageTarget.children[0].style.marginTop = 0.4 * this.paneTarget.offsetHeight + 'px'; } } } readTextFile(file, callback) { var rawFile = new XMLHttpRequest(); rawFile.overrideMimeType(\"application\/json\"); rawFile.open(\"GET\", file, true); rawFile.onreadystatechange = () => { if (rawFile.readyState === 4 && rawFile.status == \"200\") { callback(rawFile.responseText); } }; rawFile.send(null); } next(event) { this.index++; this.showCurrentPane(event); } insertRudderPixel() { if (typeof window.rudderanalytics !== 'object') { var e=window.rudderanalytics=window.rudderanalytics||[]; e.methods=[\"load\",\"page\",\"track\",\"identify\",\"alias\",\"group\",\"ready\",\"reset\",\"getAnonymousId\",\"setAnonymousId\"], e.factory=function(t){ return function(){ var r=Array.prototype.slice.call(arguments); return r.unshift(t), e.push(r),e } }; for(var t=0;t<e.methods.length;t++){ var r=e.methods[t]; e[r]=e.factory(r) } e.loadJS=function(e,t){ var r=document.createElement(\"script\"); r.type=\"text\/javascript\",r.async=!0,r.src=\"https:\/\/cdn.rudderlabs.com\/v2\/rudder-analytics.min.js?transport=beacon\"; var a=document.getElementsByTagName(\"script\")[0];a.parentNode.insertBefore(r,a) }, e.loadJS(), e.load('1qlJXFMeYUmTyucX6KUVQVEjBBM', 'https:\/\/rudder.adtechpanda.com') }; } insertFacebookPixel() { if (typeof window.av?.findTag !== 'undefined') { if (window.av.findTag('fb', '', 'formConversion') !== undefined) return; }  !function(f,b,e,v,n,t,s){ if(f.fbq)return; n=f.fbq=function(){ n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments) }; if(!f._fbq)f._fbq=n; n.push=n; n.loaded=!0; n.version='2.0'; n.queue=[]; t=b.createElement(e); t.async=!0; t.src=v; s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s) }(window, document,'script','https:\/\/connect.facebook.net\/en_US\/fbevents.js'); fbq('set', 'autoConfig', false, \"\"); fbq('init', \"\"); fbq('track', 'PageView');   } insertGooglePixel() {  window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);}; gtag('js', new Date()); gtag('config', \"\", {'allow_enhanced_conversions': true}); window.gtag = gtag; let gogleScript = document.createElement(\"script\"); gogleScript.type = \"text\/javascript\"; gogleScript.setAttribute('async', 'async'); gogleScript.src = \"https:\/\/www.googletagmanager.com\/gtag\/js?id=\"; this.quizTarget.appendChild(gogleScript);   } insertTiktokPixel() {  !function (w, d, t) { w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=[\"page\",\"track\",\"identify\",\"instances\",\"debug\",\"on\",\"off\",\"once\",\"ready\",\"alias\",\"group\",\"enableCookie\",\"disableCookie\"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var i=\"https:\/\/analytics.tiktok.com\/i18n\/pixel\/events.js\";ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};var o=document.createElement(\"script\");o.type=\"text\/javascript\",o.async=!0,o.src=i+\"?sdkid=\"+e+\"&#038;lib=\"+t;var a=document.getElementsByTagName(\"script\")[0];a.parentNode.insertBefore(o,a)}; ttq.load(\"\"); ttq.page(); }(window, document, 'ttq');   } insertTaboolaPixel() {  window._tfa = window._tfa || []; window._tfa.push({notify: 'event', name: 'page_view', id: Number(\"\")}); !function (t, f, a, x) { if (!document.getElementById(x)) { t.async = 1;t.src = a;t.id=x;f.parentNode.insertBefore(t, f); } }(document.createElement('script'), document.getElementsByTagName('script')[0], \"\/\/cdn.taboola.com\/libtrc\/unip\/\/tfa.js\", 'tb_tfa_script');   } insertMedianetPixel() {  !function(a, b, c, d, e, f, g) {if(a.ctrk)return;e=a.ctrk=function(){e.runner? e.runner.apply(e,arguments):e.q.push(arguments)}; e.q=[];f=b.createElement(c);f.async=true; f.src=d+'?d='+a.location.hostname;g=b.getElementsByTagName(c)[0]; g.parentNode.insertBefore(f,g);} (window, document,'script','https:\/\/c.pm-srv.co\/v1\/analytics.js'); ctrk('boot', \"\"); ctrk('record', 'page-land', {dnt: false});   } insertPixels() { this.insertRudderPixel(); this.insertFacebookPixel(); this.insertGooglePixel();    } chooseFrom(weights, results) { let num = Math.random(); let s = 0; let lastIndex = weights.length - 1; for (var i = 0; i < lastIndex; ++i) { s += weights[i]; if (num < s) { return results[i]; } } return results[lastIndex]; } chooseEmsAccount() { let emsAccount = this.chooseFrom( this.emsAccounts.map(account => account['weight']), this.emsAccounts ); this.emsAccount = emsAccount['name']; this.emsList = emsAccount['list']; }; prefetchLandingPages() { let link = document.createElement('link'); \/*let fbclid = this.searchParams.get('fbclid') ? '?fbclid=' + this.searchParams.get('fbclid') : ''; let gclid = this.searchParams.get('gclid') ? '?gclid=' + this.searchParams.get('gclid') : '';*\/ for (const condition of this.conditions) { let landingUrl = new URL(condition['link']); let landingPathname = landingUrl.pathname.split('\/').filter(elem => elem).join('-'); let conditionLink = `${condition['link']}`; if (!landingUrl.search) { conditionLink += window.location.search; } if (document.location.pathname[0] === '\/' && document.location.pathname[3] === '\/' && !conditionLink.includes(document.location.pathname.substr(0,3)) && !conditionLink.includes('app.')) { conditionLink = conditionLink.replace(document.location.hostname, document.location.hostname + document.location.pathname.substr(0,3)); } link = document.createElement('link'); link.rel = 'prefetch'; link.href = conditionLink; this.quizTarget.appendChild(link); link = document.createElement('link'); link.rel = 'prerender'; link.href = conditionLink; this.quizTarget.appendChild(link); } } chooseConditions() { this.conditions = []; if (typeof window.wildcardController !== 'undefined') { this.conditions = this.conditions.map(condition => ({ 'answers': condition['answers'], 'link': window.wildcardController.replace( this.chooseFrom( Object.values(condition['links']), Object.keys(condition['links']) ) ) })); } else { this.conditions = this.conditions.map(condition => ({ 'answers': condition['answers'], 'link': this.chooseFrom( Object.values(condition['links']), Object.keys(condition['links']) ) })); } this.prefetchLandingPages(); } showCurrentPane(event) { if (this.skipForm && event?.target !== undefined) { this.tags += `,answer=${event.target.innerText}`; } if (this.showFormFirst && this.index > 1 && event?.target !== undefined) { this.tags += `,answer=${event.target.innerText}`; } if (!this.showFormFirst && this.index <= this.paneTargetsLength - 1) { this.tags += `,answer=${event.target.innerText}`; } if (this.index > this.paneTargetsLength - 1) { this.submit(event); } else { this.paneTargets.forEach((element, index) => { if (index != this.index) { element.classList.add(\"hidden\"); } else { element.classList.remove(\"hidden\"); } }) } if (!this.showFormFirst && this.index === 1 && this.paneTargetsLength > 1) { this.insertPixels(); this.chooseEmsAccount(); this.chooseConditions(); this.getAnalyticsData(); } if (this.showFormFirst && this.index === 1 && this.isValid()) { this.sendForm(false); } if (this.index === this.paneTargetsLength - 1) { this.enable(); } } match(value, regexp) { const validationRegexp = (regexp instanceof RegExp ? regexp : (new RegExp(regexp))); return validationRegexp.test(value); } emptyInput(target) { target.classList.remove('border-red-700'); target.classList.remove('focus:ring-red-200'); target.classList.remove('border-green-700'); target.classList.remove('focus:ring-green-200'); target.classList.add('border-gray-300'); target.classList.add('focus:ring-gray-200'); } goodInput(target) { target.classList.remove('border-red-700'); target.classList.remove('focus:ring-red-200'); target.classList.remove('border-gray-300'); target.classList.remove('focus:ring-gray-200'); target.classList.add('border-green-700'); target.classList.add('focus:ring-green-200'); } badInput(target) { target.classList.remove('border-green-700'); target.classList.remove('focus:ring-green-200'); target.classList.remove('border-gray-300'); target.classList.remove('focus:ring-gray-200'); target.classList.add('border-red-700'); target.classList.add('focus:ring-red-200'); } checkEmail() { let split = this.emailTarget.value.toLowerCase().split(\"@\"); writeEmailOptions(this.emailTarget.value, this.emailOptionsTarget); let emailDomain = split[split.length - 1]; if (this.emailTarget.value === '' || !this.match(this.emailTarget.value, \/^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$\/i)) { this.emptyInput(this.emailTarget); this.tooltipTarget.classList.add('hidden'); } else if (emailDomain in this.typos) { this.badInput(this.emailTarget); if (this.typos[emailDomain] !== '') { this.tooltipTarget.classList.remove('hidden'); this.tipTarget.innerHTML = `Did you mean ${this.typos[emailDomain]}? Tap to fix`; } } else { this.goodInput(this.emailTarget); this.tooltipTarget.classList.add('hidden'); } } fixEmail() { let split = this.emailTarget.value.toLowerCase().split(\"@\"); let emailDomain = split[split.length - 1]; this.emailTarget.value = this.emailTarget.value.replace(emailDomain, this.typos[emailDomain]); this.checkEmail(); this.enable(); } checkName() { if (this.nameTarget.value === '') { this.emptyInput(this.nameTarget); } else { this.goodInput(this.nameTarget); } } checkPhone() { if (this.phoneTarget.value != \"\") { this.phoneTarget.value = phoneNumberMask(this.phoneTarget.value, this.phoneMaskOption); } } autocomplete() { if (!this.autocompleted && this.emailTarget.value.endsWith('@g')) { this.emailTarget.value += 'mail.com'; this.autocompleted = true; } } isValid() { if (document.getElementById('doubleoptin') !== null) { return document.getElementById('optin').checked && document.getElementById('doubleoptin').checked; } if (this.mode === 'phone' && this.showhighlightValue) { return ( this.getPhoneNumberAreaCod().length > 5 && this.nameTarget.value !== '' && this.checkboxTarget.checked ); } if (this.mode === 'phone' && this.phoneTarget.value === '') { return true; } if (this.mode === 'email' && this.emailTarget.value === '' && !this.showhighlightValue) { return true; } if (this.mode === 'phone') { return ( this.getPhoneNumberAreaCod().length > 5 && this.nameTarget.value !== '' && this.checkboxTarget.checked ); } if (this.mode === 'push') { return true; } let split = this.emailTarget.value.toLowerCase().split(\"@\"); let emailDomain = split[split.length - 1]; if (this.mode === 'email' && this.emailTarget.value !== '' && !this.showhighlightValue) { if (!this.match(this.emailTarget.value, \/^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$\/i) || emailDomain in this.typos) { return true; } } return ( this.emailTarget.value !== '' && this.nameTarget.value !== '' && this.checkboxTarget.checked && this.match( this.emailTarget.value, \/^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$\/i ) && !(emailDomain in this.typos) ); } enable() { this.submitTarget.disabled = !this.isValid(); } identify() { if (typeof window.rudderanalytics === 'object') { window.rudderanalytics.identify( this.emailTarget.value.toLowerCase(), { email: this.emailTarget.value.toLowerCase(), name: this.nameTarget.value, ip: this.cf?.analyticsIp || '', host: this.hostname, quiz: this.quiz, country: this.country, answers: this.tags, utm_source: this.searchParams.get('utm_source') || localStorage.getItem('analytics_utm_source'), utm_medium: this.searchParams.get('utm_medium') || localStorage.getItem('analytics_utm_medium'), utm_campaign: this.searchParams.get('utm_campaign') || localStorage.getItem('analytics_utm_campaign'), utm_content: this.searchParams.get('utm_content') || localStorage.getItem('analytics_utm_content'), utm_term: this.searchParams.get('utm_term') || localStorage.getItem('analytics_utm_term'), fbclid: this.searchParams.get('fbclid') || localStorage.getItem('avFbclid'), gclid: this.searchParams.get('gclid') || localStorage.getItem('avGclid'), fb_pixel: '', aw_pixel: '', ems_account: this.emsAccount, domain: window.location.host, ems_list: String(this.emsList), phone: this.getPhoneNumberAreaCod(), cf_city: this.cf?.analyticsCity || '', cf_country: this.cf?.analyticsCountry || '', cf_region: this.cf?.analyticsRegion || '', cf_regionCode: this.cf?.analyticsCode || '' } ); if (window.complianceFlags && window.complianceFlags['necessary']) { fetch('https:\/\/id.adtechpanda.com\/new', { method: 'POST', body: JSON.stringify({ email: this.emailTarget.value.toLowerCase() }), headers: {'accept': 'application\/json'}, mode: 'no-cors' } ).then(response => { }).catch(error => { }); } } } trackFacebookPixel() { if (typeof window.av?.findTag !== 'undefined') { if (window.av.findTag('fb', '', 'formConversion') !== undefined) { window.av.triggerTags('formConversion', { email: this.emailTarget.value.toLowerCase(), firstName: this.nameTarget.value.split(' ')[0], lastName: this.nameTarget.value.split(' ').slice(1).join(' '), phoneNumber: this.getPhoneNumberAreaCod().replace('+', '') }, ['fb']); return; }; } if (typeof window.fbq === 'function') { window.fbq('track', 'Lead', {tags: this.tags}); }; } track() {  if (document.cookie.includes(\"quizLeadEvent=true\")) { return true; } this.setCookie(\"quizLeadEvent\", \"true\", 1\/192); this.trackFacebookPixel(); if (typeof window.gtag === 'function') { window.gtag('set', 'user_data', { \"email\": this.emailTarget.value.toLowerCase(), \"phone_number\": this.getPhoneNumberAreaCod() }); window.gtag('event', 'conversion', {'send_to': ``}); }; if (typeof window.ttq === 'object') { window.ttq.track('SubmitForm'); }; if (typeof window._tfa === 'object') { window._tfa.push({notify: 'event', name: 'lead', id: Number(\"\")}); }; if (typeof window.ctrk === 'function') { window.ctrk('record', 'Lead', { dnt: false }); };   } chooseLandingPage() { for (let condition of this.conditions) { if (condition['answers'].every( answer => this.replaceAll(this.replaceAll(this.tags, '\u2013', '-'), ' ', '').includes(this.replaceAll(this.replaceAll(answer, '\u2013', '-'), ' ', '')) )) { this.landingPage = condition['link']; this.landingUrl = new URL(this.landingPage); this.landingPathname = this.landingUrl.pathname.split('\/').filter(elem => elem).join('-'); break; }; }; if (typeof this.landingPage === 'undefined' && document.location.pathname[0] === '\/' && document.location.pathname[3] !== '\/') { this.landingPage = this.conditions[0]['link']; this.landingUrl = new URL(this.landingPage); this.landingPathname = this.landingUrl.pathname.split('\/').filter(elem => elem).join('-'); } if (typeof this.landingPage === 'undefined' && document.location.pathname[0] === '\/' && document.location.pathname[3] === '\/') { this.landingPage = !this.conditions[0]['link'].includes(document.location.pathname.substr(0,3)) && !this.conditions[0]['link'].includes('app.') ? this.conditions[0]['link'].replace(document.location.hostname, document.location.hostname + document.location.pathname.substr(0,3)) : this.conditions[0]['link']; this.landingUrl = new URL(this.landingPage); this.landingPathname = this.landingUrl.pathname.split('\/').filter(elem => elem).join('-'); } } redirect() { \/*let fbclid = this.searchParams.get('fbclid') ? '?fbclid=' + this.searchParams.get('fbclid') : ''; let gclid = this.searchParams.get('gclid') ? '?gclid=' + this.searchParams.get('gclid') : '';*\/ let url = `${this.landingPage}`; if (!this.landingUrl.search) { url += window.location.search; } this.formIgnored() ? this.setViewAnyForm(false) : ''; if (this.triggerInterstitial) { this.triggerTarget.href = url.replace(\"\/quiz.\", \"\/\"); this.triggerTarget.click(); setTimeout(() => { this.unloaderTargets.forEach((element, index) => { element.classList.remove(\"hidden\"); }); this.loaderTargets.forEach((element, index) => { element.classList.add(\"hidden\"); }); }, 1000); } else {  window.location.href = url;   } } skip() { if ((false) &&(window.km2RewardedExists) && (window.km2RewardedReady) && (!window.km2RewardedGranted)) { window.km2MakeRewardedVisible( function() { if (!this.showFormFirst) { this.bodyTarget.classList.add('hidden'); this.footerTarget.classList.add('hidden'); } }.bind(this), function() { this.skip(); }.bind(this) ); this.skipperTarget.disabled = true; this.skipperTarget.innerText = \"\"; this.triggerInterstitial = false; } else if (!this.showFormFirst) { this.chooseLandingPage(); this.identify(); this.track(); this.redirect(); } else { this.next(); } } submit(event) { this.unloaderTargets.forEach((element, index) => { element.classList.add(\"hidden\"); }); this.loaderTargets.forEach((element, index) => { element.classList.remove(\"hidden\"); }); this.chooseLandingPage(); if (this.skipForm) { this.identify(); this.track(); this.redirect(); } else { this.sendForm(true); } } submitEmailForm(event) { this.sendForm(); } sendForm(redirect=false) { this.identify(); let formData = new FormData(); formData.set('email', this.emailTarget.value.toLowerCase()); formData.set('name', this.nameTarget.value); formData.set('phone', this.getPhoneNumberAreaCod()); formData.set('tags', this.tags); formData.set(`p[${this.emsList}]`, this.emsList); fetch(`https:\/\/webhooks.adtechpanda.com\/quiz\/${this.emsAccount}`, { method: 'POST', body: formData, headers: {}, mode: 'no-cors', } ).then(response => { this.track(); this.emailTarget.value.length > 5 ? this.setViewEmailForm(false) : ''; this.getPhoneNumberAreaCod().length > 5 ? this.setViewPhoneForm(false) : ''; if (redirect) { this.redirect(); } else { !this.showFormFirst ? this.successMessage() : ''; } }).catch(error => { if (redirect) { this.redirect(); } else { !this.showFormFirst ? this.successMessage() : ''; } }); } successMessage() { this.formDataTarget.classList.add(\"hidden\"); this.formMessageTarget.classList.remove(\"hidden\"); let event = new CustomEvent(\"sendPulseTriggerPrompt\"); window.dispatchEvent(event); this.setFormViews(0); } getAnalyticsData() { this.cf = JSON.parse(sessionStorage.getItem(\"wildcardData\")); if (sessionStorage.getItem(\"wildcardCountry\") === null) { fetch('https:\/\/tracker.adtechpanda.com\/', { method: 'GET', headers: {'accept': 'application\/json'} }).then(response => response.json()).then(data => { const wildcardData = { analyticsIp: data.ip, analyticsCity: data.city, analyticsRegion: data.region, analyticsCode: data.regionCode, analyticsCountry: data.country }; sessionStorage.setItem(\"wildcardData\", JSON.stringify(wildcardData)); sessionStorage.setItem(\"wildcardCountry\", data.country); sessionStorage.setItem(\"wildcardRegion\", data.regionCode); sessionStorage.setItem(\"wildcardCity\", data.city); sessionStorage.setItem(\"wildcardState\", data.region); this.cf = wildcardData; }); } } getPhoneNumberAreaCod() { return '+'+(''+(this.phoneMaskOption.areaCod+this.phoneTarget.value)).replace(\/\\D\/g, ''); } observerScrollEmailForm() { const observer = new IntersectionObserver(entries => { entries.forEach(entry => { if (entry.isIntersecting) { this.formViews === -1 ? this.addAnimate() : ''; this.setFormViews(this.formViews + 1); } else { this.removeAnimate(); } }); }); observer.observe(this.submitTarget); } addAnimate() { if (!this.showedHighlight) { this.inProcessAnimate = true; this.formBoxBackGroundTarget.style.animation = \"none\"; this.formBoxBackGroundTarget.classList.remove('animate-fast-fade-out'); this.formBoxBackGroundTarget.classList.add('animate-fade-in'); this.formBoxTarget.classList.add('relative'); this.formBoxTarget.classList.add('animate-show-highlight'); setTimeout(() => { this.formBoxBackGroundTarget.style.animation = \"\"; this.formBoxBackGroundTarget.classList.remove('hidden'); this.showedHighlight = true; setTimeout(() => this.removeAnimate(), 5000); }, 10); } } removeAnimate() { if (this.inProcessAnimate) { this.formBoxBackGroundTarget.style.animation = \"none\"; this.formBoxBackGroundTarget.classList.remove('animate-fade-in'); this.formBoxBackGroundTarget.classList.add('animate-fade-out-quickly'); this.formBoxTarget.style.animation = \"none\"; this.formBoxTarget.classList.add('animate-hide-highlight'); this.formBoxTarget.classList.remove('animate-show-highlight'); this.formBoxTarget.classList.remove('relative'); setTimeout(() => { this.formBoxBackGroundTarget.style.animation = \"\"; this.formBoxTarget.style.animation = \"\"; setTimeout(() => { this.formBoxBackGroundTarget.classList.add('hidden'); this.inProcessAnimate = false; }, 1000); }, 10); } } setCookie(key, value, days) { let date = new Date(); date.setTime(date.getTime() + parseInt(days * 24 * 60 * 60 * 1000)); document.cookie = key + \"=\" + value + \";expires=\" + date.toUTCString() + \";domain=.senhorcursos.com;path=\/\"; } setViewEmailForm(view) { localStorage.setItem(\"viewEmailForm\", view); this.setCookie(\"viewEmailForm\", String(view), 28); } getViewEmailForm() {  if (document.cookie.includes(\"viewEmailForm=false\")) { return false; } return ((localStorage.getItem(\"viewEmailForm\") || 'true') === 'true'); } setViewPhoneForm(view) { localStorage.setItem(\"viewPhoneForm\", view); this.setCookie(\"viewPhoneForm\", String(view), 28); } getViewPhoneForm() {  if (document.cookie.includes(\"viewPhoneForm=false\")) { return false; } return ((localStorage.getItem(\"viewPhoneForm\") || 'true') === 'true'); } getViewPushForm() { \/*if (typeof navigator.permissions === \"undefined\") { return false; } let permissionStatus = await navigator.permissions.query({name:'push', userVisibleOnly:true}); return (permissionStatus.state === 'granted' || permissionStatus.state === 'denied');*\/ return false; } setViewAnyForm(view) { localStorage.setItem(\"viewAnyForm\", view); this.setCookie(\"viewAnyForm\", String(view), 14); } getViewAnyForm() { if (document.cookie.includes(\"viewAnyForm=false\")) { return false; } return ((localStorage.getItem(\"viewAnyForm\") || 'true') === 'true'); } getFormViews() { this.formViews = parseInt(sessionStorage.getItem(\"quizFormViews\")) >= 1 ? parseInt(sessionStorage.getItem(\"quizFormViews\")) : 0; return this.formViews; } setFormViews(views) { sessionStorage.setItem(\"quizFormViews\", views); } formIgnored() { return (!this.skipForm && this.showForm && Math.max(this.emailTarget.value.length, this.getPhoneNumberAreaCod().length) < 5); } }); <\/script><div data-controller=\"quiz\" data-quiz-target=\"quiz\" data-quiz-showhighlight-value=\"true\" class=\"hidden sm:hidden   py-5 my-10 shadow-lg\">    \n  <div class=\"w-full p-2 md:p-4\" data-quiz-target=\"formBox\" style=\"z-index: 10;\">\n        <div class=\"flex flex-col rounded-lg p-4 w-full my-4 border bg-white shadow-lg\">\n      <div data-quiz-target=\"formData pane\" class=\"flex flex-col\">      \n        <h2 data-quiz-target=\"formTitle\" class=\"text-gray-900 text-base font-medium title-font mb-5 text-center\">\n                  <\/h2>\n        <div data-quiz-target=\"emailDiv\" class=\"text-left relative mb-4\">\n          <label for=\"email\" class=\"px-2 leading-7 text-sm text-gray-600 text-left\">\n            E-mail          <\/label>\n          <div data-quiz-target=\"tooltip\" style=\"top: 0px; right: 0px;\" class=\"hidden absolute mx-2\">\n            <button data-action=\"quiz#fixEmail\" class=\"bg-black text-white text-xs rounded py-1 px-4 right-0 bottom-full\">\n                <span data-quiz-target=\"tip\"><\/span>\n              <svg class=\"absolute text-black h-2 w-full left-0 top-full\" x=\"0px\" y=\"0px\" viewbox=\"0 0 255 255\" xml:space=\"preserve\"><polygon class=\"fill-current\" points=\"0,0 127.5,127.5 255,0\"\/><\/svg>\n            <\/button>\n          <\/div>\n          <input data-quiz-target=\"email\" data-action=\"quiz#enable quiz#checkEmail\" list=\"email-options\" type=\"email\" name=\"email\" placeholder=\"example@gmail.com\" class=\"w-full mt-1 bg-white rounded-lg border border-gray-300 focus:ring-2 focus:ring-gray-200 text-base outline-none text-gray-700 py-1 px-3 leading-8 transition-colors duration-200 ease-in-out\">\n          <datalist data-quiz-target=\"emailOptions\" id=\"email-options\"><\/datalist>\n        <\/div>  \n        <div data-quiz-target=\"phoneDiv\" class=\"grid grid-cols-3 gap-6 mb-4\">\n          <div class=\"col-span-3 text-left\">\n            <label for=\"phone\" class=\"px-2 leading-7 text-sm text-gray-600 text-left\">\n              Phone Number            <\/label>\n            <div class=\"mt-1 flex rounded shadow\">\n              \n              <input data-quiz-target=\"phone\" data-action=\"quiz#enable quiz#checkPhone\" type=\"phone\" name=\"phone\" id=\"phone\" maxlength=\"16\" class=\"rounded-none rounded-r-md w-full bg-white border border-gray-300 focus:border-gray-500 focus:ring-2 focus:ring-gray-200 text-base outline-none text-gray-700 py-1 px-3 leading-8 transition-colors duration-200 ease-in-out\">\n            <\/div>\n          <\/div>\n        <\/div>\n        <div data-quiz-target=\"nameDiv\" class=\"text-left relative mb-4\">\n          <label for=\"name\" class=\"px-2 leading-7 text-sm text-gray-600 text-left\">\n            First Name          <\/label>\n          <input data-quiz-target=\"name\" data-action=\"quiz#enable quiz#checkName\" type=\"text\" id=\"name\" name=\"name\" class=\"w-full mt-1 bg-white rounded-lg border border-gray-300 focus:border-gray-500 focus:ring-2 focus:ring-gray-200 text-base outline-none text-gray-700 py-1 px-3 leading-8 transition-colors duration-200 ease-in-out\">\n        <\/div>\n        \n        <div data-quiz-target=\"soiDiv\" class=\"text-left relative mb-4 flex justify-start items-center\">\n          <input data-quiz-target=\"checkbox\" data-action=\"quiz#enable\" type=\"checkbox\" id=\"optin\" style=\"min-width: 25px;\" class=\"w-4 h-4 transition duration-300 rounded focus:ring-2 focus:ring-offset-0 focus:outline-none focus:ring-green-200\" \/>\n          <label data-quiz-target=\"soi\" for=\"optin\" class=\"ml-3 text-sm text-gray-600 text-left\">\n                      <\/label>\n        <\/div>\n                \n        <button aria-label=\"\" disabled data-quiz-target=\"submit\" data-action='quiz#submitEmailForm analytics#trackEmailForm' data-analytics-label=\"submitButton\" class=\"border-0 py-3 px-8 focus:outline-none rounded-lg text-lg disabled:opacity-50 block shadow-lg\">\n                  <\/button>\n      <\/div>\n      <div data-quiz-target=\"formMessage\" class=\"hidden\">\n        <div data-quiz-target=\"successMessage\" class=\"w-full  px-4 py-3 rounded relative text-center\">\n                  <\/div>\n        <p style=\"font-size: 10px;\" data-quiz-target=\"footnote\" class=\"hidden mb-4 text-xs mt-3 text-center sm:text-right\">\n          You will be redirected to another website        <\/p>\n      <\/div>\n    <\/div>\n  <\/div> \n      <p class=\"w-full px-4 md:px-4 text-left text-white\" style=\"font-size: 9px;\">\n      You&#039;ll receive messages for less than 1 week, with a maximum of 1 message per day. You can unsubscribe anytime by replying STOP. By submitting this form, I confirm that I am 18+ years old and agree to the <a class=\"underline\" href=\"https:\/\/senhorcursos.com\/en\/privacy\/\">Privacy Policy<\/a> and <a class=\"underline\" href=\"https:\/\/senhorcursos.com\/en\/terms\/\">Terms and Conditions<\/a>. I also provide my signature, giving express consent to receive informational messages via automated emails, SMS, MMS text messages, and other forms of communication. Message frequency may vary as part of our good-faith effort to respond to your inquiry. Message and data rates may apply. Text STOP to cancel. I understand that my consent to receive communications is not a condition of purchase and that I may revoke my consent at any time.\n    <\/p>\n    <div data-quiz-target=\"formBoxBackGround\" class=\"dark-background hidden\" style=\"z-index: 0;\"><\/div> \n<\/div>  <\/div>\n\n<\/div>\n\n<\/div><!--landing--><div class=\"wp-block-lazyblock-accordion lazyblock-accordion-Z107yr8\"><div data-controller=\"accordion\" class=\"mx-5 sm:mx-0 rounded mt-10 mb-20\">\n\t<div>\n                    <h2>\n                <button data-accordion-target=\"title\" data-accordion-index=\"0\" data-action=\"accordion#update\" type=\"button\" class=\"h-24 sm:h-16 flex justify-between items-center py-5 w-full font-medium text-left text-gray-900 rounded-t-xl border-b border-gray-200 dark:border-gray-700 dark:text-white\">\n                    <span class=\"w-4\/5\" data-accordion-index=\"0\">\n                        Is it possible to learn to sew alone?                    <\/span>\n                    <svg data-accordion-index=\"0\" data-accordion-target=\"icon\" class=\"w-6 h-6 rotate-180 shrink-0\" fill=\"currentColor\" viewbox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path fill-rule=\"evenodd\" d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\" clip-rule=\"evenodd\"><\/path><\/svg>\n                <\/button>\n            <\/h2>\n            <div data-accordion-target=\"description\" class=\"animate-fade-in-down\">\n                <div class=\"py-5 border-b border-gray-200 dark:border-gray-70 text-left\">\n                    <p class=\"mb-2 text-gray-500 dark:text-gray-400\">\n                        Yes, it is possible to learn to sew on your own. Nowadays, there are several websites, apps and tutorials available online that make learning easier. Check out some tips to get started in the full article.                    <\/p>\n                <\/div>\n            <\/div>\n                    <h2>\n                <button data-accordion-target=\"title\" data-accordion-index=\"1\" data-action=\"accordion#update\" type=\"button\" class=\"h-24 sm:h-16 flex justify-between items-center py-5 w-full font-medium text-left text-gray-900 rounded-t-xl border-b border-gray-200 dark:border-gray-700 dark:text-white\">\n                    <span class=\"w-4\/5\" data-accordion-index=\"1\">\n                        How long does it take for a person to learn to sew?                    <\/span>\n                    <svg data-accordion-index=\"1\" data-accordion-target=\"icon\" class=\"w-6 h-6 rotate-180 shrink-0\" fill=\"currentColor\" viewbox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path fill-rule=\"evenodd\" d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\" clip-rule=\"evenodd\"><\/path><\/svg>\n                <\/button>\n            <\/h2>\n            <div data-accordion-target=\"description\" class=\"animate-fade-in-down\">\n                <div class=\"py-5 border-b border-gray-200 dark:border-gray-70 text-left\">\n                    <p class=\"mb-2 text-gray-500 dark:text-gray-400\">\n                        The amount of time it takes for someone to learn to sew can vary significantly, depending on a number of factors, including their desired skill level, how often they practice, and the complexity of their projects. Check out the tips in this article that can help you cut down on that time.                    <\/p>\n                <\/div>\n            <\/div>\n                    <h2>\n                <button data-accordion-target=\"title\" data-accordion-index=\"2\" data-action=\"accordion#update\" type=\"button\" class=\"h-24 sm:h-16 flex justify-between items-center py-5 w-full font-medium text-left text-gray-900 rounded-t-xl border-b border-gray-200 dark:border-gray-700 dark:text-white\">\n                    <span class=\"w-4\/5\" data-accordion-index=\"2\">\n                        Is it possible to learn to sew online?                    <\/span>\n                    <svg data-accordion-index=\"2\" data-accordion-target=\"icon\" class=\"w-6 h-6 rotate-180 shrink-0\" fill=\"currentColor\" viewbox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path fill-rule=\"evenodd\" d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\" clip-rule=\"evenodd\"><\/path><\/svg>\n                <\/button>\n            <\/h2>\n            <div data-accordion-target=\"description\" class=\"animate-fade-in-down\">\n                <div class=\"py-5 border-b border-gray-200 dark:border-gray-70 text-left\">\n                    <p class=\"mb-2 text-gray-500 dark:text-gray-400\">\n                        Yes, it is completely possible to learn how to sew online. This is because technology makes our lives easier every day with apps, websites and tutorials all available online. Check out the best apps in the article.                    <\/p>\n                <\/div>\n            <\/div>\n                    <h2>\n                <button data-accordion-target=\"title\" data-accordion-index=\"3\" data-action=\"accordion#update\" type=\"button\" class=\"h-24 sm:h-16 flex justify-between items-center py-5 w-full font-medium text-left text-gray-900 rounded-t-xl border-b border-gray-200 dark:border-gray-700 dark:text-white\">\n                    <span class=\"w-4\/5\" data-accordion-index=\"3\">\n                        What is the best app to learn how to sew?                    <\/span>\n                    <svg data-accordion-index=\"3\" data-accordion-target=\"icon\" class=\"w-6 h-6 rotate-180 shrink-0\" fill=\"currentColor\" viewbox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path fill-rule=\"evenodd\" d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\" clip-rule=\"evenodd\"><\/path><\/svg>\n                <\/button>\n            <\/h2>\n            <div data-accordion-target=\"description\" class=\"animate-fade-in-down\">\n                <div class=\"py-5 border-b border-gray-200 dark:border-gray-70 text-left\">\n                    <p class=\"mb-2 text-gray-500 dark:text-gray-400\">\n                        There are currently several options for apps to learn how to sew, so the ideal is to choose the one that best suits your needs. Read the article and discover the best options.                    <\/p>\n                <\/div>\n            <\/div>\n        \t<\/div>\n<\/div><\/div><div class=\"mx-5 sm:mx-0 prose leading-relaxed text-lg mb-5 text-left wp-paragraph\">\n<p>Imagine being able to create unique garments that reflect your personal style, gifting personalized items to friends, or even saving money on your favorite pieces of clothing. All of this is possible when you start learning to sew from scratch.<\/p>\n<\/div><div class=\"mx-5 sm:mx-0 prose leading-relaxed text-lg mb-5 text-left wp-paragraph\">\n<p>Sewing is not just a practical skill, but also a form of art and self-expression. So why not grab your needle and fabric, dive into sewing, and unlock a world of creative possibilities? <\/p>\n<\/div><div class=\"mx-5 sm:mx-0 prose leading-relaxed text-lg mb-5 text-left wp-paragraph\">\n<p>Finally, if you prefer, you can just learn how to crochet. There are specific apps for this, access the article below and discover the best ones!<\/p>\n<\/div><div class=\"wp-block-lazyblock-credit-card lazyblock-credit-card-Z1KYnot\"><section class=\"credit-card mx-5 sm:mx-0 text-gray-600 body-font  my-10 border-gray-200 border-b border-l border-r sm:border-0\">\n  <div class=\"h-1 bg-gray-200 rounded overflow-hidden\">\n    <div class=\"w-24 h-full\"><\/div>\n  <\/div>\n  <div class=\"container px-5 sm:px-0 py-6 mx-auto\" data-anchor-target=\"lazyBlock\">\n    <div class=\"flex flex-wrap mx-auto\">\n      <a class=\"lg:w-2\/5 w-full lg:pl-6 mt-6 lg:mt-0\" href=\"https:\/\/senhorcursos.com\/en\/aplicativo-de-croche\/\" data-analytics-label=\"creditCardImage\" data-action=\"analytics#trackCTA\" >\n        <img class=\"w-full h-64 object-cover object-center rounded\" loading=\"lazy\" alt=\"card\" style=\"height: 190px;\" src=\"https:\/\/senhorcursos.com\/wp-content\/uploads\/2023\/05\/aplicativo-de-croche-scaled.jpeg\">\n      <\/a>\n      <div class=\"lg:w-3\/5 w-full lg:pl-6 mt-6 lg:mt-0\">\n        <h2 class=\"text-sm title-font text-gray-500 tracking-widest uppercase\">\n          Article        <\/h2>\n        <h1 class=\"text-gray-900 text-3xl title-font font-medium mb-1\">\n          Crochet App        <\/h1>\n        <div class=\"flex mb-4 justify-center sm:justify-start\">\n          \n                      <span class=\"inline-block py-1 px-2 rounded text-xs font-medium tracking-widest uppercase mr-2\">\n              crochet online            <\/span>\n                      <span class=\"inline-block py-1 px-2 rounded text-xs font-medium tracking-widest uppercase mr-2\">\n              crochet class            <\/span>\n                    \n        <\/div>\n        <p class=\"leading-relaxed\">\n          Don&#039;t miss the chance to learn from the best. Access and see the crochet apps.        <\/p>\n        <div class=\"flex mt-6 items-center pb-5 border-b-2 border-gray-100 mb-5\">\n          \n        <\/div>\n        <div class=\"flex\">\n          <a data-km2-rewarded=\"true\" style=\"font-size: 13px;\" class=\"hidden animate-fade-in flex m-auto sm:mr-0 sm:ml-auto\"  href=\"https:\/\/senhorcursos.com\/en\/aplicativo-de-croche\/\" data-analytics-label=\"creditCardButton\" data-action=\"analytics#trackCTA\"  >\n            <button class=\"uppercase flex m-auto sm:mr-0 sm:ml-auto border-0 py-2 px-4 focus:outline-none rounded  disabled:opacity-50\">\n              ACCESS ARTICLE            <\/button>\n          <\/a>\n          <a data-km2-rewarded=\"false\" style=\"font-size: 15px;\" class=\"flex m-auto sm:mr-0 sm:ml-auto\"  href=\"https:\/\/senhorcursos.com\/en\/aplicativo-de-croche\/\" data-analytics-label=\"creditCardButton\" data-action=\"analytics#trackCTA\"  >\n            <button id=\"offer-first\" class=\"flex m-auto sm:mr-0 sm:ml-auto border-0 py-2 px-6 focus:outline-none rounded  disabled:opacity-50\">\n              ACCESS ARTICLE            <\/button>\n          <\/a>\n        <\/div>\n        <p class=\"text-xs text-gray-500 mt-3 text-center sm:text-right\">\n          You will remain on the same website        <\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n\n    <script type=\"module\"> function waitFor(conditionFunction) { const poll = resolve => { if(conditionFunction()) resolve(); else setTimeout(_ => poll(resolve), 400); }; return new Promise(poll); } import { Application, Controller } from \"\/wp-content\/themes\/twentytwentyone\/assets\/js\/stimulus.min.js\"; let Stimulus = Application.start(); Stimulus.register(\"anchor\", class extends Controller { static get targets() { return [ \"lazyBlock\", \"lazyBlockAnchor\" ]; } initialize() { this.active = false; this.passed = false; this.closed = false; this.anchorViews = 0; this.boundOnShowAnchor = this.onShowAnchor.bind(this); window.anchorReady = window.anchorReady || false; waitFor(_ => (window.scrollY > this.getHeightBlock() && !this.active)) .then(_ => { !window.anchorReady? this.visible() : ''; window.anchorReady = true; }); if (document.getElementById('landing')) { setTimeout(() => { !window.anchorReady ? this.visible() : ''; window.anchorReady = true; }, 1 * 30000); }; } connect() { this.onShowAnchor(); document.addEventListener(\"scroll\", this.boundOnShowAnchor); } disconnect() { document.removeEventListener(\"scroll\", this.boundOnShowAnchor); } visible() { if (document.getElementById('av-offerwall__wrapper')) { setTimeout(() => this.visible(), 20000); return; } if (document.getElementById('av-fixed__bottomWrapper') && document.getElementById('av-fixed__bottomWrapper').style.display !== 'none' && document.getElementById('av-fixed__bottomWrapper').getBoundingClientRect().height > 100) { setTimeout(() => this.visible(), 1000); return; } if (document.getElementById('av-fixed__bottomWrapper') && document.getElementById('av-fixed__bottomWrapper').style.display !== 'none' && document.getElementById('av-fixed__bottomWrapper').getBoundingClientRect().height > 10) { this.getAnchorElement().style.marginBottom = '60px'; } if (document.querySelector('[data-anchor-shown=\"true\"]') && document.querySelector('[data-anchor-shown=\"true\"]').style.bottom === '0px') { setTimeout(() => this.visible(), 1000); return; } if (!window.km2AnchorReady) { this.active = true; \/*this.getAnchorElement().style.animation = \"none\"; this.getAnchorElement().classList.remove('animate-show-down');*\/ \/*this.getAnchorElement().classList.add('animate-show-up');*\/ \/*setTimeout(() => {*\/ \/*this.getAnchorElement().style.animation = \"\";*\/ this.getAnchorElement().classList.add('animate-show-up'); this.getAnchorElement().classList.remove('hidden'); this.setAnchorViews(this.anchorViews+1); setTimeout(() => this.closeAnchor(), 20000); waitFor(_ => (document.getElementById('av-fixed__bottomWrapper') && document.getElementById('av-fixed__bottomWrapper').style.display !== 'none' && document.getElementById('av-fixed__bottomWrapper').getBoundingClientRect().height > 10 && this.getAnchorElement().style.marginBottom !== '60px')) .then(_ => { this.closeAnchor(); }); this.active = false; \/*}, 10);*\/ } } invisible() { this.active = true; this.getAnchorElement().style.animation = \"none\"; this.getAnchorElement().classList.remove('animate-show-up'); this.getAnchorElement().classList.add('animate-show-down'); setTimeout(() => { this.getAnchorElement().style.animation = \"\"; setTimeout(() => { this.getAnchorElement().classList.add('hidden'); this.active = false; }, 800); }, 10); } onShowAnchor() { let anchorReady = false;  \/*if (!this.active && !anchorReady) { if (this.getAnchorViews() <= 3) { if (window.scrollY > this.getHeightBlock()) { if (!this.passed && !this.closed) { this.visible(); this.passed = true; } } else { if (this.passed) { this.invisible(); this.passed = false; } } } else { if (!this.getAnchorElement().classList.contains('close')) { this.getAnchorElement().classList.add('close'); if (window.scrollY < this.getHeightBlock()) { this.invisible(); } } } }*\/ } closeAnchor() { if (this.closed) return; this.invisible(); this.getAnchorElement().classList.add('close'); this.closed = true; } getAnchorElement() { return this.lazyBlockAnchorTargets[0]; } getAnchorViews() { this.anchorViews = parseInt(sessionStorage.getItem(\"anchorViews\")) >= 1 ? parseInt(sessionStorage.getItem(\"anchorViews\")) : 0; return this.anchorViews; } setAnchorViews(views) { sessionStorage.setItem(\"anchorViews\", views); } getHeightBlock() { return this.lazyBlockTarget.offsetTop + this.lazyBlockTarget.offsetHeight - 110; } }) <\/script>  <div data-anchor-target=\"lazyBlockAnchor\" class=\"fixed w-full sm:w-96 px-3 py-2 bottom-0 left-0 hidden\" style=\"z-index: 999999;\" name=\"lazyBlockAnchor\">\n    <div class=\"grid justify-items-stretch\">        \n              <div class=\"relative justify-self-end top-4 -right-2\">\n          <button data-no-translation class=\"bg-white text-md font-medium text-center rounded-full h-7 w-7 border-2\" data-analytics-label=\"anchorCloseAnchor\" data-action=\"anchor#closeAnchor\" style=\"z-index: 999999;\">\n            X\n          <\/button>\n        <\/div>\n        <div class=\"justify-self-auto flex flex-col h-32 bg-white border-solid border-2 shadow-md rounded-md\">\n          <div class=\"flex my-0 h-full\">\n            <div class=\"w-2\/5 p-1 ml-2 mt-2 w-full\">\n              <a href=\"https:\/\/senhorcursos.com\/en\/aplicativo-de-croche\/\"  data-analytics-label=\"anchorImage\" data-action=\"analytics#trackCTA\">          \n                <img loading=\"lazy\" alt=\"card\" class=\"w-full object-cover h-24 object-center rounded justify-self-auto border-2 border-gray-100\" src=\"https:\/\/senhorcursos.com\/wp-content\/uploads\/2023\/05\/aplicativo-de-croche-scaled.jpeg\">          \n              <\/a>\n            <\/div>\n            <div class=\"w-3\/5 my-2\">\n              <p class=\"px-4 text-center text-xs h-1\/2\">\n                Don&#039;t miss the chance to learn from the best. Access and see...              <\/p>\n              <a href=\"https:\/\/senhorcursos.com\/en\/aplicativo-de-croche\/\"  data-analytics-label=\"anchorButton\" data-action=\"analytics#trackCTA\" >\n                <button class=\"flex w-5\/6 m-auto mt-2 border-0 py-1 px-3 focus:outline-none rounded\">                \n                  <p class=\"text-center w-full\" style=\"font-size: 0.67rem;\">\n                    ACCESS ARTICLE                  <\/p>\n                <\/button>\n              <\/a>\n              <p class=\"text-gray-500 text-center mt-1\" style=\"font-size: 0.50rem;\">\n                You will remain on the same website              <\/p>\n            <\/div>\n          <\/div>\n        <\/div>\n          <\/div>\n  <\/div>\n<\/section><\/div><!--loader--><div class=\"wp-block-lazyblock-loader lazyblock-loader-Z1BQwoY\"><script>\n    Math.min(window.screen.width, window.screen.height) < 768 ? document.getElementById(\"page\").classList.add(\"fixed\") : '';\n<\/script>\n<div id=\"loader\" class=\"flex h-screen fixed bg-white inset-0\" style=\"z-index: 99999;\" >\n    <div class=\"m-auto flex flex-col\">\n        <div class=\"flex\">\n            <svg style=\"color: \" class=\"m-auto animate-spin h-28 w-28\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewbox=\"0 0 24 24\">\n                <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"><\/circle>\n                <path class=\"opacity-75\" fill=\"currentColor\" d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"><\/path>\n            <\/svg>\n        <\/div>\n                    <div class=\"px-2 my-4 text-center animate-pulse text-xl\">\n                Looking for how to learn to sew from scratch...            <\/div>\n                    <\/div>\n<\/div>\n<script>\n    function waitFor(conditionFunction) {\n        const poll = resolve => {\n            if(conditionFunction()) resolve();\n            else setTimeout(_ => poll(resolve), 400);\n        };\n        return new Promise(poll);\n    }\n\n    window.loaderHandler = setTimeout(() => {\n        waitFor(_ => ((document.querySelector('[data-google-query-id]') !== null) || (typeof avCustomConfig === 'object' && avCustomConfig.skipAds === true)))\n            .then(_ => {\n                if ((window.location.pathname.includes('\/iow')) && ((document.referrer ?? '').includes('senhorcursos.com'.replace('cb.', ''))) && (!document.cookie.includes('avOfferWallRewarded'))) return;\n\n                if (document.getElementById('loader')) {\n                    document.getElementById('loader').addEventListener('animationend', () => {\n                        document.getElementById(\"page\").classList.remove(\"fixed\");\n                        document.getElementById(\"loader\").remove();\n                    });\n                    document.getElementById('loader').classList.add('animate-fade-out-quickly');\n                }\n            });\n    }, 2500);\n\n    window.loaderHandler = setTimeout(() => {\n        waitFor(_ => ((typeof av === 'object' && av.requested === true) || (typeof av === 'object' && av.showLimitedAds() === true && window.googletag && googletag.pubadsReady)))\n            .then(_ => {\n                if ((window.location.pathname.includes('\/iow')) && ((document.referrer ?? '').includes('senhorcursos.com'.replace('cb.', ''))) && (!document.cookie.includes('avOfferWallRewarded'))) return;\n                \n                if (document.getElementById('loader')) {\n                    document.getElementById('loader').addEventListener('animationend', () => {\n                        document.getElementById(\"page\").classList.remove(\"fixed\");\n                        document.getElementById(\"loader\").remove();\n                    });\n                    document.getElementById('loader').classList.add('animate-fade-out-quickly');\n                }\n            });\n    }, 3500);\n\n    window.loaderHandler = setTimeout(() => {\n        waitFor(_ => (typeof av === 'object' && av.timeline?.includes('rewarded->visible')))\n            .then(_ => {                        \n                if (document.getElementById('loader')) {\n                    document.getElementById('loader').addEventListener('animationend', () => {\n                        document.getElementById(\"page\").classList.remove(\"fixed\");\n                        document.getElementById(\"loader\").remove();\n                    });\n                    document.getElementById('loader').classList.add('animate-fade-out-quickly');\n                }\n            });\n    }, 5000);\n\n    setTimeout(() => {\n        if (document.getElementById('loader')) {\n            document.getElementById('loader').addEventListener('animationend', () => {\n                document.getElementById(\"page\").classList.remove(\"fixed\");\n                document.getElementById(\"loader\").remove();\n            });\n            document.getElementById('loader').classList.add('animate-fade-out-quickly');\n        }\n    }, ((window.location.pathname.includes('\/iow')) && ((document.referrer ?? '').includes('senhorcursos.com'.replace('cb.', ''))) && (!document.cookie.includes('avOfferWallRewarded'))) ? 20000 : 10000);\n<\/script>\n<\/div><!--loader-->","protected":false},"excerpt":{"rendered":"<p>Imagine being able to create unique garments that reflect your personal style, gift personalized items to friends, or even save money on your favorite pieces. All of this is possible when you start learning to sew from scratch. Sewing is not only a practical skill, but also a form of art and personal expression. <a class=\"more-link\" href=\"https:\/\/senhorcursos.com\/en\/recomendador-como-aprender-a-costurar-do-zero\/\">Continue reading <span class=\"screen-reader-text\">SCS Recommender \u2013 How to learn to sew from scratch<\/span><\/a><\/p>","protected":false},"author":22,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[576,2],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.7 (Yoast SEO v19.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Recomendador SCS - Como aprender a costurar do zero - Senhor Cursos<\/title>\n<meta name=\"description\" content=\"Descubra como aprender a costurar do zero pode abrir as portas para sua criatividade, economia financeira e um mundo de possibilidades.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/senhorcursos.com\/en\/recomendador-como-aprender-a-costurar-do-zero\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Recomendador SCS - Como aprender a costurar do zero\" \/>\n<meta property=\"og:description\" content=\"Descubra como aprender a costurar do zero pode abrir as portas para sua criatividade, economia financeira e um mundo de possibilidades.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/senhorcursos.com\/en\/recomendador-como-aprender-a-costurar-do-zero\/\" \/>\n<meta property=\"og:site_name\" content=\"Senhor Cursos\" \/>\n<meta property=\"article:published_time\" content=\"2023-10-02T08:58:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-02T19:12:38+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Aline Saes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/senhorcursos.com\/#website\",\"url\":\"https:\/\/senhorcursos.com\/\",\"name\":\"Senhor Cursos\",\"description\":\"Os melhores cursos, concursos e vagas de empregos para voc\u00ea\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/senhorcursos.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-CA\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/senhorcursos.com\/recomendador-como-aprender-a-costurar-do-zero\/#webpage\",\"url\":\"https:\/\/senhorcursos.com\/recomendador-como-aprender-a-costurar-do-zero\/\",\"name\":\"Recomendador SCS - Como aprender a costurar do zero - Senhor Cursos\",\"isPartOf\":{\"@id\":\"https:\/\/senhorcursos.com\/#website\"},\"datePublished\":\"2023-10-02T08:58:36+00:00\",\"dateModified\":\"2023-10-02T19:12:38+00:00\",\"author\":{\"@id\":\"https:\/\/senhorcursos.com\/#\/schema\/person\/45e977c91de6e7a331ae798620263501\"},\"description\":\"Descubra como aprender a costurar do zero pode abrir as portas para sua criatividade, economia financeira e um mundo de possibilidades.\",\"breadcrumb\":{\"@id\":\"https:\/\/senhorcursos.com\/recomendador-como-aprender-a-costurar-do-zero\/#breadcrumb\"},\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/senhorcursos.com\/recomendador-como-aprender-a-costurar-do-zero\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/senhorcursos.com\/recomendador-como-aprender-a-costurar-do-zero\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/senhorcursos.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Recomendador SCS &#8211; Como aprender a costurar do zero\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/senhorcursos.com\/#\/schema\/person\/45e977c91de6e7a331ae798620263501\",\"name\":\"Aline Saes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\/\/senhorcursos.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/fbba2c3f92032de0d7a091559878aacc?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/fbba2c3f92032de0d7a091559878aacc?s=96&d=mm&r=g\",\"caption\":\"Aline Saes\"},\"url\":\"https:\/\/senhorcursos.com\/en\/author\/aline-saes-rodriguesgmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Recomendador SCS - Como aprender a costurar do zero - Senhor Cursos","description":"Descubra como aprender a costurar do zero pode abrir as portas para sua criatividade, economia financeira e um mundo de possibilidades.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/senhorcursos.com\/en\/recomendador-como-aprender-a-costurar-do-zero\/","og_locale":"en_US","og_type":"article","og_title":"Recomendador SCS - Como aprender a costurar do zero","og_description":"Descubra como aprender a costurar do zero pode abrir as portas para sua criatividade, economia financeira e um mundo de possibilidades.","og_url":"https:\/\/senhorcursos.com\/en\/recomendador-como-aprender-a-costurar-do-zero\/","og_site_name":"Senhor Cursos","article_published_time":"2023-10-02T08:58:36+00:00","article_modified_time":"2023-10-02T19:12:38+00:00","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Aline Saes","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/senhorcursos.com\/#website","url":"https:\/\/senhorcursos.com\/","name":"Senhor Cursos","description":"Os melhores cursos, concursos e vagas de empregos para voc\u00ea","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/senhorcursos.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-CA"},{"@type":"WebPage","@id":"https:\/\/senhorcursos.com\/recomendador-como-aprender-a-costurar-do-zero\/#webpage","url":"https:\/\/senhorcursos.com\/recomendador-como-aprender-a-costurar-do-zero\/","name":"Recomendador SCS - Como aprender a costurar do zero - Senhor Cursos","isPartOf":{"@id":"https:\/\/senhorcursos.com\/#website"},"datePublished":"2023-10-02T08:58:36+00:00","dateModified":"2023-10-02T19:12:38+00:00","author":{"@id":"https:\/\/senhorcursos.com\/#\/schema\/person\/45e977c91de6e7a331ae798620263501"},"description":"Descubra como aprender a costurar do zero pode abrir as portas para sua criatividade, economia financeira e um mundo de possibilidades.","breadcrumb":{"@id":"https:\/\/senhorcursos.com\/recomendador-como-aprender-a-costurar-do-zero\/#breadcrumb"},"inLanguage":"en-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/senhorcursos.com\/recomendador-como-aprender-a-costurar-do-zero\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/senhorcursos.com\/recomendador-como-aprender-a-costurar-do-zero\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/senhorcursos.com\/"},{"@type":"ListItem","position":2,"name":"Recomendador SCS &#8211; Como aprender a costurar do zero"}]},{"@type":"Person","@id":"https:\/\/senhorcursos.com\/#\/schema\/person\/45e977c91de6e7a331ae798620263501","name":"Aline Saes","image":{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/senhorcursos.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/fbba2c3f92032de0d7a091559878aacc?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fbba2c3f92032de0d7a091559878aacc?s=96&d=mm&r=g","caption":"Aline Saes"},"url":"https:\/\/senhorcursos.com\/en\/author\/aline-saes-rodriguesgmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/senhorcursos.com\/en\/wp-json\/wp\/v2\/posts\/12412"}],"collection":[{"href":"https:\/\/senhorcursos.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/senhorcursos.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/senhorcursos.com\/en\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/senhorcursos.com\/en\/wp-json\/wp\/v2\/comments?post=12412"}],"version-history":[{"count":0,"href":"https:\/\/senhorcursos.com\/en\/wp-json\/wp\/v2\/posts\/12412\/revisions"}],"wp:attachment":[{"href":"https:\/\/senhorcursos.com\/en\/wp-json\/wp\/v2\/media?parent=12412"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/senhorcursos.com\/en\/wp-json\/wp\/v2\/categories?post=12412"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/senhorcursos.com\/en\/wp-json\/wp\/v2\/tags?post=12412"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}