{"id":29222,"date":"2024-07-06T13:38:53","date_gmt":"2024-07-06T16:38:53","guid":{"rendered":"https:\/\/tvtribunape.com.br\/index.php\/2024\/07\/06\/prefeitura-de-sorocaba-entrega-obras-de-interligacao-viaria-entre-o-campolim-e-portal-da-colina\/"},"modified":"2024-07-06T13:38:53","modified_gmt":"2024-07-06T16:38:53","slug":"prefeitura-de-sorocaba-entrega-obras-de-interligacao-viaria-entre-o-campolim-e-portal-da-colina","status":"publish","type":"post","link":"https:\/\/tvtribunape.com.br\/index.php\/2024\/07\/06\/prefeitura-de-sorocaba-entrega-obras-de-interligacao-viaria-entre-o-campolim-e-portal-da-colina\/","title":{"rendered":"Prefeitura de Sorocaba entrega obras de interliga\u00e7\u00e3o vi\u00e1ria entre o Campolim e Portal da Colina"},"content":{"rendered":"<p><\/p>\n<p>A Prefeitura de Sorocaba realizou, nesta sexta-feira (5), a entrega das obras de constru\u00e7\u00e3o da interliga\u00e7\u00e3o vi\u00e1ria entre os bairros Campolim e Portal da Colina, na Zona Sul da cidade. A via permite o acesso direto entre as Avenidas Ant\u00f4nio Carlos Comitre e M\u00e1rio Campolim, com a Rua Romeu do Nascimento, como meio de melhorar o fluxo de ve\u00edculos nessa regi\u00e3o da cidade.<\/p>\n<p>Com valor aproximado de R$ 4,6 milh\u00f5es, as obras foram iniciadas em 2023 e estiveram a cargo da construtora Casamax, contratada a partir de recursos financiados via Corpora\u00e7\u00e3o Andina de Fomento (CAF), por meio do Centro de Acelera\u00e7\u00e3o, Desenvolvimento e Inova\u00e7\u00e3o (Cadi), ligado \u00e0 Secretaria de Administra\u00e7\u00e3o (Sead) de Sorocaba.<\/p>\n<p>As obras totalizam mais de 400 metros lineares de \u00e1rea pavimentada, implanta\u00e7\u00e3o de travessia de c\u00f3rrego, sinaliza\u00e7\u00e3o vi\u00e1ria, ilumina\u00e7\u00e3o p\u00fablica com tecnologia de LED e sistema de drenagem para escoamento das \u00e1guas pluviais.<\/p>\n<p>A iniciativa integra o programa \u201cSorocaba tem Pressa\u201d, lan\u00e7ado em 2021 pela atual Administra\u00e7\u00e3o Municipal, para conferir agilidade \u00e0s obras de mobilidade urbana j\u00e1 em andamento e iniciar novos projetos.<\/p>\n<p>Segunda a Secretaria de Mobilidade (Semob), a interven\u00e7\u00e3o tem como objetivo oferecer um acesso alternativo para a liga\u00e7\u00e3o do bairro Campolim, o Portal da Colina, e ainda, o Jardim Em\u00edlia, facilitando a distribui\u00e7\u00e3o do tr\u00e1fego local e minimizando o volume da Avenida Ant\u00f4nio Carlos Comitre.<\/p>\n<p>A via foi j\u00e1 est\u00e1 liberada, no entanto, a construtora continuar\u00e1 com servi\u00e7os complementares de infraestrutura da drenagem, e um trecho de recapeamento, que ser\u00e1 poss\u00edvel a conclus\u00e3o ap\u00f3s o funcionamento do novo vi\u00e1rio.<\/p>\n<div class=\"pms-galeria\">\n<p>\t\t<span><\/span><\/p>\n<p>\t\t<span><\/span><\/p>\n<p>\t\t<span><\/span><\/p>\n<p>\t\t<span><\/span><\/p>\n<p>\t\t<span><\/span><\/p>\n<p>\t\t<span><\/span><\/p>\n<p>\t\t<span><\/span><\/p>\n<p>\t\t<span><\/span><\/p>\n<p>\t\t<span><\/span><\/p>\n<p>\t\t<span><\/span><\/p>\n<p>\t\t<span><\/span><\/p>\n<p>\t\t<span><\/span><\/p><\/div>\n<p><!-- Root element of PhotoSwipe. Must have class pswp. --><\/p>\n<div class=\"pswp\" role=\"dialog\" aria-hidden=\"true\">\n<p>\t<!-- Background of PhotoSwipe. \n\t\t\t It's a separate element, as animating opacity is faster than rgba(). --><\/p>\n<div class=\"pswp__bg\"><\/div>\n<p>\t<!-- Slides wrapper with overflow:hidden. --><\/p>\n<div class=\"pswp__scroll-wrap\">\n<p>\t\t<!-- Container that holds slides. PhotoSwipe keeps only 3 slides in DOM to save memory. --><\/p>\n<div class=\"pswp__container\">\n\t\t\t<!-- don't modify these 3 pswp__item elements, data is added later on --><\/p>\n<div class=\"pswp__item\"><\/div>\n<div class=\"pswp__item\"><\/div>\n<div class=\"pswp__item\"><\/div>\n<\/p><\/div>\n<p>\t\t<!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --><\/p>\n<div class=\"pswp__ui pswp__ui--hidden\">\n<div class=\"pswp__top-bar\">\n<p>\t\t\t\t<!--  Controls are self-explanatory. Order can be changed. --><\/p>\n<div class=\"pswp__counter\"><\/div>\n<p>\t\t\t\t<button class=\"pswp__button pswp__button--close\" title=\"Close (Esc)\"><\/button><\/p>\n<p>\t\t\t\t<button class=\"pswp__button pswp__button--share\" title=\"Share\"><\/button><\/p>\n<p>\t\t\t\t<button class=\"pswp__button pswp__button--fs\" title=\"Toggle fullscreen\"><\/button><\/p>\n<p>\t\t\t\t<button class=\"pswp__button pswp__button--zoom\" title=\"Zoom in\/out\"><\/button><\/p>\n<p>\t\t\t\t<!-- Preloader demo http:\/\/codepen.io\/dimsemenov\/pen\/yyBWoR --><br \/>\n\t\t\t\t<!-- element will get class pswp__preloader-active when preloader is running --><\/p>\n<div class=\"pswp__preloader\">\n<div class=\"pswp__preloader__icn\">\n<div class=\"pswp__preloader__cut\">\n<div class=\"pswp__preloader__donut\"><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\">\n<div class=\"pswp__share-tooltip\"><\/div>\n<\/p><\/div>\n<p>\t\t\t<button class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\"><br \/>\n\t\t\t<\/button><\/p>\n<p>\t\t\t<button class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\"><br \/>\n\t\t\t<\/button><\/p>\n<div class=\"pswp__caption\">\n<div class=\"pswp__caption__center\"><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<p>\t$$ = $.noConflict();<\/p>\n<p>\tvar initPhotoSwipeFromDOM = function(gallerySelector) {<\/p>\n<p>\t\t\/\/ parse slide data (url, title, size &#8230;) from DOM elements<br \/>\n\t\t\/\/ (children of gallerySelector)<br \/>\n\t\tvar parseThumbnailElements = function(el) {<br \/>\n\t\t\tvar thumbElements = el.childNodes,<br \/>\n\t\t\t\tnumNodes = thumbElements.length,<br \/>\n\t\t\t\titems = [],<br \/>\n\t\t\t\tfigureEl,<br \/>\n\t\t\t\tchildElements,<br \/>\n\t\t\t\tlinkEl,<br \/>\n\t\t\t\tsize,<br \/>\n\t\t\t\titem;<\/p>\n<p>\t\t\tfor(var i = 0; i &lt; numNodes; i++) {<br \/>\n\t\t\t\tfigureEl = thumbElements[i]; \/\/ <\/p>\n<figure> element<\/p>\n<p>\t\t\t\t\/\/ include only element nodes<br \/>\n\t\t\t\tif(figureEl.nodeType !== 1) {<br \/>\n\t\t\t\t\tcontinue;<br \/>\n\t\t\t\t}<\/p>\n<p>\t\t\t\tlinkEl = figureEl.children[0]; \/\/ <a> element<br \/>\n\t\t\t\tlinkEl = figureEl; \/\/ <a> element<br \/>\n\t\t\t\t\/\/ console.log(linkEl);<br \/>\n\t\t\t\tsize = linkEl.getAttribute(&#8216;data-size&#8217;).split(&#8216;x&#8217;);<\/p>\n<p>\t\t\t\t\/\/ create slide object<br \/>\n\t\t\t\titem = {<br \/>\n\t\t\t\t\tsrc: linkEl.getAttribute(&#8216;href&#8217;),<br \/>\n\t\t\t\t\tw: parseInt(size[0], 10),<br \/>\n\t\t\t\t\th: parseInt(size[1], 10)<br \/>\n\t\t\t\t};<\/p>\n<p>\t\t\t\tif(figureEl.children.length &gt; 1) {<br \/>\n\t\t\t\t\t\/\/<figcaption> content<br \/>\n\t\t\t\t\titem.title = figureEl.children[1].innerHTML;<br \/>\n\t\t\t\t}<\/p>\n<p>\t\t\t\tif(linkEl.children.length &gt; 0) {<br \/>\n\t\t\t\t\t\/\/ <img> thumbnail element, retrieving thumbnail url<br \/>\n\t\t\t\t\titem.msrc = linkEl.children[0].getAttribute(&#8216;src&#8217;);<br \/>\n\t\t\t\t} <\/p>\n<p>\t\t\t\titem.el = figureEl; \/\/ save link to element for getThumbBoundsFn<br \/>\n\t\t\t\titems.push(item);<br \/>\n\t\t\t}<\/p>\n<p>\t\t\treturn items;<br \/>\n\t\t};<\/p>\n<p>\t\t\/\/ find nearest parent element<br \/>\n\t\tvar closest = function closest(el, fn) {<br \/>\n\t\t\treturn el &amp;&amp; ( fn(el) ? el : closest(el.parentNode, fn) );<br \/>\n\t\t};<\/p>\n<p>\t\t\/\/ triggers when user clicks on thumbnail<br \/>\n\t\tvar onThumbnailsClick = function(e) {<br \/>\n\t\t\te = e || window.event;<br \/>\n\t\t\te.preventDefault ? e.preventDefault() : e.returnValue = false;<\/p>\n<p>\t\t\tvar eTarget = e.target || e.srcElement;<\/p>\n<p>\t\t\tvar clickedListItem = closest(eTarget, function(el) {<br \/>\n\t\t\t\treturn el.tagName === &#8216;FIGURE&#8217;;<br \/>\n\t\t\t});<br \/>\n\t\t\tclickedListItem = eTarget.parentNode;<br \/>\n\t\t\tif(!clickedListItem) {<br \/>\n\t\t\t\treturn;<br \/>\n\t\t\t}<\/p>\n<p>\t\t\t\/\/ find index of clicked item<br \/>\n\t\t\tvar clickedGallery = clickedListItem.parentNode,<br \/>\n\t\t\t\tchildNodes = clickedListItem.parentNode.childNodes,<br \/>\n\t\t\t\tnumChildNodes = childNodes.length,<br \/>\n\t\t\t\tnodeIndex = 0,<br \/>\n\t\t\t\tindex;<\/p>\n<p>\t\t\tfor (var i = 0; i = 0) {<br \/>\n\t\t\t\topenPhotoSwipe( index, clickedGallery );<br \/>\n\t\t\t}<\/p>\n<p>\t\t\treturn false;<br \/>\n\t\t};<\/p>\n<p>\t\t\/\/ parse picture index and gallery index from URL (#&amp;pid=1&amp;gid=2)<br \/>\n\t\tvar photoswipeParseHash = function() {<br \/>\n\t\t\tvar hash = window.location.hash.substring(1),<br \/>\n\t\t\t\tparams = {};<\/p>\n<p>\t\t\tif(hash.length &lt; 5) {<br \/>\n\t\t\t\treturn params;<br \/>\n\t\t\t}<\/p>\n<p>\t\t\tvar vars = hash.split(&#039;&amp;&#039;);<br \/>\n\t\t\tfor (var i = 0; i &lt; vars.length; i++) {<br \/>\n\t\t\t\tif(!vars[i]) {<br \/>\n\t\t\t\t\tcontinue;<br \/>\n\t\t\t\t}<br \/>\n\t\t\t\tvar pair = vars[i].split(&#039;=&#039;);<br \/>\n\t\t\t\tif(pair.length  getThumbBoundsFn section of docs for more info<br \/>\n\t\t\t\t\tvar thumbnail = items[index].el.getElementsByTagName(&#8216;img&#8217;)[0], \/\/ find thumbnail<br \/>\n\t\t\t\t\t\tpageYScroll = window.pageYOffset || document.documentElement.scrollTop,<br \/>\n\t\t\t\t\t\trect = thumbnail.getBoundingClientRect(); <\/p>\n<p>\t\t\t\t\treturn {x:rect.left, y:rect.top + pageYScroll, w:rect.width};<br \/>\n\t\t\t\t},<\/p>\n<p>\t\t\t\tshareButtons: [<br \/>\n\t\t\t\t\t{id:&#8217;download&#8217;, label:&#8217;Download image&#8217;, url:&#8221;, download:true}<br \/>\n\t\t\t\t],<\/p>\n<p>\t\t\t\t\/\/ history &amp; focus options are disabled on CodePen<br \/>\n\t\t\t\t\/\/ remove these lines in real life:<br \/>\n\t\t\t\thistoryEnabled: false,<br \/>\n\t\t\t\tfocus: false <\/p>\n<p>\t\t\t};<\/p>\n<p>\t\t\tif(disableAnimation) {<br \/>\n\t\t\t\toptions.showAnimationDuration = 0;<br \/>\n\t\t\t}<\/p>\n<p>\t\t\t\/\/ Pass data to PhotoSwipe and initialize it<br \/>\n\t\t\tgallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);<br \/>\n\t\t\tgallery.init();<br \/>\n\t\t};<\/p>\n<p>\t\t\/\/ loop through all gallery elements and bind events<br \/>\n\t\tvar galleryElements = document.querySelectorAll( gallerySelector );<\/p>\n<p>\t\tfor(var i = 0, l = galleryElements.length; i  0 &amp;&amp; hashData.gid &gt; 0) {<br \/>\n\t\t\topenPhotoSwipe( hashData.pid &#8211; 1 ,  galleryElements[ hashData.gid &#8211; 1 ], true );<br \/>\n\t\t}<br \/>\n\t};<\/p>\n<p>\t\/\/ execute above function<br \/>\n\tinitPhotoSwipeFromDOM(&#8216;.pms-galeria&#8217;);<\/p>\n<p>\t\/\/ All images need to be loaded for this plugin to work so<br \/>\n\t\/\/ we end up waiting for the whole window to load in this example<br \/>\n\t$$(window).load(function () {<br \/>\n\t\t$$(document).ready(function(){<br \/>\n\t\t\tcollage();<br \/>\n\t\t\t$$(&#8216;.pms-galeria&#8217;).collageCaption();<br \/>\n\t\t});<br \/>\n\t});<\/p>\n<p>\t\/\/ Here we apply the actual CollagePlus plugin<br \/>\n\tfunction collage() {<br \/>\n\t\t$$(&#8216;.pms-galeria img&#8217;).css(&#8216;display&#8217;, &#8216;block&#8217;);<br \/>\n\t\t$$(&#8216;.pms-galeria&#8217;).removeWhitespace().collagePlus({<br \/>\n\t\t\t&#8216;fadeSpeed&#8217;     : 2000,<br \/>\n\t\t\t&#8216;targetHeight&#8217;  : 150,<br \/>\n\t\t\t&#8216;effect&#8217;        : &#8216;default&#8217;,<br \/>\n\t\t\t&#8216;direction&#8217;     : &#8216;vertical&#8217;,<br \/>\n\t\t\t&#8216;allowPartialLastRow&#8217; : true<br \/>\n\t\t});<br \/>\n\t};<\/p>\n<p>\t\/\/ This is just for the case that the browser window is resized<br \/>\n\tvar resizeTimer = null;<br \/>\n\t$$(window).bind(&#8216;resize&#8217;, function() {<br \/>\n\t\t\/\/ hide all the images until we resize them<br \/>\n\t\t$$(&#8216;.pms-galeria .Image_Wrapper&#8217;).css(&#8220;opacity&#8221;, 0);<br \/>\n\t\t\/\/ set a timer to re-apply the plugin<br \/>\n\t\tif (resizeTimer) clearTimeout(resizeTimer);<br \/>\n\t\tresizeTimer = setTimeout(collage, 200);<br \/>\n\t});<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A Prefeitura de Sorocaba realizou, nesta sexta-feira (5), a entrega das obras de constru\u00e7\u00e3o da<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-29222","post","type-post","status-publish","format-standard","hentry"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/tvtribunape.com.br\/index.php\/wp-json\/wp\/v2\/posts\/29222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tvtribunape.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tvtribunape.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tvtribunape.com.br\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/tvtribunape.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=29222"}],"version-history":[{"count":0,"href":"https:\/\/tvtribunape.com.br\/index.php\/wp-json\/wp\/v2\/posts\/29222\/revisions"}],"wp:attachment":[{"href":"https:\/\/tvtribunape.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=29222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tvtribunape.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=29222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tvtribunape.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=29222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}