Promoção
Cartão Carrefour
Hora da virada
Ganhadores do sorteio vale-compras
Subtítulo
Ganhador Prêmio
Fernando R$ 100
José R$ 11
João R$ 55,90
Pedro R$ 111111,09
Paulo R$ 123
Thiago R$ 555
Maria R$ 324,03
Sorteio Final
Você pode ganhar números da sorte de várias formas!
Eclair de oliveira
  • Prêmio R$ 50.000,00
José da Silva
  • Prêmio R$ 50.000,59
Promoções encerradas
Você pode ganhar números da sorte de várias formas!
Um erro ocorreu enquanto processava o modelo.
Can't convert this string to number: "public"
The blamed expression:
==> linkPage?split("@")?last?number  [in template "20101#20128#616062" at line 40, column 52]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign groupID = linkPage?split("@")...  [in template "20101#20128#616062" at line 40, column 33]
----
1<#assign layoutLocalService = staticUtil["com.liferay.portal.kernel.service.LayoutLocalServiceUtil"]> 
2 
3<div class="carousel-seguros top-content-cl position-relative"> 
4 
5    <#if entries?has_content> 
6        <div class="carousel-container"> 
7            <div class="container"> 
8 
9                <div id="carousel-other-secures" class="carousel slide" data-ride="carousel" > 
10                    <#if (entries?size > 3) > 
11                        <a class="carousel-control-prev" style="width: 6%" href="#carousel-other-secures" role="button" data-slide="prev"> 
12                            <img src="/o/carrefour-theme/images/seta-esquerda-carousel.png" />         
13                            <span class="sr-only">Previous</span> 
14                        </a> 
15                        <a class="carousel-control-next" style="width: 6%" href="#carousel-other-secures" role="button" data-slide="next"> 
16                            <img src="/o/carrefour-theme/images/seta-direita-carousel.png" />         
17                            <span class="sr-only">Next</span> 
18                        </a> 
19                    </#if> 
20                    <div class="carousel-inner row w-100 mx-auto" role="listbox">                         
21                         
22                        <#list entries as curEntry> 
23                             
24                            <#assign assetRenderer = curEntry.getAssetRenderer() /> 
25                            <#assign docXml = saxReaderUtil.read(assetRenderer.getArticle().getContent()) /> 
26                             
27                            <#assign rootElement = docXml.getRootElement()> 
28                            <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='imagem']")> 
29                            <#assign imgNews = xPathSelector.selectSingleNode(rootElement).getStringValue()> 
30                            <#assign imgJson = jsonFactoryUtil.createJSONObject(imgNews)> 
31                            <#assign imgUrl = "/documents/"+ imgJson.groupId +"/" +imgJson.resourcePrimKey +"/"+ imgJson.name +"/"+imgJson.uuid > 
32 
33                            <#assign tit = docXml.valueOf("//dynamic-element[@name='titulo']/dynamic-content/text()") /> 
34                            <#assign desc = docXml.valueOf("//dynamic-element[@name='descricao']/dynamic-content/text()") /> 
35                             
36                            <#assign linkPage = docXml.valueOf("//dynamic-element[@name='linkPage']/dynamic-content/text()") /> 
37                             
38                            <#if linkPage?has_content> 
39                                <#assign layoutID = linkPage?split("@")?first?number /> 
40                                <#assign groupID = linkPage?split("@")?last?number />         
41                                <#assign layoutSeguro = layoutLocalService.getLayout(groupID, false, layoutID) /> 
42                                <#assign fullURL = themeDisplay.getPortalURL() + layoutSeguro.getFriendlyURL() /> 
43                            <#else> 
44                                <#assign fullURL = themeDisplay.getPortalURL() /> 
45                            </#if> 
46                             
47                            <#assign active = "" /> 
48                             
49                            <#if curEntry?counter==1> 
50                                <#assign active = "active" /> 
51                            </#if> 
52 
53                            <div class="carousel-item col-12 col-sm-6 col-md-4 col-lg-4 p-0 ${active}"> 
54                                <div class="csf-carousel-card mb-2">                         
55                                    <img class="csf-carousel-card-img" src="${imgUrl}" alt=""> 
56                                    <div class="card-body"> 
57                                        <a href="${fullURL}" class="csf-carousel-card-title csf-color-blue-dark">${tit}</a> 
58                                        <p class="csf-carousel-card-text csf-color-gray-darkest">${desc}</p> 
59                                        <a href="${fullURL}" class="csf-carousel-card-link">SAIBA MAIS</a> 
60                                        <img class="crs-arrow" src="/o/carrefour-theme/icons/icon_rigth_arrow.svg" /> 
61                                    </div>                         
62                                </div> 
63                            </div> 
64 
65                        </#list> 
66                    </div> 
67                     
68                    <ol class="carousel-indicators" style="display: none;">                         
69                        <#list entries as curEntry> 
70                            <#assign active = "" />    
71                             
72                            <#if curEntry?counter==1> 
73                                <li data-target="#carousel-other-secures" data-slide-to="${curEntry?index}" class="active"></li> 
74                            <#elseif curEntry?has_next > 
75                                <li data-target="#carousel-other-secures" data-slide-to="${curEntry?index}" class="middle"></li> 
76                            <#else> 
77                                <li data-target="#carousel-other-secures" data-slide-to="${curEntry?index}" class=""></li> 
78                            </#if> 
79                        </#list>  
80                    </ol> 
81 
82 
83                </div>     
84 
85            </div> 
86         
87        </div> 
88 
89    </#if> 
90     
91</div> 
92 
93<style> 
94 
95.top-content-cl { 
96    z-index: 1; 
97    height: 720px; 
98
99 
100.top-content-cl .csf-carousel-card-link .lexicon-icon { 
101    height: 0.8em; 
102    margin-top: -2px; 
103    width: 2em; 
104
105 
106.top-content-cl .carousel-container { 
107    position: relative;  
108    z-index: -1; 
109
110 
111.top-content-cl .carousel-indicators  { 
112    bottom: auto; 
113    position: relative;      
114    margin: 0; 
115    width: 50%;     
116
117 
118.top-content-cl .carousel-indicators li{ 
119    width: 15px; 
120    height: 15px; 
121    border-radius: 50%; 
122    background-color: #FFF; 
123    float:left; 
124    cursor: pointer; 
125    margin-left: 11px; 
126    border: 1px solid #0970E6; 
127
128 
129.top-content-cl .carousel-indicators .active{ 
130    background-color: #0970E6; 
131    border: none; 
132
133 
134.top-content-cl .carousel {     
135    text-align: center; 
136    text-align: -webkit-center; 
137    text-align: -moz-center; 
138    text-align: -ms-center; 
139    text-align: -o-center;     
140     
141
142 
143.top-content-cl img.crs-arrow { 
144  width: 20px; 
145  height: 20px; 
146  margin-left: 14px; 
147
148 
149.top-content-cl .card-body { 
150    text-align: center; 
151    padding-top: 32px; 
152
153 
154.top-content-cl .csf-carousel-title {     
155    font-family: Ubuntu; 
156    font-size: 40px; 
157    font-weight: bold; 
158    line-height: 46px; 
159    margin-bottom: 56px; 
160
161 
162.top-content-cl .csf-carousel-card { 
163    box-sizing: border-box; 
164    height: 492px;     
165    border: 2px solid #EFF4F8; 
166    background-color: #FFFFFF; 
167    box-shadow: 4px 8px 20px 0 #F9F9F9; 
168    margin: 0 20px; 
169
170 
171.top-content-cl .csf-carousel-card-img { 
172    height: 193px; 
173    width: 100%; 
174
175 
176.top-content-cl .csf-carousel-card-title { 
177    height: 24px; 
178    font-family: Ubuntu; 
179    font-size: 20px; 
180    font-weight: bold; 
181    line-height: 24px; 
182    margin-bottom: 22px; 
183
184 
185.top-content-cl .csf-carousel-card-text { 
186    height: 72px; 
187    font-family: "Open Sans"; 
188    font-size: 18px; 
189    line-height: 24px; 
190    margin: 32px 0; 
191    overflow: hidden; 
192
193 
194.top-content-cl .csf-carousel-card-link { 
195    height: 20px; 
196    font-family: Ubuntu; 
197    font-size: 16px; 
198    font-weight: bold; 
199    line-height: 16px; 
200
201 
202@media (max-width: 576px) { 
203     
204    .top-content-cl .top-content-cl { 
205        height: 652px; 
206
207 
208    .top-content-cl .carousel-indicators{ 
209        display: inline-flex !important; 
210        width: auto; 
211        padding-top: 24px; 
212
213    .top-content-cl .carousel-control-prev{ 
214        display: none !important; 
215
216    .top-content-cl .carousel-control-next{ 
217        display: none !important; 
218
219    .top-content-cl .carousel-container { 
220        background-color: #FFF;          
221        z-index: 1; 
222    }     
223    .top-content-cl .csf-carousel-title { 
224        height: 36px; 
225        width: 313px; 
226        color: #002651; 
227        font-family: Ubuntu; 
228        font-size: 32px; 
229        font-weight: bold; 
230        line-height: 37px; 
231        text-align: center; 
232        margin-bottom: 40px; 
233
234     
235    .top-content-cl .csf-carousel-card { 
236        height: 456px; 
237
238     
239    .top-content-cl .csf-carousel-card-text { 
240        height: 60px; 
241        font-size: 16px; 
242        line-height: 20px; 
243        margin: 16px 0 40px 0; 
244
245     
246    .carousel-seguros .middle { 
247        display: none; 
248
249     
250    .carousel-seguros .middle.active { 
251        display: block; 
252
253     
254
255 
256/* 
257    code by Iatek LLC 2018 - CC 2.0 License - Attribution required 
258    code customized by Azmind.com 
259*/ 
260@media (min-width: 768px) and (max-width: 991px) { 
261    /* Show 4th slide on md if col-md-4*/ 
262    .top-content-cl .carousel-inner .active.col-md-4.carousel-item + .carousel-item + .carousel-item + .carousel-item { 
263        position: absolute; 
264        top: 0; 
265        right: -33.3333%;  /*change this with javascript in the future*/ 
266        z-index: -1; 
267        display: block; 
268        visibility: visible; 
269
270
271@media (min-width: 576px) and (max-width: 768px) { 
272    /* Show 3rd slide on sm if col-sm-6*/ 
273    .top-content-cl .carousel-inner .active.col-sm-6.carousel-item + .carousel-item + .carousel-item { 
274        position: absolute; 
275        top: 0; 
276        right: -50%;  /*change this with javascript in the future*/ 
277        z-index: -1; 
278        display: block; 
279        visibility: visible; 
280
281
282@media (min-width: 576px) { 
283    .top-content-cl .carousel-item { 
284        margin-right: 0; 
285
286    /* show 2 items */ 
287    .top-content-cl .carousel-inner .active + .carousel-item { 
288        display: block; 
289
290    .top-content-cl .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left), 
291    .top-content-cl .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item { 
292        transition: none; 
293
294    .top-content-cl .carousel-inner .carousel-item-next { 
295        position: relative; 
296        transform: translate3d(0, 0, 0); 
297
298    /* left or forward direction */ 
299    .top-content-cl .active.carousel-item-left + .carousel-item-next.carousel-item-left, 
300    .top-content-cl .carousel-item-next.carousel-item-left + .carousel-item, 
301    .top-content-cl .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item { 
302        position: relative; 
303        transform: translate3d(-100%, 0, 0); 
304        visibility: visible; 
305
306    /* farthest right hidden item must be also positioned for animations */ 
307    .top-content-cl .top-content-cl .carousel-inner .carousel-item-prev.carousel-item-right { 
308        position: absolute; 
309        top: 0; 
310        left: 0; 
311        z-index: -1; 
312        display: block; 
313        visibility: visible; 
314
315    /* right or prev direction */ 
316    .top-content-cl .active.carousel-item-right + .carousel-item-prev.carousel-item-right, 
317    .top-content-cl .carousel-item-prev.carousel-item-right + .carousel-item, 
318    .top-content-cl .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item { 
319        position: relative; 
320        transform: translate3d(100%, 0, 0); 
321        visibility: visible; 
322        display: block; 
323        visibility: visible; 
324
325
326/* MD */ 
327@media (min-width: 768px) { 
328    /* show 3rd of 3 item slide */ 
329    .top-content-cl .carousel-inner .active + .carousel-item + .carousel-item { 
330        display: block; 
331
332    .top-content-cl .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item { 
333        transition: none; 
334
335    .top-content-cl .carousel-inner .carousel-item-next { 
336        position: relative; 
337        transform: translate3d(0, 0, 0); 
338
339    /* left or forward direction */ 
340    .top-content-cl .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item { 
341        position: relative; 
342        transform: translate3d(-100%, 0, 0); 
343        visibility: visible; 
344
345    /* right or prev direction */ 
346    .top-content-cl .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item { 
347        position: relative; 
348        transform: translate3d(100%, 0, 0); 
349        visibility: visible; 
350        display: block; 
351        visibility: visible; 
352
353
354 
355/* LG */ 
356@media (min-width: 991px) { 
357    /* show 4th item */ 
358    .top-content-cl .carousel-inner .active + .carousel-item + .carousel-item { 
359        display: block; 
360
361    .top-content-cl .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item { 
362        transition: none; 
363
364 
365    /* Show 4th slide on lg if col-lg-4 */ 
366    .top-content-cl .carousel-inner .active.col-lg-4.carousel-item + .carousel-item + .carousel-item + .carousel-item { 
367        position: absolute; 
368        top: 0; 
369        right: -33.3333%;  /*change this with javascript in the future*/ 
370        z-index: 1; 
371        display: block; 
372        visibility: visible; 
373
374     
375    /* left or forward direction */ 
376    .top-content-cl .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item { 
377        position: relative; 
378        transform: translate3d(-100%, 0, 0); 
379        visibility: visible; 
380
381    /* right or prev direction //t - previous slide direction last item animation fix */ 
382    .top-content-cl .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item { 
383        position: relative; 
384        transform: translate3d(100%, 0, 0); 
385        visibility: visible; 
386        display: block; 
387        visibility: visible; 
388
389
390 
391</style> 
392 
393<script> 
394$(document).ready(function(){ 
395    $("#carousel-other-secures").parents("div.container.py-3").removeClass("py-3").addClass("p-0"); 
396    $("#carousel-other-secures").parents("div.col-md-12").css({"padding": "0"}); 
397 
398    if($('#carousel-other-secures .carousel .carousel-item').length > 3) { 
399        $('#carousel-other-secures .carousel').attr("data-ride", "carousel") 
400        $('#carousel-other-secures .carousel').carousel()   
401
402 
403}); 
404 
405/* 
406    Carousel 
407*/ 
408$('#carousel-other-secures').on('slide.bs.carousel', function (e) { 
409    /* 
410        CC 2.0 License Iatek LLC 2018 - Attribution required 
411    */ 
412    var $e = $(e.relatedTarget); 
413    var idx = $e.index(); 
414    var itemsPerSlide = $('#carousel-other-secures .carousel-item:visible').length; 
415    var totalItems = $('#carousel-other-secures .carousel-item').length; 
416  
417    if (idx >= totalItems-(itemsPerSlide-1)) { 
418        var it = itemsPerSlide - (totalItems - idx); 
419        for (var i=0; i<it; i++) { 
420            // append slides to end 
421            if (e.direction=="left") { 
422                $('#carousel-other-secures .carousel-item').eq(i).appendTo('.carousel-inner'); 
423
424            else { 
425                $('#carousel-other-secures .carousel-item').eq(0).appendTo('.carousel-inner'); 
426
427
428
429}); 
430 
431</script>