Ziraldo em cartaz - Livro - Editora Senac São Paulo
Ziraldo em cartaz
O livro aborda uma das vertentes menos conhecidas do trabalho de Ziraldo, a do design de cartazes. Num trabalho emocionante, o autor Ricardo Leite analisa alguns dos mais de 400 cartazes criados por Ziraldo ao longo das últimas cinco décadas, traçando um valioso panorama da cultura brasileira.
Livro Indisponível
Ziraldo em cartaz
O livro aborda uma das vertentes menos conhecidas do trabalho de Ziraldo, a do design de cartazes. Num trabalho emocionante, o autor Ricardo Leite analisa alguns dos mais de 400 cartazes criados por Ziraldo ao longo das últimas cinco décadas, traçando um valioso panorama da cultura brasileira.
Quantidade em
estoque:
0
-
Boleto Bancário
Parcela única, à vista
-
Pix
Parcela única, à vista
-
Cartão de Crédito
Parcelado em até
com cartão Mastercard, Visa ou Elo.
Ziraldo em cartaz
Não sabe seu CEP? Consulte aqui
-
Cartão de Crédito
'
Parcelamento em até 3 vezes sem juros com Mastercard, Visa ou Elo.
-
Cartão de Crédito
Parcelado em até
com cartão Mastercard, Visa ou Elo.
Ficha Técnica:
ISBN: 9788577560578
Edição: 1.a EDIÇÃO
Área: Design, Artes e Arquitetura
Número de páginas: 292
Idioma: Português
Data de lançamento: 15/09/2009
Tamanho: 22 x 30
Editora(s): SENAC RIO DE JANEIRO
O livro aborda uma das vertentes menos conhecidas do trabalho de Ziraldo, a do design de cartazes. Num trabalho emocionante, o autor Ricardo Leite analisa alguns dos mais de 400 cartazes criados por Ziraldo ao longo das últimas cinco décadas, traçando um valioso panorama da cultura brasileira. Ziraldo em cartaz nos lembra que o verdadeiro sentido de um trabalho artístico é seu efeito para a vida das pessoas. Ao apreciar seus cartazes, qualquer brasileiro terá a certeza de que sua vida foi muito mais afetada pela arte de Ziraldo do que poderia supor.
21233-sku
-
O livro aborda uma das vertentes menos conhecidas do trabalho de Ziraldo, a do design de cartazes. Num trabalho emocionante, o autor Ricardo Leite analisa alguns dos mais de 400 cartazes criados por Ziraldo ao longo das últimas cinco décadas, traçando um valioso panorama da cultura brasileira. Ziraldo em cartaz nos lembra que o verdadeiro sentido de um trabalho artístico é seu efeito para a vida das pessoas. Ao apreciar seus cartazes, qualquer brasileiro terá a certeza de que sua vida foi muito mais afetada pela arte de Ziraldo do que poderia supor.
Ficha Técnica:
ISBN: 9788577560578
Edição: 1.a EDIÇÃO
Área: Design, Artes e Arquitetura
Número de páginas: 292
Idioma: Português
Data de lançamento: 15/09/2009
Tamanho: 22 x 30
Editora(s): SENAC RIO DE JANEIRO
Em breve entraremos em contato!
|
The following has evaluated to null or missing: ==> media.getTitle() [in template "20102#20129#43698964" at line 24, column 64] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #if media.getURL()?has_content && med... [in template "20102#20129#43698964" at line 24, column 29] ----
1<#setting locale="pt_BR">
2
3<#assign assetentry = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
4<#assign assetCategoryRel = serviceLocator.findService("com.liferay.asset.entry.rel.service.AssetEntryAssetCategoryRelLocalService") />
5<#assign assetCategory = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
6<#assign contentHelper = serviceLocator.findService("com.liferay.commerce.product.content.util.CPContentHelper") />
7<#assign CPDefinitionHelper = serviceLocator.findService("com.liferay.commerce.product.util.CPDefinitionHelper") />
8<#assign friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")>
9
10<#assign userLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService")>
11<#assign warehouseService = serviceLocator.findService("com.liferay.commerce.inventory.service.CommerceInventoryWarehouseItemLocalService") />
12<#assign companyId = userLocalService.getUser(themeDisplay.getUserId()).getCompanyId() />
13<#assign productService = serviceLocator.findService("br.senac.sp.editora.services.service.ProductService") />
14
15<div class="slider4">
16 <#if entries?has_content>
17 <#list entries as curCPCatalogEntry>
18 <#if curCPCatalogEntry?counter < 12>
19 <#assign friendlyURL = CPDefinitionHelper.getFriendlyURL(curCPCatalogEntry.getCPDefinitionId(),themeDisplay)>
20 <div class="imgContainerEspecialCarrossel4">
21 <a href="${friendlyURL}">
22 <#assign cpMedia = contentHelper.getImages(curCPCatalogEntry.getCPDefinitionId(), themeDisplay) />
23 <#list cpMedia as media>
24 <#if media.getURL()?has_content && media.getTitle()?contains("small")>
25 <img src="${media.getURL()}"/>
26 <#break>
27 </#if>
28 </#list>
29 </a>
30 <div class="informacoesProdutoCarrossel4">
31 <a href="${friendlyURL}">
32 <div class="infoSuperiores">
33 <div class="tituloEspecialCarrossel4">
34 ${curCPCatalogEntry.name?truncate(60, '...')}
35 </div>
36 <div class="autorEspecialCarrossel4">
37 <#list contentHelper.getCategorizedCPDefinitionSpecificationOptionValues(curCPCatalogEntry.getCPDefinitionId(),43620166) as specs>
38 <#if specs.CPSpecificationOptionId == 43594743>
39 <#assign autor = specs.getValueCurrentValue() />
40 ${autor?truncate(45, '...')}
41 <#break>
42 </#if>
43 </#list>
44 </div>
45 </div>
46 </a>
47 <div class="valorCarrossel4">
48 <@liferay_commerce_ui["price"]
49 CPCatalogEntry=curCPCatalogEntry
50 />
51 </div>
52 <div class="espiarCarrossel4">
53 <#if productService.isAvailable( curCPCatalogEntry.getCPDefinitionId() ) >
54 <span class="comprarCarrossel4" data-sku="${curCPCatalogEntry.CPSkus[0].getSku()}">
55 <#assign PortalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] />
56 <#assign id = "add-to-cart" + PortalUtil.generateRandomKey(request, "add-to-cart") + "" + curCPCatalogEntry.CPSkus[0].getSku() />
57
58 <#list curCPCatalogEntry.getCPSkus() as skus>
59 <@liferay_commerce_ui["add-to-cart"]
60 CPInstanceId=skus.getCPInstanceId()
61 id=id
62 />
63 </#list>
64
65
66
67 </span>
68 <#else>
69 <span class="comprarCarrossel4">
70 <button class="btnIndisponivelEspecialCarrossel4" disabled>Livro Indisponível</button>
71 </span>
72 </#if>
73 </div>
74 </div>
75 </div>
76 <#elseif curCPCatalogEntry?counter == 12>
77 <!-- Ver Mais -->
78 <div class="customCart">
79 <#assign asset = assetentry.getEntry('com.liferay.commerce.product.model.CPDefinition',entries[0].getCPDefinitionId())/>
80 <#assign relateds = assetCategoryRel.getAssetEntryAssetCategoryRelsByAssetEntryId(asset.getEntryId())/>
81 <#if (currentURL?contains("catalogo?"))>
82 <#assign category = assetCategory.getAssetCategory(relateds[0].assetCategoryId)/>
83 <#else>
84 <#if relateds?has_content>
85 <#assign category = assetCategory.getAssetCategory(relateds[1].assetCategoryId)/>
86 </#if>
87 </#if>
88
89 <#if category?has_content>
90 <!-- classId de Category -->
91 <#assign friendlyURL = friendlyURLEntryLocalService.getMainFriendlyURLEntry(20013, category.categoryId)>
92 <#else>
93 <#assign friendlyURL = "">
94 </#if>
95 <div class="verMaisCard">
96 <div class="verMaisCardContent">
97 <i class="fas fa-books fa-2x"></i>
98 <div>
99 <div class="background-left2"><i class="fas fa-circle circulo auxCirc" aria-hidden="true"></i> </div>
100 </div>
101 <span class="text">Quer mais livros dessa área?</span>
102 <span class="ancora">
103 <#if friendlyURL?has_content>
104 <#assign categoryUrl = themeDisplay.getURLPortal() + '/categoria/' + friendlyURL.getUrlTitle(locale)/>
105 <a class="ancora-aux" href="${categoryUrl}">Confira todos</a></a>
106 </#if>
107 <!-- -->
108 <#assign entryName = entry.name?lower_case>
109 <#assign entryNameFormatted = entryName?replace(' ', '-')>
110 </span>
111 <div>
112 <div class="background-right2"> <i class="fas fa-circle circulo auxCirc" aria-hidden="true"></i></div>
113 </div>
114 </div>
115 </div>
116 </div>
117 <#break>
118 </#if>
119 </#list>
120 </#if>
121</div>
122
123<style>
124
125.comprarCarrossel4 {
126 margin-top: 0px;
127}
128
129.comprarCarrossel4 div.form-group {
130 display: none;
131}
132 .slider4 {
133 display: none;
134 }
135 .informacoesProdutoCarrossel4 span.commerce-discount {
136 display: none;
137 }
138
139 .comprarCarrossel4 .add-to-cart-quantity-marker.active {
140 opacity: 0;
141 display: none;
142 }
143
144 .comprarCarrossel4 form.quantity-selector {
145 display: none;
146 }
147
148 .comprarCarrossel4 .add-to-cart button.btn-add-to-cart{
149 background-color: #5ACC75;
150 border-radius: 4px;
151 width: 206px;
152 padding: 1px;
153 justify-content: center;
154 padding-left: 13%;
155 }
156
157 .comprarCarrossel4 span.price-value-final {
158 color: #D2691E !important;
159 }
160
161 .comprarCarrossel4 .btnIndisponivelEspecialCarrossel4 {
162 margin-top: 0.75rem !important;
163 }
164
165 .comprarCarrossel4 .add-to-cart button.btn-add-to-cart{
166 background-color: #5ACC75 !important;
167 }
168
169 .informacoesProdutoCarrossel4 .product-price {
170 font: normal normal bold 16px/17px Montserrat;
171 }
172
173 .slick-dots {
174 z-index: 2;
175 }
176
177 @media (max-width: 1200px) {
178 .slick-dots {
179 width: 100vw !important;
180 }
181 }
182
183 @media (min-width: 1023px) {
184 .slick-dotted.slick-slider {
185
186 }
187 .slider4 {
188 width: 1093px !important;
189 }
190 }
191
192 @media (max-width: 813px) {
193 .divEspiarCarrossel4 {
194 margin-top: 30px !important;
195 }
196
197
198 .divValorCarrossel4 {
199 margin-top: 15px !important;
200 }
201 }
202
203 @media (max-width: 768px) {
204 .slider2 .next-arrow {
205 right: 18px;
206 }
207
208 .slider2 .prev-arrow {
209 left: 18px;
210 }
211
212 .slider2 .slide-arrow .fa {
213 font-size: 22px;
214 font-weight: 400;
215 }
216
217 .slider4 .valorCarrossel4 {
218 margin-top: 5px;
219 }
220
221 .slider4 .espiarCarrossel4 {
222 position: relative;
223 top: -10px;
224 }
225
226 .valorCarrossel4 .price:not(.compact) .price-value {
227 font: normal 600 18px/17px Montserrat !important;
228 }
229 .valorCarrossel4 {
230 position: relative;
231 z-index: 9999;
232 display: flex;
233 padding-top: 25px;
234 align-items: flex-end;
235 }
236 .valorCarrossel4 .price-value {
237 margin-left: 0!important;
238 }
239 .comprarCarrossel4 .btn-add-to-cart {
240 margin: 0 !important;
241 padding-top: 2px !important;
242 }
243 .comprarCarrossel4 .btn-add-to-cart::before {
244 font-size: 16px;
245 }
246
247 .valorCarrossel4:not(.slider4semextracard .valorCarrossel4) {
248 margin-top: 0!important;
249 padding-top: 0!important;
250 }
251 .slider4 .informacoesProdutoCarrossel4:not(.slider4semextracard) {
252 top: unset;
253 bottom: 4%;
254 }
255
256 }
257
258 @media (max-width: 600px) {
259 .comprarCarrossel4 button.btn.btn-primary {
260 padding-left: 1px;
261 height: 30px;
262 }
263
264 .btn-add-to-cart-inline::before {
265 font-size: 14px;
266 width: 100%;
267 text-align: center;
268 display: block;
269 }
270 }
271
272 .slider4:not(.slider4semextracard) .informacoesProdutoCarrossel4 > a .divValorCarrossel4 {
273 display: flex;
274 align-items: flex-end;
275 }
276
277 .slider4:not(.slider4semextracard) .informacoesProdutoCarrossel4 > a .divValorCarrossel4 .price {
278 order: 1;
279 margin-top: 0!important;
280 margin-right: 2px;
281 }
282
283 .slider4:not(.slider4semextracard) .informacoesProdutoCarrossel4 > a .divValorCarrossel4 .parceladoCarrossel4 {
284 order: 2;
285 }
286
287 .slider4:not(.slider4semextracard) .informacoesProdutoCarrossel4 > a .divValorCarrossel4 .parceladoCarrossel4 + .price {
288 margin-right: 5px;
289 }
290
291 .slider4:not(.slider4semextracard) .informacoesProdutoCarrossel4 > a .divValorCarrossel4 .product-price {
292 order: 3;
293 margin-top: 0;
294 }
295
296 @media (max-width: 414px){
297 .slider4 {
298 width: 100vw !important;
299 /* margin-right: 0; */
300 margin-right: 20px;
301 margin-left: 20px;
302 }
303 }
304</style>
305
306<script>
307 setTimeout(function(){
308 $(document).ready(function() {
309 $('.slider4').slick({
310 arrows: true,
311 slidesToShow: 4,
312 slidesToScroll: 4,
313 dots:true,
314 infinite: false,
315 prevArrow: '<a href="#" class="slide-arrow prev-arrow"><i class="fa fa-chevron-left gray"></i></a>',
316 nextArrow: '<a href="#" class="slide-arrow next-arrow"><i class="fa fa-chevron-right gray"></i></a>',
317 speed: 1000,
318 index: 2,
319 lazyLoad: 'ondemand',
320 focusOnSelect:false,
321 accessibility:false,
322 adaptiveHeight:false,
323 autoplay:false,
324 responsive: [{
325 breakpoint: 1200,
326 settings: {
327 slidesToShow: 4,
328 slidesToScroll: 4,
329 variableWidth: true,
330 infinite: false,
331 centerMode: false,
332 dots:true,
333 arrows: true
334 }
335 }, {
336 breakpoint: 768,
337 settings: {
338 slidesToShow: 1,
339 slidesToScroll: 1,
340 variableWidth: true,
341 infinite: false,
342 centerPadding: 0,
343 centerMode: false,
344 dots:false,
345 arrows: true
346 }
347 }]
348 });
349
350 sendViewItemList([<#list entries as curCPCatalogEntry>${curCPCatalogEntry.getCPDefinitionId()},</#list>])
351 });
352
353 const slider4 = document.getElementsByClassName("slider4");
354 for (let i = 0; i < slider4.length; i++) {
355 slider4[i].style.display ='block';
356 }
357
358 if (typeof promoPrice !== 'undefined') {
359 promoPrice = document.getElementsByClassName("price");
360 }
361 else {
362 promoPrice = document.getElementsByClassName("price");
363 }
364
365 for (let i = 0; i < document.getElementsByClassName("price").length; i++) {
366 let carrossel = document.getElementsByClassName("price");
367 if(carrossel[i].children.length < 5) {
368 if(carrossel[i].children[0])
369 carrossel[i].children[0].innerText = "Por:"
370
371 if(carrossel[i].children[1]) {
372 carrossel[i].children[1].style.color = "#F6921E"
373 carrossel[i].children[1].style.marginLeft = ".5rem"
374 }
375 carrossel[i].style.marginTop = "24px"
376 }
377 else if (carrossel[i].children.length > 7){
378 carrossel[i].children[0].innerHTML = "<del>De:</del>"
379 carrossel[i].children[0].style.color = "#78849e"
380 carrossel[i].children[1].classList.remove("price-value-inactive")
381 let priceBefore = carrossel[i].children[1].innerText
382 carrossel[i].children[1].innerHTML = '<del>'+priceBefore+'</del>'
383 carrossel[i].children[1].style.color = "#78849e"
384
385 carrossel[i].children[2].style.display = "none"
386 carrossel[i].children[3].style.display = "none"
387 carrossel[i].children[4].innerText = "Por:"
388 carrossel[i].children[5].style.display = "none"
389 carrossel[i].children[6].style.display = "none"
390 carrossel[i].children[7].style.color = "#F6921E"
391 carrossel[i].children[7].style.marginLeft = ".5rem"
392 carrossel[i].style.marginTop = "10px"
393 }
394 else {
395 carrossel[i].children[0].innerHTML = "<del>De:</del>"
396 carrossel[i].children[0].style.color = "#78849e"
397 carrossel[i].children[1].classList.remove("price-value-inactive")
398 let priceBefore = carrossel[i].children[1].innerText
399 carrossel[i].children[1].innerHTML = '<del>'+priceBefore+'</del>'
400 carrossel[i].children[1].style.color = "#78849e"
401 carrossel[i].children[2].style.display = "none"
402 carrossel[i].children[3].style.display = "none"
403 carrossel[i].children[4].innerText = "Por:"
404 carrossel[i].children[5].style.color = "#F6921E"
405 carrossel[i].children[5].style.marginLeft = ".5rem"
406 carrossel[i].style.marginTop = "10px"
407 }
408 }
409 }, 1500);
410
411
412
413</script>
The following has evaluated to null or missing: ==> media.getTitle() [in template "20102#20129#43699000" at line 20, column 64] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #if media.getURL()?has_content && med... [in template "20102#20129#43699000" at line 20, column 29] ----
1<#setting locale="pt_BR">
2
3<#assign commerceOrderLocalService = serviceLocator.findService("com.liferay.commerce.service.CommerceOrderLocalService")>
4<#assign contentHelper = serviceLocator.findService("com.liferay.commerce.product.content.util.CPContentHelper") />
5<#assign definitionHelper = serviceLocator.findService("com.liferay.commerce.product.util.CPDefinitionHelper") />
6<#assign productService = serviceLocator.findService("br.senac.sp.editora.services.service.ProductService") />
7<#assign userLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService")>
8<#assign warehouseService = serviceLocator.findService("com.liferay.commerce.inventory.service.CommerceInventoryWarehouseItemLocalService") />
9<#assign companyId = userLocalService.getUser(themeDisplay.getUserId()).getCompanyId() />
10
11<div class="slider4 slider4semextracard">
12 <#if entries?has_content>
13 <#list entries as curCPCatalogEntry>
14 <#assign cpSku = curCPCatalogEntry.CPSkus[0] >
15 <#if productService.isAvailable( curCPCatalogEntry.getCPDefinitionId() )>
16 <div class="imgContainerEspecialCarrossel4">
17 <a onclick="cardProductClick(this)" href="${definitionHelper.getFriendlyURL(curCPCatalogEntry.getCPDefinitionId(),themeDisplay)}" data-definition="${curCPCatalogEntry.getCPDefinitionId()}">
18 <#assign cpMedia = contentHelper.getImages(curCPCatalogEntry.getCPDefinitionId(), themeDisplay) />
19 <#list cpMedia as media>
20 <#if media.getURL()?has_content && media.getTitle()?contains("small")>
21 <img src="" data-lazy="${media.getURL()}"/>
22 <#break>
23 </#if>
24 </#list>
25 <div class="informacoesProdutoCarrossel4">
26 <div class="infoSuperiores">
27 <div class="tituloEspecialCarrossel4">
28 ${curCPCatalogEntry.name?truncate(60, '...')}
29 </div>
30 <div class="autorEspecialCarrossel4">
31 <#if contentHelper?has_content >
32 <#list contentHelper.getCategorizedCPDefinitionSpecificationOptionValues(curCPCatalogEntry.getCPDefinitionId(),43620166) as specs>
33 <#if specs.CPSpecificationOptionId == 43594743>
34 ${specs.getValueCurrentValue()?truncate(45, '...')}
35 <#break>
36 </#if>
37 </#list>
38 </#if>
39 </div>
40 </div>
41 </div>
42 </a>
43 <div class="valorCarrossel4" data-definition="${curCPCatalogEntry.getCPDefinitionId()}">
44 <@liferay_commerce_ui["price"]
45 CPCatalogEntry=curCPCatalogEntry
46 />
47 </div>
48 <div class="divEspiarCarrossel4">
49 <#if productService.isAvailable( curCPCatalogEntry.getCPDefinitionId() ) && warehouseService.getStockQuantity(companyId,cpSku.getSku()) gt 0 >
50 <span class="comprarCarrossel4" data-sku="${cpSku.getSku()}">
51 <#assign PortalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] />
52 <#assign id = "add-to-cart" + PortalUtil.generateRandomKey(request, "add-to-cart") + "" + cpSku.getSku() />
53 <@liferay_commerce_ui["add-to-cart"]
54 CPInstanceId=cpSku.getCPInstanceId()
55 id=id
56 />
57 </span>
58 <#else>
59 <span class="comprarCarrossel4">
60 <button class="btnIndisponivelEspecialCarrossel4" href="javascript:void(0)" disabled>Livro Indisponível</button>
61 </span>
62 </#if>
63 </div>
64 </div>
65 </#if>
66 </#list>
67 </#if>
68</div>
69
70<style>
71 .comprarCarrossel4 div.form-group {
72 display: none;
73 }
74 .comprarCarrossel4 .add-to-cart-quantity-marker.active {
75 opacity: 0;
76 display: none;
77 }
78
79 .comprarCarrossel4 form.quantity-selector {
80 display: none;
81 }
82
83 .comprarCarrossel4 button.btn.btn-primary {
84 background-color: #5ACC75;
85 border-radius: 4px;
86 width: 206px;
87 padding: 1px;
88 justify-content: center;
89 padding-left: 13%;
90 margin-top: 0.75rem !important;
91 }
92
93
94 .customCart{
95 opacity: 1 !important;
96 filter: none !important;
97 height: 405 !important;
98 width: 246 !important;
99 }
100
101 @media (max-width: 768px) {
102 .slider4.slider4semextracard .next-arrow {
103 right: unset;
104 left: calc(100vw - 94px);
105 z-index: 10;
106 }
107
108 .slider4.slider4semextracard .prev-arrow {
109 left: 18px;
110 z-index: 10;
111 }
112
113 .slider4.slider4semextracard .slick-list {
114 z-index: 8;
115 }
116
117 .slider4.slider4semextracard .slide-arrow .fa {
118 font-size: 22px;
119 font-weight: 400;
120 }
121
122 .divEspiarCarrossel4 {
123 margin-top: 19px !important;
124 }
125
126 .slider4semextracard .valorCarrossel4,
127 .slider4semextracard .divEspiarCarrossel4 {
128 position: absolute !important;
129 }
130
131 .slider4semextracard .valorCarrossel4 {
132 bottom: 50px;
133 left: 20px;
134 }
135
136 .slider4semextracard .divEspiarCarrossel4 {
137 bottom: 10px;
138 right: 20px;
139 }
140
141 .slider4semextracard .valorCarrossel4 .price-value {
142 font: normal 600 18px/17px Montserrat !important;
143 margin-left: 0!important;
144 }
145 .slider4semextracard .comprarCarrossel4 .btn-add-to-cart {
146 margin: 0 !important;
147 padding-top: 2px !important;
148 }
149 .comprarCarrossel4 .btn-add-to-cart::before {
150 font-size: 16px;
151 }
152 }
153
154 @media (max-width: 600px) {
155 .comprarCarrossel4 button.btn.btn-primary.btn-lg.btn-add-to-cart.btn-add-to-cart-inline {
156 padding-left: 1px;
157 height: 30px;
158 }
159
160 .btn-add-to-cart-inline::before {
161 font-size: 14px;
162 width: 100%;
163 text-align: center;
164 display: block;
165 }
166 }
167
168 .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a {
169 display: flex;
170 align-items: flex-end;
171 }
172
173 .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a .product-promo-price {
174 order: 1;
175 margin-top: 0!important;
176 margin-right: 2px;
177 }
178
179 .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a .divValorCarrossel4 {
180 order: 2;
181 }
182
183 .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a .divValorCarrossel4 + .product-promo-price {
184 margin-right: 5px;
185 }
186
187 .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a .product-price {
188 order: 3;
189 margin-top: 0;
190 }
191
192 .slider4semextracard .valorCarrossel4,
193 .slider4semextracard .divEspiarCarrossel4 {
194 position: relative;
195 z-index: 9999;
196 }
197
198 @media (min-width: 769px) {
199 .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a .product-price,
200 .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a .product-promo-price {
201 line-height: 17px;
202 }
203
204 .slider4semextracard .valorCarrossel4 {
205 top: 100px;
206 left: 20px;
207 }
208
209 .slider4semextracard .divEspiarCarrossel4 {
210 top: 90px;
211 right: 20px;
212 }
213 }
214
215 .tituloEspecialCarrossel4 {
216 display: -webkit-box;
217 -webkit-line-clamp: 3;
218 -webkit-box-orient: vertical;
219 overflow: hidden;
220 }
221
222 .informacoesSuperioresCarrossel4 {
223 height: 72px;
224 }
225
226 @media (max-width: 414px){
227 .slider4 {
228 width: 100vw !important;
229 /* margin-right: 0; */
230 margin-right: 20px;
231 margin-left: 20px;
232 }
233 }
234
235 @media (min-width: 769px) and (max-width: 820px) {
236 .slider4semextracard .valorCarrossel4,
237 .slider4semextracard .divEspiarCarrossel4 {
238 position: absolute;
239 }
240
241 .slider4semextracard .valorCarrossel4 {
242 top: initial !important;
243 bottom: 50px;
244 }
245
246 .slider4semextracard .divEspiarCarrossel4 {
247 top: 315px;
248 }
249 }
250
251 @media (max-width: 1200px) {
252 .slick-dots {
253 width: 100vw !important;
254 }
255 }
256
257</style>
258
259<script
260 src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"
261 integrity="sha512-XtmMtDEcNz2j7ekrtHvOVR4iwwaD6o/FUJe6+Zq+HgcCsk3kj4uSQQR8weQ2QVj1o0Pk6PwYLohm206ZzNfubg=="
262 crossorigin="anonymous"
263 referrerpolicy="no-referrer"
264 ></script>
265
266<script type="text/javascript">
267
268 var tituloSlider = setInterval(function() {
269 if ($('.slider4').length >= 1) {
270 $(`
271 <div class="background-right titulo-slider4"><a href="\rita-lobo">Livros que você pode gostar </a><i class="fas fa-circle circulo-laranja" aria-hidden="true"></i></div>
272 `).insertBefore('.slider4:has(.imgContainerEspecialCarrossel4)');
273 clearInterval(tituloSlider);
274 }
275 }, 50);
276
277 setTimeout(function(){
278 $(document).ready(function() {
279 $('.slider4').slick({
280 arrows: true,
281 slidesToShow: 4,
282 slidesToScroll: 4,
283 dots:true,
284 infinite: false,
285 lazyLoad: 'ondemand',
286 prevArrow: '<a href="#" class="slide-arrow prev-arrow"><i class="fa fa-chevron-left gray"></i></a>',
287 nextArrow: '<a href="#" class="slide-arrow next-arrow"><i class="fa fa-chevron-right gray"></i></a>',
288 speed: 1000,
289 index: 1,
290 focusOnSelect:false,
291 accessibility:false,
292 adaptiveHeight:false,
293 autoplay:false,
294 responsive: [{
295 breakpoint: 1200,
296 settings: {
297 slidesToShow: 4,
298 slidesToScroll: 4,
299 variableWidth: true,
300 infinite: false,
301 centerMode: false,
302 dots:true,
303 arrows: true
304 }
305 }, {
306 breakpoint: 768,
307 settings: {
308 slidesToShow: 1,
309 slidesToScroll: 1,
310 variableWidth: true,
311 infinite: false,
312 centerPadding: 0,
313 centerMode: false,
314 dots:false,
315 arrows: false
316 }
317 }]
318 });
319
320 sendViewItemList([<#list entries as curCPCatalogEntry>${curCPCatalogEntry.getCPDefinitionId()},</#list>])
321
322 });
323
324 if (typeof promoPrice !== 'undefined') {
325 promoPrice = document.getElementsByClassName("price");
326 }
327 else {
328 promoPrice = document.getElementsByClassName("price");
329 }
330
331 for (let i = 0; i < document.getElementsByClassName("price").length; i++) {
332 let carrossel = document.getElementsByClassName("price");
333
334 if(carrossel[i].children.length < 5) {
335 if (carrossel[i].children[0]) {
336 carrossel[i].children[0].innerText = "Por:"
337 }
338 if (carrossel[i].children[1]) {
339 carrossel[i].children[1].style.color = "#D2691E"
340 carrossel[i].children[1].style.marginLeft = ".5rem"
341 }
342
343 carrossel[i].style.marginTop = "24px"
344 }
345 else if (carrossel[i].children.length > 7){
346 if (carrossel[i].children[0]) {
347 carrossel[i].children[0].innerHTML = "<del>De:</del>"
348 carrossel[i].children[0].style.color = "#78849e"
349 }
350
351 if (carrossel[i].children[1]) {
352 carrossel[i].children[1].classList.remove("price-value-inactive")
353 let priceBefore = carrossel[i].children[1].innerText
354 carrossel[i].children[1].innerHTML = '<del>'+priceBefore+'</del>'
355 carrossel[i].children[1].style.color = "#78849e"
356 }
357
358 carrossel[i].children[2].style.display = "none"
359 carrossel[i].children[3].style.display = "none"
360 carrossel[i].children[4].innerText = "Por:"
361 carrossel[i].children[5].style.display = "none"
362 carrossel[i].children[6].style.display = "none"
363 carrossel[i].children[7].style.color = "#D2691E"
364 carrossel[i].children[7].style.marginLeft = ".5rem"
365 carrossel[i].style.marginTop = "10px"
366 }
367 else {
368 if (carrossel[i].children[0]) {
369 carrossel[i].children[0].innerHTML = "<del>De:</del>"
370 carrossel[i].children[0].style.color = "#78849e"
371 }
372 if (carrossel[i].children[1]) {
373 carrossel[i].children[1].classList.remove("price-value-inactive")
374 let priceBefore = carrossel[i].children[1].innerText
375 carrossel[i].children[1].innerHTML = '<del>'+priceBefore+'</del>'
376 carrossel[i].children[1].style.color = "#78849e"
377 }
378
379 carrossel[i].children[2].style.display = "none"
380 carrossel[i].children[3].style.display = "none"
381 carrossel[i].children[4].innerText = "Por:"
382 carrossel[i].children[5].style.color = "#D2691E"
383 carrossel[i].children[5].style.marginLeft = ".5rem"
384 carrossel[i].style.marginTop = "10px"
385 }
386 }
387
388 const slider4 = document.getElementsByClassName("slider4");
389
390 for (let i = 0; i < slider4.length; i++) {
391 slider4[i].style.display ='block';
392 }
393
394 $('.slider4.slider4semextracard').on('afterChange', function(event, slick, currentSlide) {
395 if (slick.$slides.length - 1 == currentSlide) {
396 $('.slider4.slider4semextracard .next-arrow').css('display', 'none');
397 }
398 else {
399 $('.slider4.slider4semextracard .next-arrow').css('display', 'flex');
400 }
401
402 if (0 == currentSlide) {
403 $('.slider4.slider4semextracard .prev-arrow').css('display', 'none');
404 }
405 else {
406 $('.slider4.slider4semextracard .prev-arrow').css('display', 'flex');
407 }
408 });
409
410 if (typeof promoPrice !== 'undefined') {
411 let promoPrice = document.getElementsByClassName("product-promo-price");
412 }
413 else{
414 promoPrice = document.getElementsByClassName("product-promo-price");
415 }
416
417 if(promoPrice.length > 0){
418 const productPrice = document.getElementsByClassName(".price-value-final");
419 for (let i = 0; i < productPrice.length; i++) {
420 $(productPrice[i]).attr('data-content','Por: ');
421 }
422 }else{
423 const valorCarrossel4 = document.getElementsByClassName("valorCarrossel4");
424 for (let i = 0; i < valorCarrossel4.length; i++) {
425 valorCarrossel4[i].style.marginTop='25px';
426 // valorCarrossel4[i].style.marginBottom='17px';
427 }
428 }
429
430 }, 2000);
431
432</script>