Loading...
Loading...
{
"latency": 1652,
"ipAddresses": [
"201.55.11.122"
],
"dns": {
"NS": [
"ns1.a0.impervasecuredns.net.",
"dns5e.sp.gov.br.",
"dns4e.sp.gov.br.",
"dns2e.sp.gov.br.",
"dns1e.sp.gov.br.",
"ns1.a2.impervasecuredns.net.",
"dns3e.sp.gov.br.",
"ns1.a1.impervasecuredns.net."
],
"A": [
"201.55.11.122"
],
"TXT": [
"M2P1LD20T2ZXNCN0C1O4O5LFWHN748024NZEC603",
"v=spf1 include:correio-spf.collabserv.sp.gov.br include:spf.protection.outlook.com include:correio-spfsmtp.prodesp.sp.gov.br -all"
]
}
}
[
{
"url": "https://poupatempo.sp.gov.br",
"technologies": [
{
"slug": "google-maps",
"name": "Google Maps",
"versions": [],
"trafficRank": 203,
"confirmedAt": 1724700344,
"icon": "Google Maps.svg",
"categories": [
{
"id": 35,
"slug": "maps",
"name": "Maps"
}
]
},
{
"slug": "django",
"name": "Django",
"versions": [],
"trafficRank": 201,
"confirmedAt": 1724680719,
"icon": "Django.svg",
"categories": [
{
"id": 18,
"slug": "web-frameworks",
"name": "Web frameworks"
}
]
},
{
"slug": "python",
"name": "Python",
"versions": [],
"trafficRank": 201,
"confirmedAt": 1724680719,
"icon": "Python.svg",
"categories": [
{
"id": 27,
"slug": "programming-languages",
"name": "Programming languages"
}
]
},
{
"slug": "selectize",
"name": "Selectize",
"versions": [],
"trafficRank": 195,
"confirmedAt": 1724680719,
"icon": "Selectize.svg",
"categories": [
{
"id": 59,
"slug": "javascript-libraries",
"name": "JavaScript libraries"
}
]
},
{
"slug": "nginx",
"name": "Nginx",
"cpe": "cpe:2.3:a:f5:nginx:1.22.1:*:*:*:*:*:*:*",
"versions": [
"1.22.1"
],
"trafficRank": 226,
"confirmedAt": 1724700344,
"icon": "Nginx.svg",
"categories": [
{
"id": 22,
"slug": "web-servers",
"name": "Web servers"
},
{
"id": 64,
"slug": "reverse-proxies",
"name": "Reverse proxies"
}
]
},
{
"slug": "whatsapp-business-chat",
"name": "WhatsApp Business Chat",
"versions": [],
"trafficRank": 226,
"confirmedAt": 1724700344,
"icon": "WhatsApp.svg",
"categories": [
{
"id": 52,
"slug": "live-chat",
"name": "Live chat"
}
]
},
{
"slug": "google-tag-manager",
"name": "Google Tag Manager",
"versions": [],
"trafficRank": 201,
"confirmedAt": 1724700344,
"icon": "Google Tag Manager.svg",
"categories": [
{
"id": 42,
"slug": "tag-managers",
"name": "Tag managers"
}
]
},
{
"slug": "google-analytics",
"name": "Google Analytics",
"versions": [
"GA4"
],
"trafficRank": 201,
"confirmedAt": 1724700344,
"icon": "Google Analytics.svg",
"categories": [
{
"id": 10,
"slug": "analytics",
"name": "Analytics"
}
]
},
{
"slug": "jquery-cdn",
"name": "jQuery CDN",
"versions": [],
"trafficRank": 226,
"confirmedAt": 1724700344,
"icon": "jQuery.svg",
"categories": [
{
"id": 31,
"slug": "cdn",
"name": "CDN"
}
]
},
{
"slug": "jquery",
"name": "jQuery",
"cpe": "cpe:2.3:a:jquery:jquery:1.11.3:*:*:*:*:*:*:*",
"versions": [
"1.11.3"
],
"trafficRank": 227,
"confirmedAt": 1724700344,
"icon": "jQuery.svg",
"categories": [
{
"id": 59,
"slug": "javascript-libraries",
"name": "JavaScript libraries"
}
]
},
{
"slug": "owl-carousel",
"name": "OWL Carousel",
"versions": [],
"trafficRank": 227,
"confirmedAt": 1724700344,
"icon": "OWL Carousel.png",
"categories": [
{
"id": 59,
"slug": "javascript-libraries",
"name": "JavaScript libraries"
}
]
},
{
"slug": "bootstrap",
"name": "Bootstrap",
"cpe": "cpe:2.3:a:getbootstrap:bootstrap:4.1.0:*:*:*:*:*:*:*",
"versions": [
"4.1.0"
],
"trafficRank": 227,
"confirmedAt": 1724700344,
"icon": "Bootstrap.svg",
"categories": [
{
"id": 66,
"slug": "ui-frameworks",
"name": "UI frameworks"
}
]
},
{
"slug": "open-graph",
"name": "Open Graph",
"versions": [],
"trafficRank": 227,
"confirmedAt": 1724700344,
"icon": "Open Graph.svg",
"categories": [
{
"id": 19,
"slug": "miscellaneous",
"name": "Miscellaneous"
}
]
},
{
"slug": "cart-functionality",
"name": "Cart Functionality",
"versions": [],
"trafficRank": 227,
"confirmedAt": 1724700344,
"icon": "Cart-generic.svg",
"categories": [
{
"id": 6,
"slug": "ecommerce",
"name": "Ecommerce"
}
]
},
{
"slug": "popper",
"name": "Popper",
"versions": [],
"trafficRank": 227,
"confirmedAt": 1724700344,
"icon": "Popper.svg",
"categories": [
{
"id": 19,
"slug": "miscellaneous",
"name": "Miscellaneous"
}
]
},
{
"slug": "google-font-api",
"name": "Google Font API",
"versions": [],
"trafficRank": 227,
"confirmedAt": 1724700344,
"icon": "Google Font API.svg",
"categories": [
{
"id": 17,
"slug": "font-scripts",
"name": "Font scripts"
}
]
}
]
}
]
{
"data": {
"total": 22,
"personal_emails": 20,
"generic_emails": 2,
"department": {
"executive": 0,
"it": 0,
"finance": 0,
"management": 0,
"sales": 0,
"legal": 0,
"support": 0,
"hr": 0,
"marketing": 0,
"communication": 0,
"education": 0,
"design": 0,
"health": 0,
"operations": 0
},
"seniority": {
"junior": 0,
"senior": 0,
"executive": 0
}
},
"meta": {
"params": {
"domain": "poupatempo.sp.gov.br",
"company": null,
"type": null
}
}
}
{
"Microsoft Clarity": "Free-to-use analytics product for webmasters that shows how people are using your website.",
"Global Site Tag": "Google's primary tag for Google Measurement/Conversion Tracking, Adwords and DoubleClick.",
"Google Font API": "The Google Font API helps you add web fonts to any web page.",
"Fonts.com": "Uses web fonts from fonts.com.",
"Google Tag Manager": "Tag management that lets you add and update website tags without changes to underlying website code.",
"WhatsApp": "WhatsApp protocol links and SMS API.",
"Portuguese": "Website content is written in Portuguese. Based on HTML langauge attributes on the website",
"Django CSRF": "Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. This metric displays sites that are using Django + CSRF.",
"Viewport Meta": "This page uses the viewport meta tag which means the content may be optimized for mobile content.",
"IPhone / Mobile Compatible": "The website contains code that allows the page to support IPhone / Mobile Content.",
"jQuery CDN": "The jQuery Amazon S3 Content Delivery Network",
"jsDelivr": "A free CDN where Javascript developers can host their files. Encompasses MaxCDN, and BootstrapCDN.",
"OSS CDN": "Open Source Software CDN from MaxCDN.",
"Respond": "A fast & lightweight polyfill for min/max-width CSS3 Media Queries (for IE 6-8, and more)",
"jQuery": "JQuery is a fast, concise, JavaScript Library that simplifies how you traverse HTML documents, handle events, perform animations, and add Ajax interactions to your web pages. jQuery is designed to change the way that you write JavaScript.",
"jQuery UI": "jQuery UI provides abstractions for low-level interaction and animation, advanced effects and high-level, themeable widgets, built on top of the jQuery JavaScript Library, that you can use to build highly interactive web applications.",
"jQuery 3.6.0": "jQuery version 3.6.0",
"jQuery 3.7.0": "jQuery version 3.7.0",
"jQuery NoConflict": "Return control of $ back to the other libraries with a call to $.noConflict().",
"Selectize": "Selectize is the hybrid of a textbox and select box.",
"Popper.js": "A library to manage your pop ups.",
"OWL Carousel": "Touch enabled jQuery plugin that lets you create a carousel slider.",
"Apple App Link": "Links to an Apple App.",
"Facebook": "The website mentions facebook.com in some form.",
"YouTube Link": "This website mentions YouTube.com on it in some form or another.",
"TikTok": "The website mentions tiktok.com (but not Douyin) in some form.",
"LinkedIn": "The website mentions linkedin.com in some form.",
"Instagram": "The website mentions Instagram in some form.",
"Twitter": "The website mentions twitter.com in some form.",
"nginx": "nginx [engine x] is a HTTP server and mail proxy server written by Igor Sysoev.",
"UTF-8": "UTF-8 (8-bit UCS/Unicode Transformation Format) is a variable-length character encoding for Unicode. It is the preferred encoding for web pages.",
"HTML5 DocType": "The DOCTYPE is a required preamble for HTML5 websites.",
"Open Graph Protocol": "The Open Graph protocol enables any web page to become a rich object in a social graph, a open protocol supported by Facebook",
"X-UA-Compatible": "Allows a website to define how a page is rendered in Internet Explorer 8, allowing a website to decide to use IE7 style rendering over IE8 rendering.",
"Meta Keywords": "Meta tag containing keywords related to the page.",
"Meta Robot": "This page contains a meta robots tag which tells search engines and robots to index or not index the page.",
"Conditional Comments": "[url] uses conditional comments that are supported by Microsoft Internet Explorer. They allow web developers to show or hide HTML code based on the version of the viewer's browser.",
"Cascading Style Sheets": "Cascading Style Sheets (CSS) is a stylesheet language used to describe the presentation of a document written in a markup language. Its most common application is to style web pages written in HTML",
"Twitter Bootstrap": "Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites.",
"Javascript": "JavaScript is a scripting language most often used for client-side web development.",
"HTML 5 Specific Tags": "This page contains tags that are specific to an HTML 5 implementation.",
"WAI-ARIA": "A way to make Web content and Web applications more accessible to people with disabilities. It especially helps with dynamic content and advanced user interface controls developed with Ajax, HTML, JavaScript, and related technologies.",
"X-Frame-Options": "The X-Frame-Options HTTP response header can be used to indicate whether or not a browser should be allowed to render a page in a frame or iframe. Sites can use this to avoid clickjacking attacks, by ensuring that their content is not embedded into other sites.",
"Content Type Options": "Used to disable MIME-sniffing for a particular HTTP response.",
"Referrer Policy": "Requests made from a document, and for navigations away from that document are associated with a Referrer header. This policy determines in the browser should send a referrer or not.",
"Cross Origin Opener Policy": "COOP allows you to ensure a top-level document does not share a browsing context group with cross-origin documents.",
"Content Delivery Network": "This page contains links that give the impression that some of the site contents are stored on a content delivery network."
}
{
"whois.registro.br": {
"Domain Status": [
"published"
],
"Name Server": [
"dns1e.sp.gov.br",
"dns3e.sp.gov.br",
"dns2e.sp.gov.br",
"dns4e.sp.gov.br",
"dns5e.sp.gov.br"
],
"Domain Name": "sp.gov.br",
"web-whois": "http://www.dominio.sp.gov.br/",
"owner": "Cia Proc. de Dados do Estado de S Paulo - Prodesp",
"ownerid": "62.577.929/0001-35",
"responsible": "CSIRT-Grupo de Resposta � Incidentes",
"country": "BR",
"owner-c": "COGIN3",
"tech-c": "GEIPR",
"nsstat": "20250130 AA",
"nslastaa": "20250130",
"Created Date": "19950706 20240808 20081014",
"Updated Date": "20240822 20240808 20200429",
"nic-hdl-br": "COGIN3 GEIPR",
"person": "Coordenadoria de Gest�o INTRAGOV Gerencia Internet PRODESP",
"e-mail": "[email protected] [email protected]",
"text": [
"% Copyright (c) Nic.br",
"% The use of the data below is only permitted as described in",
"% full by the Use and Privacy Policy at https://registro.br/upp ,",
"% being prohibited its distribution, commercialization or",
"% reproduction, in particular, to use it for advertising or",
"% any similar purpose.",
"% 2025-02-01T02:50:25-03:00 - IP: 2605:4c40:40:6f64:0:ffc3:624c:1",
"% Security and mail abuse issues should also be addressed to",
"% cert.br, http://www.cert.br/ , respectivelly to [email protected]",
"% and [email protected]",
"%",
"% whois.registro.br accepts only direct match queries. Types",
"% of queries are: domain (.br), registrant (tax ID), ticket,",
"% provider, CIDR block, IP and ASN."
]
}
}
<!DOCTYPE html>
<html lang="pt">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="keywords" content="" />
<meta name="author" content="" />
<meta name="robots" content="index,Follow" />
<meta
name="description"
content="Poupatempo"
/>
<meta
property="og:title"
content="Poupatempo"
/>
<meta
property="og:description"
content="Poupatempo"
/>
<meta name="format-detection" content="telephone=no" />
<!-- FAVICONS ICON -->
<link rel="icon" href="/staticsfiles/faviconsp.ico" type="x-icon" />
<link rel="shortcut icon" type="x-icon" href="/staticsfiles/favicon.png" />
<!-- PAGE TITLE HERE -->
<title>Poupatempo</title>
<!-- MOBILE SPECIFIC -->
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!--[if lt IE 9]>
<script src="js/html5shiv.min.js"></script>
<script src="js/respond.min.js"></script>
<![endif]-->
<!-- Google Font: Raleway -->
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap"
rel="stylesheet"
/>
<!-- STYLESHEETS -->
<link rel="stylesheet" type="text/css" href="/staticsfiles/plugins/bootstrap/css/bootstrap.min.css" />
<link rel="stylesheet" type="text/css" href="/staticsfiles/plugins/fontawesome/css/all.min.css" />
<link rel="stylesheet" type="text/css" href="/staticsfiles/plugins/flaticon/flaticon.css "/>
<link rel="stylesheet" type="text/css" href="/staticsfiles/plugins/themify/themify-icons.css "/>
<link rel="stylesheet" type="text/css" href="/staticsfiles/plugins/owl-carousel/owl.carousel.css "/>
<link rel="stylesheet" type="text/css" href="/staticsfiles/css/style.css "/>
<link rel="stylesheet" href="/staticsfiles/libs/jquery-ui/css/jquery-ui.min.css" />
<link rel="stylesheet" href="/staticsfiles/libs/jquery-ui/css/jquery-ui.structure.min.css" />
</head>
<body id="bg">
<!-- header -->
<header class="site-header header">
<div class="top-bar">
<div class="container-fluid">
<div class="row d-flex justify-content-between">
<div class="dlab-topbar-left">
<div class="poupatempo"><a href="/"><img src="/staticsfiles/images/logo_poupatempo.png" /></a></div>
</div>
<div class="dlab-topbar-right topbar-social p-0">
<div class="logo_sp"><img src="/staticsfiles/images/Logo_SP.png" alt="Logo Governo do Estado de São Paulo" /></div>
</div>
</div>
</div>
</div>
<!-- main header -->
<div class="sticky-header main-bar-wraper navbar-expand-lg">
<div class="main-bar clearfi">
<div class="container-fluid clearfix">
<!-- nav toggle button -->
<button class="navbar-toggler collapsed navicon" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
<span></span>
<span></span>
<span></span>
</button>
<!-- main nav -->
<div class="header-nav navbar-collapse collapse" id="navbarNavDropdown">
<ul class="nav navbar-nav text-black">
</ul>
</div>
</div>
</div>
</div>
<!-- main header END -->
</header>
<!-- header END -->
<div class="page-content bg-white">
<div class="content-block">
<!-- Miolo area -->
<div class="section-full">
<section class="content">
<div class="section-full">
<div class="container content-inner">
<h1>Página não encontrada.</h1>
</div>
</div>
</section>
</div>
</div>
</div>
<!-- Miolo END -->
</div>
</div>
<!-- Footer -->
<footer class="site-footer footer-dark">
<div class="footer-top d-none">
<div class="container">
<div class="row">
<div class="col-lg-2 col-md-6 col-sm-6 wow fadeIn" data-wow-delay="0.2s">
<div class="widget border-0">
<h6 class="m-b20 text-white font-weight-300 text-uppercase">Categoria</h6>
<ul>
<li><a href="index.html">Texto de uma linha</a></li>
<li><a href="index.html">Textos de duas linhas com quebra de linas</a></li>
<li><a href="index.html">Texto de uma linha</a></li>
<li><a href="index.html">Textos de duas linhas com quebra de linas</a></li>
<li><a href="index.html">Texto de uma linha</a></li>
</ul>
</div>
</div>
<div class="col-lg-2 col-md-6 col-sm-6 wow fadeIn" data-wow-delay="0.2s">
<div class="widget border-0">
<h6 class="m-b20 text-white text-uppercase">Categoria</h6>
<ul>
<li><a href="index.html">Texto de uma linha</a></li>
<li><a href="index.html">Textos de duas linhas com quebra de linas</a></li>
<li><a href="index.html">Texto de uma linha</a></li>
<li><a href="index.html">Textos de duas linhas com quebra de linas</a></li>
<li><a href="index.html">Texto de uma linha</a></li>
</ul>
</div>
</div>
<div class="col-lg-2 col-md-6 col-sm-6 wow fadeIn" data-wow-delay="0.2s">
<div class="widget border-0">
<h6 class="m-b20 text-white text-uppercase">Categoria</h6>
<ul>
<li><a href="index.html">Texto de uma linha</a></li>
<li><a href="index.html">Textos de duas linhas com quebra de linas</a></li>
<li><a href="index.html">Texto de uma linha</a></li>
<li><a href="index.html">Textos de duas linhas com quebra de linas</a></li>
<li><a href="index.html">Texto de uma linha</a></li>
</ul>
</div>
</div>
<div class="col-lg-2 col-md-6 col-sm-6 wow fadeIn" data-wow-delay="0.2s">
<div class="widget border-0">
<h6 class="m-b20 text-white text-uppercase">Categoria</h6>
<ul>
<li><a href="index.html">Texto de uma linha</a></li>
<li><a href="index.html">Textos de duas linhas com quebra de linas</a></li>
<li><a href="index.html">Texto de uma linha</a></li>
<li><a href="index.html">Textos de duas linhas com quebra de linas</a></li>
<li><a href="index.html">Texto de uma linha</a></li>
</ul>
</div>
</div>
<div class="col-lg-2 col-md-6 col-sm-6 wow fadeIn" data-wow-delay="0.2s">
<div class="widget border-0">
<a href="#"><h6 class="m-b20 text-white text-uppercase">Ouvidoria</h6></a>
<a href="#"><h6 class="m-b20 text-white text-uppercase">Transparência</h6></a>
<a href="#"><h6 class="m-b20 text-white text-uppercase">SIC</h6></a>
</div>
</div>
</div>
</div>
</div>
<!-- footer bottom part -->
<div class="footer-bottom">
<div class="container">
<div class="row">
<div class="col-md-6 col-sm-6 text-center text-sm-left mb-2 "> <img src="/staticsfiles/images/Logo_SP.png" alt="Logo Governo do Estado de São Paulo" /></div>
<div class="col-md-6 col-sm-6 text-center text-sm-right ">
<ul class="list-inline m-a0">
<li><a href="#" class="site-button sharp" title="Acesse Facebook"><i class="fa-brands fa-facebook-f"></i></a></li>
<li><a href="#" class="site-button sharp" title="Acesse Google+"><i class="fa-brands fa-google-plus-g"></i></a></li>
<li><a href="#" class="site-button sharp" title="Acesse Linkedin"><i class="fa-brands fa-linkedin-in"></i></a></li>
<li><a href="#" class="site-button sharp" title="Acesse Instagram"><i class="fa-brands fa-instagram"></i></a></li>
<li><a href="#" class="site-button sharp" title="Acesse Twitter"><i class="fa-brands fa-twitter"></i></a></li>
</ul>
</div>
</div>
</div>
</div>
</footer>
<!-- Footer END-->
<!-- scroll top button -->
<button class="scroltop fa fa-chevron-up"></button>
<!-- JAVASCRIPT FILES ========================================= -->
<script src="/staticsfiles/js/jquery.1.11.3.min.js"></script>
<!--<script src="js/jquery.min.js"></script>--><!-- JQUERY.MIN JS -->
<script src="/staticsfiles/plugins/bootstrap/js/popper.min.js"></script>
<!-- BOOTSTRAP.MIN JS -->
<script src="/staticsfiles/plugins/bootstrap/js/bootstrap.min.js"></script>
<!-- BOOTSTRAP.MIN JS -->
<script src="/staticsfiles/plugins/owl-carousel/owl.carousel.js"></script><!-- OWL SLIDER -->
<!--<script src="js/custom.js"></script>--><!-- CUSTOM FUCTIONS -->
<script src="/staticsfiles/js/dz.carousel.js"></script><!-- SORTCODE FUCTIONS -->
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<script>
$(document).ready(function() {
var el = $('.owl-carousel_categoria');
var carousel;
var carouselOptions = {
margin: 12,
nav: false,
dots: true,
slideBy: 'page',
responsive: {
0: {
items: 1,
rows: 2 //custom option not used by Owl Carousel, but used by the algorithm below
},
768: {
items: 2,
rows: 3 //custom option not used by Owl Carousel, but used by the algorithm below
},
991: {
items: 6,
rows: 2 //custom option not used by Owl Carousel, but used by the algorithm below
}
}
};
//Taken from Owl Carousel so we calculate width the same way
var viewport = function() {
var width;
if (carouselOptions.responsiveBaseElement && carouselOptions.responsiveBaseElement !== window) {
width = $(carouselOptions.responsiveBaseElement).width();
} else if (window.innerWidth) {
width = window.innerWidth;
} else if (document.documentElement && document.documentElement.clientWidth) {
width = document.documentElement.clientWidth;
} else {
console.warn('Can not detect viewport width.');
}
return width;
};
var severalRows = false;
var orderedBreakpoints = [];
for (var breakpoint in carouselOptions.responsive) {
if (carouselOptions.responsive[breakpoint].rows > 1) {
severalRows = true;
}
orderedBreakpoints.push(parseInt(breakpoint));
}
//Custom logic is active if carousel is set up to have more than one row for some given window width
if (severalRows) {
orderedBreakpoints.sort(function (a, b) {
return b - a;
});
var slides = el.find('[data-slide-index]');
var slidesNb = slides.length;
if (slidesNb > 0) {
var rowsNb;
var previousRowsNb = undefined;
var colsNb;
var previousColsNb = undefined;
//Calculates number of rows and cols based on current window width
var updateRowsColsNb = function () {
var width = viewport();
for (var i = 0; i < orderedBreakpoints.length; i++) {
var breakpoint = orderedBreakpoints[i];
if (width >= breakpoint || i == (orderedBreakpoints.length - 1)) {
var breakpointSettings = carouselOptions.responsive['' + breakpoint];
rowsNb = breakpointSettings.rows;
colsNb = breakpointSettings.items;
break;
}
}
};
var updateCarousel = function () {
updateRowsColsNb();
//Carousel is recalculated if and only if a change in number of columns/rows is requested
if (rowsNb != previousRowsNb || colsNb != previousColsNb) {
var reInit = false;
if (carousel) {
//Destroy existing carousel if any, and set html markup back to its initial state
carousel.trigger('destroy.owl.carousel');
carousel = undefined;
slides = el.find('[data-slide-index]').detach().appendTo(el);
el.find('.fake-col-wrapper').remove();
reInit = true;
}
//This is the only real 'smart' part of the algorithm
//First calculate the number of needed columns for the whole carousel
var perPage = rowsNb * colsNb;
var pageIndex = Math.floor(slidesNb / perPage);
var fakeColsNb = pageIndex * colsNb + (slidesNb >= (pageIndex * perPage + colsNb) ? colsNb : (slidesNb % colsNb));
//Then populate with needed html markup
var count = 0;
for (var i = 0; i < fakeColsNb; i++) {
//For each column, create a new wrapper div
var fakeCol = $('<div class="fake-col-wrapper"></div>').appendTo(el);
for (var j = 0; j < rowsNb; j++) {
//For each row in said column, calculate which slide should be present
var index = Math.floor(count / perPage) * perPage + (i % colsNb) + j * colsNb;
if (index < slidesNb) {
//If said slide exists, move it under wrapper div
slides.filter('[data-slide-index=' + index + ']').detach().appendTo(fakeCol);
}
count++;
}
}
//end of 'smart' part
previousRowsNb = rowsNb;
previousColsNb = colsNb;
if (reInit) {
//re-init carousel with new markup
carousel = el.owlCarousel(carouselOptions);
}
}
};
//Trigger possible update when window size changes
$(window).on('resize', updateCarousel);
//We need to execute the algorithm once before first init in any case
updateCarousel();
}
}
//init
carousel = el.owlCarousel(carouselOptions);
});
</script>
<script>
function oidcSignOut(){
$("#logoutIconGovBr").on("click", function(){
$("#logoutButtonGovBr").click();
});
}
</script>
</body>
</html>
{
"status": 200,
"statusText": "",
"headers": {
"connection": "keep-alive",
"content-length": "42061",
"content-type": "text/html; charset=utf-8",
"cross-origin-opener-policy": "same-origin",
"date": "Sat, 01 Feb 2025 05:50:27 GMT",
"referrer-policy": "same-origin, strict-origin-when-cross-origin",
"server": "nginx/1.22.1",
"vary": "Cookie",
"x-content-type-options": "nosniff",
"x-frame-options": "DENY",
"set-cookie": "csrftoken=FsscQwBJxzsi1F1npKgP4dWuF6tvVeCE; expires=Sat, 31 Jan 2026 05:50:27 GMT; Max-Age=31449600; Path=/; SameSite=Lax; Secure"
}
}
{
"error": false,
"result": {
"success": true,
"ogType": "Website",
"ogTitle": "Poupatempo",
"ogDescription": "Poupatempo",
"ogUrl": "https://poupatempo.sp.gov.br",
"ogSiteName": "Poupatempo",
"ogImage": [
{
"height": "512",
"type": "image/jpg",
"url": "https://servicos.sp.gov.br/static/images/thumbnail.png"
}
],
"ogLocale": "pt",
"favicon": "/staticsfiles/favicon.png",
"charset": "UTF-8",
"requestUrl": "https://poupatempo.sp.gov.br"
},
"response": {}
}