Doces - Ladurée - Livro - Editora Senac São Paulo
Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> serviceLocator.findService("br.senac.sp.editora.services.service.ProductService") [in template "20102#20129#43698976" at line 22, column 18]
----
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: productService = serviceLocator.findS... [in template "20102#20129#43698976" at line 22, column 1]
----
1<#setting locale="pt_BR">
2
3<#assign
4cPCatalogEntry = cpContentHelper.getCPCatalogEntry(request)
5
6cpMedia = cpContentHelper.getImages(cPCatalogEntry.getCPDefinitionId(), themeDisplay)
7
8CPDefinitionLocalService = serviceLocator.findService("com.liferay.commerce.product.service.CPDefinitionLocalService")
9
10assetentry = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")
11
12assetCategoryRel = serviceLocator.findService("com.liferay.asset.entry.rel.service.AssetEntryAssetCategoryRelLocalService")
13
14assetCategory = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
15
16friendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService")
17
18asset = assetentry.getEntry('com.liferay.commerce.product.model.CPDefinition',cPCatalogEntry.getCPDefinitionId())
19
20relateds = assetCategoryRel.getAssetEntryAssetCategoryRelsByAssetEntryId(asset.getEntryId())
21
22productService = serviceLocator.findService("br.senac.sp.editora.services.service.ProductService")
23/>
24
25<#list relateds as related >
26<#assign category = assetCategory.getAssetCategory(related.assetCategoryId)/>
27<#if category.parentCategoryId == 0 >
28<#assign categoria = category.name />
29<#assign icone= category.getDescriptionCurrentValue()/>
30
31<#switch category.name?trim>
32<#case "Moda">
33<#assign iconeClass='<i><svg class="categoria-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 65.641 104.516">'
34 +'<path d="M467.11,434.216l14.3-5.288c4.827-1.785,5.976-5.932,6.14-10.795h16.32c.164,4.862,1.313,9.01,6.14,10.795l14.3,5.288c2.131.787,4.219,1.631,4.219,3.622,0,8.794-2.641,10.034-7.662,17.6l-.25.376c-3.222,4.862-7.672,13.961-6.752,19.622-.283,2.736,9.722,12.282,12.06,17.708l.379.881c1.315,3.054,4.61,15.1-1.994,15.1h-57.2c-6.6,0-3.309-12.043-1.994-15.1l.379-.881c2.338-5.427,12.341-14.971,12.06-17.708.92-5.66-3.53-14.759-6.752-19.622l-.252-.376c-5.018-7.57-7.66-8.808-7.66-17.6,0-1.992,2.088-2.834,4.219-3.622Z" transform="translate(-462.891 -418.133)" fill="#F6921E" fill-rule="evenodd"/>'
35 +'<path d="M477.019,463.359h6.827V473.9h-6.827V463.359Z" transform="translate(-447.613 -369.385)" fill="#F6921E" fill-rule="evenodd"/></svg></i>'/>
36<#break>
37<#case "Meio Ambiente, Segurança e Saúde no Trabalho">
38<#assign iconeClass='<i><svg xmlns="http://www.w3.org/2000/svg" class="categoria-icon-svg" viewBox="0 0 63.955 71.556">'
39 +'<path d="M62.764-7.356a3.692,3.692,0,0,0-4.73,0L47.775.8a7.094,7.094,0,0,1-4.441,1.545H30.2A1.777,1.777,0,0,1,28.423.581,1.777,1.777,0,0,1,30.2-1.185h8.693a3.692,3.692,0,0,0,3.7-2.936A3.543,3.543,0,0,0,39.082-8.25H21.317a13.114,13.114,0,0,0-8.227,2.9L7.927-1.185H1.776A1.777,1.777,0,0,0,0,.581v10.6a1.777,1.777,0,0,0,1.776,1.766H41.391A7.14,7.14,0,0,0,45.832,11.4L62.62-1.958A3.518,3.518,0,0,0,62.764-7.356Z" transform="translate(0 58.612)" fill="#F6921E"/><g transform="translate(9.405 0)">'
40 +'<path d="M38.33-7.415,37.154-6.359l-1.077.536-1.158.445-1.071.256H31.725l-.486,2.835a10.051,10.051,0,0,1-9.862,7.721,9.984,9.984,0,0,1-10.1-9.856,9.958,9.958,0,0,1,7.96-9.651l2.72-.643v-2.047l.43-1.8.659-1.211,1.476-1.137-1.108-4.28H19.361l-1.108,4.849-2.169.569-3.517-3.674-3.478,1.93,1.453,4.849L9.088-15.2,3.966-16.516,1.988-13.178,5.705-9.5,5.16-7.667.048-6.3,0-2.483,5.16-1.168,5.619.958,2,4.445,3.88,7.69l5.3-1.315,1.309,1.5L9.04,12.586l3.574,2.023,3.478-3.581,2.074.522,1.2,5,4.052.047,1.2-5.035,2.074-.615,3.717,3.776,3.66-2.117-1.6-4.9,1.4-1.417,5.16,1.557,1.835-3.534L37.154,1.023l.392-2.117,5.265-1.25v-3.72Z" transform="translate(0 27.431)" fill="#F6921E"/>'
41 +'<path d="M23.661.421A.674.674,0,0,0,22.435.369,7.429,7.429,0,0,1,15.941,4.16H12.475a8.32,8.32,0,0,0-8.318,8.318,8.564,8.564,0,0,0,.065.888A20.727,20.727,0,0,1,16.634,9.705a.693.693,0,1,1,0,1.386C5.742,11.092,1.124,17.768.1,20.276a1.388,1.388,0,0,0,2.569,1.053A11.4,11.4,0,0,1,5.786,17.4a8.3,8.3,0,0,0,7.577,3.345c6.8-.494,11.589-6.594,11.589-14.063A15.754,15.754,0,0,0,23.661.421Z" transform="matrix(1, 0.017, -0.017, 1, 19.456, 0)" fill="#F6921E"/></g></svg></i>'/>
42<#break>
43<#case "Beleza e Estética">
44<#assign iconeClass='<i><svg xmlns="http://www.w3.org/2000/svg" class="categoria-icon-svg" viewBox="0 0 60.76 77.254"><g transform="translate(0 0)"><g transform="translate(5.923)">'
45 +'<path d="M1748.342,1013.858a24.669,24.669,0,1,1,24.456-24.667A24.591,24.591,0,0,1,1748.342,1013.858Zm0-43.206a18.539,18.539,0,1,0,18.38,18.539A18.48,18.48,0,0,0,1748.342,970.651Z" transform="translate(-1723.885 -964.522)" fill="#F6921E"/></g><g transform="translate(16.198 10.365)">'
46 +'<path d="M1756.728,977.4l-19.966,20.139a14.256,14.256,0,0,0,4.963,3.861l18.831-18.993A14.351,14.351,0,0,0,1756.728,977.4Z" transform="translate(-1733.509 -974.12)" fill="#F6921E"/>'
47 +'<path d="M1761.48,987.961a14.459,14.459,0,0,0-.28-2.831l-16.708,16.854a14.082,14.082,0,0,0,11.464-2.7l2.571-2.594A14.315,14.315,0,0,0,1761.48,987.961Z" transform="translate(-1733.118 -973.658)" fill="#F6921E"/>'
48 +'<path d="M1747.846,974.3c-.238,0-.475.006-.71.019l-13.453,13.567c-.011.238-.018.477-.018.718a14.332,14.332,0,0,0,1.586,6.569L1754.36,975.9A14.029,14.029,0,0,0,1747.846,974.3Z" transform="translate(-1733.665 -974.304)" fill="#F6921E"/></g>'
49 +'<path d="M1779.006,988.381h-4.253a26.128,26.128,0,1,1-52.253,0h-4.253a30.573,30.573,0,0,0,28.253,30.566v9.493c-9.442.334-16.785,2.864-16.785,5.936,0,3.3,8.468,5.976,18.912,5.976s18.911-2.675,18.911-5.976c0-3.072-7.342-5.6-16.784-5.936v-9.493A30.574,30.574,0,0,0,1779.006,988.381Z" transform="translate(-1718.246 -963.099)" fill="#F6921E"/></g></svg></i>'/>
50<#break>
51<#case "Tecnologia">
52<#assign iconeClass='<i><svg xmlns="http://www.w3.org/2000/svg" class="categoria-icon-svg" viewBox="0 0 127.574 82.718"><g transform="translate(13.38)">'
53 +'<path d="M1782.769,182.429V130.094h-86.124v52.335Zm5.739-58.109a5.247,5.247,0,0,1,1.6,3.838v61.624H1689.292V128.158a5.36,5.36,0,0,1,5.4-5.4h90.018A5.154,5.154,0,0,1,1788.507,124.319Z" transform="translate(-1689.292 -122.758)" fill="#F6921E" fill-rule="evenodd"/></g><g transform="translate(0 71.941)">'
54 +'<path d="M1804.43,189.61v1.649a9.184,9.184,0,0,1-9.128,9.129H1685.987a9.156,9.156,0,0,1-9.13-9.129V189.61h47.457v.3a4.316,4.316,0,0,0,4.3,4.322h24.051a4.346,4.346,0,0,0,4.322-4.322v-.3Z" transform="translate(-1676.857 -189.61)" fill="#F6921E" fill-rule="evenodd"/></g><g transform="translate(36.337 14.045)">'
55 +'<path d="M1716.973,155.25a20.368,20.368,0,0,0,6.17,14.94v.019l-4.483,4.484h-.019a26.5,26.5,0,0,1-8.018-19.443,30.165,30.165,0,0,1,.234-3.8,26.269,26.269,0,0,1,7.8-15.639l4.5,4.5a20.272,20.272,0,0,0-6.1,12.806Q1716.971,154.16,1716.973,155.25Z" transform="translate(-1710.624 -135.809)" fill="#F6921E" fill-rule="evenodd"/></g><g transform="translate(47.169 21.702)">'
56 +'<path d="M1727.058,154.708q0,.475.036.933v.017a9.823,9.823,0,0,0,2.959,6.314h.017l-4.5,4.5h-.019a16.064,16.064,0,0,1-4.86-11.766v-.016c0-.207.009-.41.018-.612a17.724,17.724,0,0,1,.234-2.4,15.9,15.9,0,0,1,4.608-8.753l4.5,4.5a9.924,9.924,0,0,0-2.584,4.251,10.646,10.646,0,0,0-.412,3.014Z" transform="translate(-1720.69 -142.925)" fill="#F6921E" fill-rule="evenodd"/></g><g transform="translate(58.577 28.159)">'
57 +'<path d="M1741.837,154.2a5.1,5.1,0,0,1-1.559,3.73,5.263,5.263,0,1,1-7.445-7.442,5.282,5.282,0,0,1,9,3.713Z" transform="translate(-1731.291 -148.925)" fill="#F6921E" fill-rule="evenodd"/></g><g transform="translate(71.096 21.702)">'
58 +'<path d="M1747.462,142.961a17.08,17.08,0,0,1,2.69,3.5h.017a15.586,15.586,0,0,1,1.884,5.219,18.268,18.268,0,0,1,.234,3.014v.016a16.162,16.162,0,0,1-2.277,8.5,17.666,17.666,0,0,1-2.6,3.264l-4.484-4.5a11.872,11.872,0,0,0,.807-.933,9.819,9.819,0,0,0,2.207-6.331v-.016a10.7,10.7,0,0,0-.43-3.014,9.934,9.934,0,0,0-2.583-4.233l4.5-4.52C1747.438,142.937,1747.451,142.95,1747.462,142.961Z" transform="translate(-1742.924 -142.925)" fill="#F6921E" fill-rule="evenodd"/></g><g transform="translate(78.772 14.045)">'
59 +'<path d="M1761.429,147.108a28.235,28.235,0,0,1,1.13,8.142,26.972,26.972,0,0,1-2.44,11.568,27.678,27.678,0,0,1-5.578,7.875l-4.484-4.5a21.335,21.335,0,0,0,3.928-5.326,20.612,20.612,0,0,0,2.243-9.614,21.265,21.265,0,0,0-1.417-7.837,20.913,20.913,0,0,0-4.753-7.1l4.484-4.5A26.727,26.727,0,0,1,1761.429,147.108Z" transform="translate(-1750.057 -135.809)" fill="#F6921E" fill-rule="evenodd"/></g></svg></i>'/>
60<#break>
61<#default>
62<#assign iconeClass='<i class="iconeCategoria ${category.getDescriptionCurrentValue()}"></i>'/>
63<#break>
64</#switch>
65<#assign subcategoria = '' />
66<#assign friendlyCategoryURL = friendlyURLEntryLocalService.getMainFriendlyURLEntry(20013, category.categoryId)>
67<#assign friendlySubcategoryURL = ''>
68<#else>
69<#assign subcategoria = category.name />
70<#assign friendlySubcategoryURL = friendlyURLEntryLocalService.getMainFriendlyURLEntry(20013, category.categoryId)>
71</#if>
72</#list>
73
74<#assign isbn = '' />
75<#assign edicao = '' />
76<#assign paginas = '' />
77<#assign idioma = '' />
78<#assign lancamento = '' />
79<#assign editora = '' />
80<#assign formato = '' />
81<#assign autor = '' />
82<#assign ebook = '' />
83<#assign ebookval = '' />
84<#assign ebookcodigo = 'Indisponível' />
85
86<#assign ciwils = serviceLocator.findService("com.liferay.commerce.inventory.service.CommerceInventoryWarehouseItemLocalService") />
87<#assign cibqls = serviceLocator.findService("com.liferay.commerce.inventory.service.CommerceInventoryBookedQuantityLocalService") />
88
89<#if entries?has_content>
90<#list entries as curCPCatalogEntry>
91<#list cpContentHelper.getCategorizedCPDefinitionSpecificationOptionValues(curCPCatalogEntry.getCPDefinitionId(),43620166) as specs>
92<#switch specs.CPSpecificationOptionId>
93<#case 43604150 >
94<#assign isbn = specs.getValueCurrentValue() />
95<#break>
96<#case 43619968>
97<#assign edicao = specs.getValueCurrentValue() />
98<#break>
99<#case 43604151 >
100<#assign paginas = specs.getValueCurrentValue() />
101<#break>
102<#case 43594741 >
103<#assign idioma = specs.getValueCurrentValue() />
104<#break>
105<#case 43604148 >
106<#assign lancamento = specs.getValueCurrentValue() />
107<#break>
108<#case 43604149 >
109<#assign editora = specs.getValueCurrentValue() />
110<#break>
111<#case 43619969 >
112<#assign formato = specs.getValueCurrentValue() />
113<#break>
114<#case 43619971 >
115<#assign autor = specs.getValueCurrentValue() />
116<#break>
117<#case 54709090 >
118<#case 53858017 >
119<#assign ebook = specs.getValueCurrentValue() />
120<#break>
121
122<#assign ebookval = ebook?eval />
123
124<#if ebookval?has_content >
125<#assign ebookcodigo = ebookval[0].codigo />
126</#if>
127<#break>
128<#default>
129</#switch>
130</#list>
131</#list>
132</#if>
133
134<script>
135 $(() => {
136
137 sendViewItem(["${cPCatalogEntry.getCPDefinitionId()}"])
138
139 const insereTitulosCarrosseis = function() {
140 let nomeAutorLivro = $('.linhaNomeAutor').html().trim();
141 let nomeAutoresLivro = [];
142
143 if (nomeAutorLivro.includes(',')) {
144 const autores = nomeAutorLivro.split(', ');
145 autores.forEach((item) => {
146 nomeAutoresLivro.push(item.trim())
147 });
148 } else {
149 nomeAutoresLivro.push(nomeAutorLivro);
150 }
151
152 var tituloSlider = setInterval(function(){
153 if ($('.slider4').length >= 1) {
154 //remove titulos dos carrosseis, para inseri-los mais tarde
155 $('.slider4').prev().remove();
156
157 $('.slider4').each(function(index, e) {
158 let nomeDoAutor = '';
159 let primeiroLivro_autor = $(e).find('.autorEspecialCarrossel4')[0];
160 if (primeiroLivro_autor) {
161 nomeDoAutor = $(primeiroLivro_autor).html().trim();
162
163 if (nomeDoAutor.includes(',')) {
164 let nomeDoAutor_split = nomeDoAutor.split(', ');
165
166 for (let i = 0; i < nomeDoAutor_split.length; i++) {
167 for (let j = 0; j < nomeAutoresLivro.length; j++) {
168 if (nomeDoAutor_split[i] === nomeAutoresLivro[j]) {
169 nomeDoAutor = nomeDoAutor_split[i];
170 break;
171 }
172 }
173 }
174 }
175 } else {
176 return;
177 }
178
179 // verifica se o carrossel contem livros que sao todos do mesmo autor
180 $(e).find('.autorEspecialCarrossel4').each(function(index2, e2) {
181 if (!$(e2).html().includes(nomeDoAutor)) {
182 nomeDoAutor = '';
183 return;
184 }
185 });
186
187 // caso haja mais de um autor, verifica se todos os livros do carrossel sao dos autores dos livros
188 if (nomeAutoresLivro.length > 1 && $(e).find('.autorEspecialCarrossel4').length >= 1) {
189 nomeDoAutor = 'maisDeUmAutor';
190 $(e).find('.autorEspecialCarrossel4').each(function(index3, e3) {
191 let contemAoMenosUmAutor = false;
192 const textoAutor = $(e3).html();
193
194 for (let k = 0; k < nomeAutoresLivro.length; k++) {
195 if (textoAutor.includes(nomeAutorLivro[k])) {
196 contemAoMenosUmAutor = true;
197 break;
198 }
199 }
200
201 if (!contemAoMenosUmAutor) {
202
203 nomeDoAutor = '';
204 return;
205 }
206 });
207
208 if (nomeDoAutor !== '') {
209 // verifica se nao existe um autor em comum entre todos os livros
210
211 let arrayQuantidadesAutorLivro = Array(nomeAutoresLivro.length);
212
213 for (let j = 0; j < arrayQuantidadesAutorLivro.length; j++) {
214 arrayQuantidadesAutorLivro[j] = {quantidade: 0, nome: nomeAutoresLivro[j]};
215 }
216
217 let haLivrosNaoEscritosPelosAutores = false;
218
219 $(e).find('.autorEspecialCarrossel4').each(function(index4, e4) {
220 const textoAutor = $(e4).html();
221 let autoresAusentes = 0;
222
223 for (let k = 0; k < nomeAutoresLivro.length; k++) {
224 if (textoAutor.includes(nomeAutoresLivro[k])) {
225 arrayQuantidadesAutorLivro[k].quantidade++;
226 } else {
227 autoresAusentes++;
228 }
229 }
230
231 // se houver ao menos um livro que nao foi escrito por nenhum autor do livro atual, entao nomeDoAutor = ''
232 if (autoresAusentes === nomeAutoresLivro.length) {
233 nomeDoAutor = '';
234 haLivrosNaoEscritosPelosAutores = true;
235 }
236 });
237
238 arrayQuantidadesAutorLivro = arrayQuantidadesAutorLivro.sort((a, b) => {return parseFloat(b.quantidade) - parseFloat(a.quantidade)});
239
240 if (!haLivrosNaoEscritosPelosAutores && arrayQuantidadesAutorLivro[1].quantidade <= 0) {
241 nomeDoAutor = arrayQuantidadesAutorLivro[0].nome;
242 }
243 }
244 }
245
246 if (nomeDoAutor === '') {
247 $(`<div class="background-right titulo-slider4"><a>Livros que você pode gostar </a><i class="fas fa-circle circulo-laranja" aria-hidden="true"></i></div>`)
248 .insertBefore($(e));
249 if ($('.slider4').length > 1 && !$('.titulo-slider4').html().includes("Mais")) {
250 $('.slider4:not(.slider4semextracard)').parent().remove();
251 }
252 } else {
253 let textoTitulo = "Mais Livros de " + nomeDoAutor;
254 if (nomeDoAutor === "maisDeUmAutor") {
255 textoTitulo = "Mais livros desses autores";
256 }
257
258 let tituloDinamico = `<div class="background-left titulo-slider4" data-nome-autor="` + nomeDoAutor + `"><i class="fas fa-circle circulo-laranja" aria-hidden="true"></i><a> `+ textoTitulo +`</a></div>`;
259 $(tituloDinamico).insertBefore($(e));
260 }
261 });
262 clearInterval(tituloSlider)
263 }
264 }, 50);
265 }
266
267 let autor;
268 try {
269 const raw = '${autor?js_string}';
270 autor = JSON.parse(raw);
271 } catch (err) {
272 console.error("Não foi possível carregar o autor", err);
273 }
274
275 if (typeof autor !== 'undefined') {
276 if (autor.length === 1) {
277
278 $('<img src="' + autor[0].foto + '" onerror=\'this.src="https://www.editorasenacsp.com.br/Editora/CONTENT/base/imagens/autores/indisponivel_autor.png";\' />').insertBefore('.nomeAutor');
279
280 $('.fotoAutorContainer > .nomeAutor').html('<div class="linhaNomeAutor">' + autor[0].nomeAutor + '</div>')
281
282 var settings = {
283 "url": "${themeDisplay.getURLPortal()}/sync-dxp/autor/find/" + autor[0].idAutor,
284 "method": "GET",
285 "timeout": 0,
286 "headers": {
287 'Access-Control-Allow-Origin': '*'
288 }
289 };
290
291 $.ajax(settings).done((response) => {
292 $('.nomeAutor').append('<pre class="biografiaAutor">' + response.biografia + '</pre><div class="linhaDetalheInferiorAutor">${iconeClass}</i></div>')
293 });
294 } else {
295 $('.nomeAutor').addClass('nomeAutorMultiplos');
296 $('.fotoAutorContainer').addClass('fotoAutorContainerMultiplos');
297 $('<ul class="listaAutores"></ul>').insertBefore('.nomeAutor');
298 $('<div class="btnVoltarAutores" style="display: none;"><i class="fas fa-long-arrow-alt-left"></i><span>Voltar</span></div>').insertAfter('.listaAutores');
299
300 for (var i = 0; i < autor.length; i++) {
301 $('.listaAutores').append('<li data-id=' + autor[i].idAutor + ' data-foto=' + autor[i].foto + '>' + autor[i].nomeAutor + '</li>');
302 }
303
304 $('.listaAutores li').on('click', function() {
305 $('.listaAutores').css('display', 'none');
306 $('.btnVoltarAutores').css('display', 'flex');
307 var thisLi = $(this);
308 var settings = {
309 "url": "${themeDisplay.getURLPortal()}/sync-dxp/autor/find/" + thisLi.attr('data-id'),
310 "method": "GET",
311 "timeout": 0,
312 "headers": {
313 'Access-Control-Allow-Origin': '*'
314 }
315 };
316
317 $.ajax(settings).done((response) => {
318 $('<img src="' + thisLi.attr('data-foto') + '" onerror=\'this.src="https://www.editorasenacsp.com.br/Editora/CONTENT/base/imagens/autores/indisponivel_autor.png";\' />').insertBefore('.nomeAutor');
319
320 $('.fotoAutorContainer > .nomeAutor').html('<div class="linhaNomeAutor">' + response.nome + '</div>')
321
322 $('.nomeAutor').append('<pre class="biografiaAutor">' + response.biografia + '</pre><div class="linhaDetalheInferiorAutor">${iconeClass}</i></div>')
323 });
324 });
325
326 $('.btnVoltarAutores').on('click', function() {
327 $(this).css('display', 'none');
328 $('.nomeAutor').html('');
329 $('.fotoAutorContainer img').remove();
330 $('.listaAutores').css('display', 'block');
331 });
332 }
333 }
334
335 insereTitulosCarrosseis();
336
337 $('.fotoAutorContainer > ul > li').on('click', () => {
338 $('.nomeAutor').css('display', 'block');
339 $('.btnVoltarAutores').css('visibility', 'visible');
340 var idAutor = $(this).attr('data-id');
341 $('.fotoAutorContainer > ul').css('display', 'none');
342
343 var settings = {
344 "url": "${themeDisplay.getURLPortal()}/sync-dxp/autor/find/" + idAutor,
345 "method": "GET",
346 "timeout": 0,
347 "headers": {
348 'Access-Control-Allow-Origin': '*'
349 }
350 };
351
352 $.ajax(settings).done((response) => {
353 //Para as chamadas nas versões mobile
354 $('.lineAccorionDescricao > div > ul > li:eq(1)').addClass('abaActiveAccordion');
355 $('.lineAccorionDescricao > div > ul > li:eq(1) > label').attr('style', 'background: #F8F8F8 !important;color:#454F63 !important');
356 $('.lineAccorionDescricao > div > ul > li:eq(1) > label ~ .linhaAccordionAtivo').css('display', 'block');
357 $('.lineAccorionDescricao > div > ul > li:eq(1) > label ~ .linhaAccordionAtivo ~ i').css('display', 'block');
358
359 // Desktop e Mobile
360 $('<img src="${themeDisplay.getURLPortal()}/Editora/CONTENT/base/imagens/autores/' + response.id + '.jpg " />').insertBefore('.nomeAutor');
361
362 $('.fotoAutorContainer > .nomeAutor').html('<div class="linhaNomeAutor">' + response.nome + '</div>');
363
364 $('.nomeAutor').append('<pre class="biografiaAutor">' + response.biografia + '</pre><div class="linhaDetalheInferiorAutor">${iconeClass}</i></div>');
365 });
366 })
367
368 $('.btnVoltarAutores').on('click', () => {
369 //Mobile
370 setTimeout(() => {
371 $('.lineAccorionDescricao > div > ul > li:eq(1)').addClass('abaActiveAccordion');
372 $('.lineAccorionDescricao > div > ul > li:eq(1) > label').attr('style', 'background: #F8F8F8 !important;color:#454F63 !important');
373 $('.lineAccorionDescricao > div > ul > li:eq(1) > label ~ .linhaAccordionAtivo').css('display', 'block');
374 $('.lineAccorionDescricao > div > ul > li:eq(1) > label ~ .linhaAccordionAtivo ~ i').css('display', 'block');
375 }, 500);
376
377 //Mobile e Desktop
378 $(this).css('visibility', 'hidden');
379 $('.fotoAutorContainer > ul').css('display', 'block');
380 $('.nomeAutor').css('display', 'none');
381 $('.btnVoltarAutores ~ img').remove();
382 });
383
384 let firstImage = $('.detalheContainerImg img').first();
385 firstImage.addClass('selectedImage');
386 $('.img-zoom-container .img-responsive').attr('src', firstImage.attr('src'));
387
388 });
389
390 $( document ).ready(function() {
391 carregaParcelas()
392 });
393
394 function carregaParcelas(){
395 let price = $(".informacoesContainer .price-value").first().text();
396 let priceParsed = parseFloat(price.replaceAll("R$ ","").replaceAll(",","."));
397 var parcela = 1;
398
399 if( priceParsed > 100 ){
400 if( priceParsed < 150 ){
401 parcela = 2;
402 }
403 else{
404 parcela = 3;
405 }
406 }
407
408 $(".quantidadeParcelasCartao").text(parcela + "X sem juros");
409 }
410</script>
411
412<script>
413 let menu = document.querySelector('ol');
414 menu.removeChild(menu.lastElementChild);
415
416 var jCategory = "${categoria}";
417 var jSubCategory = "${subcategoria}";
418
419 var spanCategory = document.createElement("span");
420 spanCategory.setAttribute('class', "breadcrumb-text-truncate");
421 spanCategory.textContent = jCategory;
422
423 var ancora = document.createElement("a");
424 ancora.setAttribute('href', "${themeDisplay.getURLPortal() + '/categoria/' + friendlyCategoryURL.getUrlTitle(locale)}");
425
426 ancora.setAttribute('class', "breadcrumb-link");
427 ancora.appendChild(spanCategory);
428 var node = document.createElement('li');
429 node.setAttribute("class", "breadcrumb-item");
430 node.appendChild(ancora);
431 document.querySelector('ol').appendChild(node);
432
433 <#if subcategoria != ''>
434 var spanSubCategory = document.createElement("span");
435 spanSubCategory.setAttribute('class', "breadcrumb-text-truncate");
436 spanSubCategory.textContent = jSubCategory;
437
438 var a = document.createElement("a");
439 a.setAttribute('href', "${themeDisplay.getURLPortal() + '/categoria/' + friendlySubcategoryURL.getUrlTitle(locale)}");
440 a.setAttribute('class', "breadcrumb-link");
441 a.appendChild(spanSubCategory);
442
443 var secondNode = document.createElement('li');
444 secondNode.setAttribute("class", "breadcrumb-item");
445 secondNode.appendChild(a);
446 document.querySelector('ol').appendChild(secondNode);
447 </#if>
448
449 var bookName = document.createElement('li');
450 bookName.setAttribute("class", "breadcrumb-item");
451 bookName.textContent = "${entries[0].name?truncate(64,'...')?replace('"', '\\"')}";
452 document.querySelector('ol').appendChild(bookName);
453</script>
454
455<#if entries?has_content>
456<#list entries as curCPCatalogEntry>
457<#assign cpMedia = cpContentHelper.getImages(curCPCatalogEntry.getCPDefinitionId(), themeDisplay) />
458<#assign defaultImage = "/documents/d/editora-senac/liferay_logo" />
459<#assign productImage = "" />
460
461<#list cpMedia as media>
462<#if media.getURL()?has_content && media.getTitle()?? && media.getTitle()?contains("small")>
463<#assign productImage = media.getURL() />
464<#break>
465</#if>
466</#list>
467
468<#if !productImage?has_content>
469<#list cpMedia as media>
470<#if media.getURL()?has_content>
471<#assign productImage = media.getURL() />
472<#break>
473</#if>
474</#list>
475</#if>
476
477<div class="container imgDetalheProdutoContainer">
478 <div class="row detalheProdutolinha1">
479 <div class="col-1" style="padding-top: 16px;">
480 <div class="detalheContainerImg">
481 <div style="overflow-y: auto;display: flex;flex-direction: column;flex: 1;margin-bottom: 10px" class="imageList">
482 <img class="center-block img-responsive"
483 src="${productImage}"
484 onerror="this.onerror=null; this.src='${defaultImage}';" />
485 </div>
486 </div>
487 </div>
488
489 <div class="col-11 imgProdutoPrincipal">
490 <div class="img-zoom-container">
491 <img class="center-block img-responsive"
492 src="${productImage}"
493 onerror="this.onerror=null; this.src='${defaultImage}';" />
494 </div>
495
496
497 <button class="btnShareMob">
498 <i class="fas fa-share-alt"></i><span>Indique</span>
499 </button>
500
501 <div class="informacoesContainer desktop-only">
502
503 <div class="row w-25 p-3">
504 <div class="col-1 offset-10 indiqueContainer">
505 <i class="fas fa-share-alt"></i>
506 <span>Indicar</span>
507 <@liferay_social_bookmarks["bookmarks"]
508 className=curCPCatalogEntry.className
509 classPK=cpContentHelper.getDefaultCPInstance(request).getCPInstanceId()
510 displayStyle="menu"
511 title=curCPCatalogEntry.name
512 types="facebook,twitter"
513 url=themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()
514 />
515 </div>
516 </div>
517
518 <#assign listaNome = curCPCatalogEntry.name?split(":") />
519 <p class="tituloDetalheLivro">${listaNome[0] + (listaNome?size gt 1)?then(":", "")}</p>
520 <#if listaNome?size gt 1>
521 <span class="subtituloLivro">${listaNome[1..]?join(":")}</span>
522 </#if>
523 <p class="autorDetalheLivro" style="margin-top: 5px !important;">
524 </p>
525 <p class="descricaoCurtaDetalheLivro desktop-only">
526 ${curCPCatalogEntry.shortDescription}
527 <br>
528 <#if !productService.isAvailable( curCPCatalogEntry.getCPDefinitionId() ) >
529 <span id="livroIndisponivelSpan">Livro Indisponível</span>
530 </#if>
531 </p>
532 <div class="price-buy-wrapper-desktop">
533 <div class="price-wrapper-desktop">
534 <#if curCPCatalogEntry.CPSkus?has_content>
535 <@liferay_commerce_ui["price"]
536 CPCatalogEntry=curCPCatalogEntry
537 />
538 </#if>
539 </div>
540 <#if productService.isAvailable( curCPCatalogEntry.getCPDefinitionId() ) >
541 <div class="addToCartCustom desktop-only">
542 <#assign
543 PortalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"]
544 id = "add-to-cart" + PortalUtil.generateRandomKey(request, "add-to-cart") + "" + curCPCatalogEntry.CPSkus[0].getSku()
545 />
546 <@liferay_commerce_ui["add-to-cart"]
547 CPInstanceId=curCPCatalogEntry.CPSkus[0].getCPInstanceId()
548 id=id
549 />
550 </div>
551 <#else>
552 <button id="livroIndisponivelButton">
553 Livro Indisponível
554 </button>
555 <button id="registroDeInteresseButton">
556 Registrar Interesse
557 </button>
558 </#if>
559 </div>
560</div>
561</div>
562
563<div class="col-1 offset-10 indiqueContainer mobile-only">
564 <i class="fas fa-share-alt"></i>
565 <span>Indicar</span>
566 <@liferay_social_bookmarks["bookmarks"]
567 className=curCPCatalogEntry.className
568 classPK=cpContentHelper.getDefaultCPInstance(request).getCPInstanceId()
569 displayStyle="menu"
570 title=curCPCatalogEntry.name
571 types="facebook,twitter"
572 url=themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()
573 />
574</div>
575
576<div class="col-12 informacoesContainer mobile-only">
577 <div class="informacoesContainer">
578
579 <div class="row w-25 p-3">
580 <div class="col-1 offset-10 indiqueContainer">
581 <i class="fas fa-share-alt"></i>
582 <span>Indicar</span>
583 <@liferay_social_bookmarks["bookmarks"]
584 className=curCPCatalogEntry.className
585 classPK=cpContentHelper.getDefaultCPInstance(request).getCPInstanceId()
586 displayStyle="menu"
587 title=curCPCatalogEntry.name
588 types="facebook,twitter"
589 url=themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()
590 />
591 </div>
592 </div>
593
594 <#assign listaNome = curCPCatalogEntry.name?split(":") />
595 <p class="tituloDetalheLivro">${listaNome[0] + (listaNome?size gt 1)?then(":", "")}</p>
596 <#if listaNome?size gt 1>
597 <span class="subtituloLivro">${listaNome[1..]?join(":")}</span>
598 </#if>
599 <p class="autorDetalheLivro" style="margin-top: 5px !important;">
600 </p>
601 <p class="descricaoCurtaDetalheLivro desktop-only">${curCPCatalogEntry.shortDescription}
602 </p>
603
604 <#if curCPCatalogEntry.CPSkus?has_content>
605 <div class="price-wrapper">
606 <@liferay_commerce_ui["price"]
607 CPCatalogEntry=curCPCatalogEntry
608 />
609 </div>
610</#if>
611
612<#if (productService.isAvailable( curCPCatalogEntry.getCPDefinitionId() )) == false>
613<div class="addToCartCustom desktop-only">
614 <#assign
615 PortalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"]
616 id = "add-to-cart" + PortalUtil.generateRandomKey(request, "add-to-cart") + "" + curCPCatalogEntry.CPSkus[0].getSku()
617 />
618 <@liferay_commerce_ui["add-to-cart"]
619 CPInstanceId=curCPCatalogEntry.CPSkus[0].getCPInstanceId()
620 id=id
621 />
622</div>
623<#else>
624<button id="livroIndisponivelButton">
625 Livro Indisponível
626</button>
627</#if>
628</div>
629</div>
630</div>
631</div>
632
633<#if productService.isAvailable( curCPCatalogEntry.getCPDefinitionId() )>
634<div class="mobile-only buy-mobile-wrapper">
635 <div class="d-flex">
636 <div class="preco">
637 <i class="icon-senac-sacola sacola-header-icon"></i>
638 <span class="currency">R$</span>
639 <div class="precoMobile"></div>
640 </div>
641 <div class="btn-comprar-wrapper">
642 <#assign
643 PortalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"]
644 id = "add-to-cart" + PortalUtil.generateRandomKey(request, "add-to-cart") + "" + curCPCatalogEntry.CPSkus[0].getSku()
645 />
646 <@liferay_commerce_ui["add-to-cart"]
647 CPInstanceId=curCPCatalogEntry.CPSkus[0].getCPInstanceId()
648 id=id
649 />
650 </div>
651 </div>
652</div>
653<#else>
654<div class="mobile-only buy-mobile-wrapper">
655 <button id="livroIndisponivelButton">
656 Livro Indisponível
657 </button>
658</div>
659</#if>
660</#list>
661</#if>
662
663<div class="estoque container d-flex align-items-center justify-content-center" style="padding: 40px 20px 50px 0;">
664 <p class="estoque-color-transparent">Quantidade em <br>estoque:
665 <span class="quantity">
666 <#list entries as curCPCatalogEntry>
667 <#list curCPCatalogEntry.getCPSkus() as sku>
668 <#if sku.isPublished()>
669 ${ciwils.getStockQuantity(themeDisplay.getCompanyId(), sku.getSku()) - cibqls.getCommerceBookedQuantity(themeDisplay.getCompanyId(), sku.getSku())}
670 <#else>
671 Sem Estoque
672 </#if>
673 </#list>
674</#list>
675</span>
676</p>
677</div>
678<div class="container d-flex-desktop pagamentoCepWrapper desktop-only">
679 <div class="row">
680 <div class="freteContainer container">
681 <div class="ebooksContainer">
682 <div style="display: flex; width:300px; position: relative;">
683 <i class="fa fa-file" style="font-size: 20px;margin-right: -35px;margin-top: 15px;z-index: 1;"></i>
684 <div class="ebooksTitleContainer">
685 <span>Ebooks</span>
686 </div>
687 <div class="ebooksContentContainer"></div>
688 <i class="ebooksChevron fa fa-chevron-right" style="display: block;position: absolute;right:50px;top:0;font-size: 20px;margin-top: 15px;z-index: 1; pointer-events: none"></i>
689 </div>
690 </div>
691 <div class="formasPagamentoContainer">
692 <div class="formasPagamentoTitle">
693 <i class="fas fa-credit-card" style="font-size: 20px; margin-right: 10px;"></i>
694 <span class="tituloBtnPag">Formas de Pagamento</span>
695 </div>
696 <div class="opcoesPagamentoDetalheLivro">
697
698 <ul>
699 <li>
700 <i class="fas fa-barcode"></i>
701 <span class="formaPagamentoItem">Boleto Bancário</span>
702 <span class="valorFormaPagamento"></span>
703 <div class="descricaoFormaPagamento">Parcela única, à vista</div>
704 </li>
705 <li>
706 <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 20 20" fill="none">
707 <path d="M15.5976 15.2988C15.2119 15.3002 14.8298 15.2251 14.4732 15.078C14.1167 14.9308 13.7929 14.7145 13.5205 14.4414L10.5201 11.4392C10.414 11.3377 10.2728 11.2811 10.126 11.2811C9.97918 11.2811 9.838 11.3377 9.73188 11.4392L6.72139 14.4497C6.44914 14.7231 6.1254 14.9399 5.76889 15.0875C5.41237 15.235 5.03014 15.3105 4.64428 15.3095H4.05688L7.8588 19.1114C8.42901 19.6804 9.20166 20 10.0072 20C10.8127 20 11.5854 19.6804 12.1556 19.1114L15.9651 15.3013L15.5976 15.2988Z" fill="#78849E"/>
708 <path d="M4.64491 4.68888C5.03078 4.68785 5.41302 4.76331 5.76954 4.9109C6.12606 5.05849 6.4498 5.27528 6.72203 5.54874L9.73251 8.55986C9.83715 8.66418 9.97888 8.72276 10.1266 8.72276C10.2744 8.72276 10.4161 8.66418 10.5208 8.55986L13.5205 5.56015C13.7925 5.28635 14.1162 5.06929 14.4727 4.92157C14.8293 4.77385 15.2116 4.69842 15.5976 4.69965H15.9588L12.1493 0.89013C11.8672 0.607931 11.5322 0.384072 11.1636 0.231341C10.795 0.0786106 10.3999 0 10.0009 0C9.60185 0 9.20674 0.0786106 8.83811 0.231341C8.46948 0.384072 8.13456 0.607931 7.85246 0.89013L4.05688 4.68888H4.64491Z" fill="#78849E"/>
709 <path d="M19.1099 7.85144L16.8078 5.54938C16.7559 5.5706 16.7004 5.58179 16.6443 5.58233H15.5975C15.0528 5.5837 14.5306 5.80003 14.1446 6.1843L11.1449 9.18211C10.8747 9.45177 10.5086 9.60323 10.1269 9.60323C9.74519 9.60323 9.37908 9.45177 9.10893 9.18211L6.09781 6.1729C5.71184 5.78839 5.18966 5.57183 4.64485 5.57029H3.3598C3.30684 5.5691 3.25451 5.55859 3.20519 5.53925L0.888557 7.85144C0.319559 8.42165 0 9.1943 0 9.99984C0 10.8054 0.319559 11.578 0.888557 12.1482L3.20012 14.4598C3.24933 14.4401 3.30173 14.4296 3.35473 14.4288H4.64485C5.18965 14.4272 5.7118 14.2106 6.09781 13.8262L9.1083 10.8157C9.65261 10.272 10.6012 10.272 11.1449 10.8157L14.1446 13.8147C14.5306 14.199 15.0528 14.4154 15.5975 14.4167H16.6443C16.7004 14.4171 16.7559 14.4283 16.8078 14.4497L19.1099 12.1476C19.3921 11.8655 19.6159 11.5306 19.7687 11.162C19.9214 10.7933 20 10.3982 20 9.99921C20 9.60019 19.9214 9.20509 19.7687 8.83646C19.6159 8.46783 19.3921 8.1329 19.1099 7.85081" fill="#78849E"/>
710 </svg>
711 <span class="formaPagamentoItem">Pix</span>
712 <span class="valorFormaPagamento"></span>
713 <div class="descricaoFormaPagamento">Parcela única, à vista</div>
714 </li>
715 <li>
716 <i class="far fa-credit-card"></i>
717 <span class="formaPagamentoItem">Cartão de Crédito</span>
718 <span class="valorFormaPagamento valorFormaPagamentoParcelado"></span>
719 <div class="descricaoFormaPagamento">
720 <span>Parcelado em até </span>
721 <span style="font-weight:600;" class="quantidadeParcelasCartao"></span>
722 <br>
723 com cartão
724 <span style="font-weight:600;">Mastercard</span>,
725 <span style="font-weight:600;"> Visa</span>
726 ou
727 <span style="font-weight:600;">Elo.</span>
728 </div>
729 </li>
730 </ul>
731 </div>
732 </div>
733 <div class="calculeCepContainer">
734 <label class="labelFrete"><i class="fas fa-truck" aria-hidden="true"></i> Calcule o frete</label>
735 <div style="position: relative">
736 <!-- <i class="fa fa-chevron-right freteIcon" aria-hidden="true"></i> -->
737 <input type="text" class="form-control" placeholder="Digite seu CEP" id="freteDetalheLivro" maxlength="9">
738 </div>
739 <label class="consulteCEP">
740 <a href="https://buscacepinter.correios.com.br/app/endereco/index.php" target="_blank">Não sabe seu CEP? Consulte aqui</a>
741 </label>
742 <div class="calcFretePrazoContainer">
743 <div class="labelsFretes">
744 <div>Sedex:</div>
745 <div>Valor:</div>
746 </div>
747 <div class="valuesFretes">
748 <div class="label-container-frete"></div>
749 <div class="valor-container-frete"></div>
750 </div>
751 </div>
752 </div>
753 </div>
754 <div class=" container informacoesContainerMob">
755 <div class="detalheLivroMob">
756 <#if entries?has_content>
757 <#list entries as curCPCatalogEntry>
758 <#assign listaNome = curCPCatalogEntry.name?split(":") />
759 <p class="tituloDetalheLivro">${listaNome[0] + (listaNome?size gt 1)?then(":", "")}</p>
760 <#if listaNome?size gt 1>
761 <span class="subtituloLivro">${listaNome[1..]?join(":")}</span>
762 </#if>
763 <p class="autorDetalheLivro"></p>
764 <#if curCPCatalogEntry.CPSkus?has_content>
765 <div class="row">
766 <div class="containerPrecoMob">
767 <div class="lockTitulo">
768 <i class="fa fa-lock"></i>
769 <div>Loja 100% segura</div>
770 </div>
771 <@liferay_commerce_ui["price"]
772 CPCatalogEntry=curCPCatalogEntry
773 />
774 </div>
775 </div>
776 </#if>
777 </#list>
778</#if>
779<div class="row">
780 <div class="col-6 offset-6"></div>
781</div>
782</div>
783
784<div class="row">
785 <div class="col-11 offset-1 freteInputMob">
786 <label class="labelFrete">
787 <i class="fas fa-truck"></i> Calcule o frete
788 </label>
789 <input type="text" class="form-control" placeholder="Digite seu CEP " id="freteDetalheLivroMob">
790 <p class="consulteCEP">
791 <a href="https://buscacepinter.correios.com.br/app/endereco/index.php" target="_blank">
792 Não sabe seu CEP? Consulte aqui
793 </a>
794 </p>
795 <div class="calcFretePrazoContainer">
796 <div class="labelsFretesMob">
797 <div>Sedex:</div>
798 <div>Valor:</div>
799 </div>
800 <div class="valuesFretes valuesFretesMob">
801 <div class="label-container-frete"></div>
802 <div class="valor-container-frete"></div>
803 </div>
804 </div>
805 </div>
806</div>
807
808<div class="row">
809 <div class="col-11 offset-1">
810 <i class="fas fa-credit-card" style="font-size: 20px; margin-right: 10px;"></i>
811 <span class="tituloBtnPag">Formas de Pagamento</span>
812 <div class="opcoesPagamentoDetalheLivro">
813 <ul>
814 <!--<li>
815 <i class="fas fa-barcode"></i>
816 <span class="formaPagamentoItem">Boleto Bancário</span>
817 <span class="valorFormaPagamento"></span>
818 <div class="descricaoFormaPagamento">Parcela única, à vista</div>
819 </li>-->
820 <li>
821 <i class="far fa-credit-card"></i>
822 <span class="formaPagamentoItem">Cartão de Crédito</span>
823 <span class="valorFormaPagamento valorFormaPagamentoParcelado"></span>'
824 <div class="descricaoFormaPagamento">
825 Parcelamento em até<strong> 3 vezes sem </br>juros</strong> com
826 <strong>Mastercard</strong>, <strong>Visa</strong> ou <strong>Elo.</strong>
827 </div>
828 </li>
829 </ul>
830 </div>
831 </div>
832</div>
833
834<div class="row lineAccorionDescricao">
835 <div class="col-12">
836 <ul id="menutree">
837 <li class="collapse">
838 <input type="checkbox" id="descricao">
839 <label for="descricao" class="acDescricao">
840 <i class="fa fa-book-open"></i>
841 <span style="font-weight:bold !important;margin-left:10px;">DESCRIÇÃO</span>
842 </label>
843 <div class="linhaAccordionAtivo"></div>
844 <i class="fas fa-play" aria-hidden="true"></i>
845 <ul>
846 <li class="acDescricaoLi">
847 <#if entries?has_content>
848 <#list entries as curCPCatalogEntry>
849 <pre>${curCPCatalogEntry.description?truncate(450)}</pre>
850 </#list>
851 </#if>
852 <div class="linhaFichaContainerMob"></div>
853 ${iconeClass}
854 <div class="fichaContainerMob">
855 <p><span class="itemFichaTecnicaMob">Ficha Técnica:</span></p>
856 <p><span class="itemFichaTecnicaMob">ISBN:</span> ${isbn}</p>
857 <p><span class="itemFichaTecnicaMob">Edição:</span> ${edicao}</p>
858 <p><span class="itemFichaTecnicaMob">Área:</span> <span>${categoria!''}</span></p>
859 <p><span class="itemFichaTecnicaMob">Número de páginas:</span> ${paginas}</p>
860 <p><span class="itemFichaTecnicaMob">Idioma:</span> ${idioma}</p>
861 <p><span class="itemFichaTecnicaMob">Data de lançamento:</span> ${lancamento}</p>
862 <p><span class="itemFichaTecnicaMob">Tamanho:</span> ${formato}</p>
863 <p><span class="itemFichaTecnicaMob">Editora(s):</span> ${editora}</p>
864 </div>
865 <div class="linhaFichaContainerMob"></div>
866 </li>
867 </ul>
868 </li>
869 <li class="collapse">
870 <input type="checkbox" id="autores">
871 <label for="autores" class="acDescricao">
872 <i class="fas fa-user-edit"></i>
873 <span style="font-weight:bold !important;margin-left:10px;">QUEM ESCREVEU?</span>
874 </label>
875 <div class="linhaAccordionAtivo"></div>
876 <i class="fas fa-play" aria-hidden="true"></i>
877 <ul>
878 <li class="acDescricaoLi">
879 <div class="fotoAutorContainer">
880 <div class="nomeAutor"></div>
881 </div>
882 </li>
883 </ul>
884 </li>
885 </ul>
886 </div>
887</div>
888</div>
889</div>
890</div>
891
892<div class="container mobile-only pagamentoCepWrapper">
893 <div class="ebooksContainer" style="margin-top: 65px;">
894 <div style="display: flex; width:310px; position: relative;">
895 <i class="fa fa-file" style="font-size: 20px;margin-right: -35px;margin-top: 15px;z-index: 1;"></i>
896 <div class="ebooksTitleContainer">
897 <span>Ebooks</span>
898 </div>
899 <div class="ebooksContentContainer"></div>
900 <i class="ebooksChevron fa fa-chevron-right" style="display: block;position: absolute;right:50px;top:0;font-size: 20px;margin-top: 15px;z-index: 1; pointer-events: none"></i>
901 </div>
902 </div>
903
904 <div class="calculeCepContainer">
905 <label class="labelFrete"><i class="fas fa-truck" aria-hidden="true"></i> Calcule o frete</label>
906 <div style="position: relative; width: 299px;">
907 <!-- <i class="fa fa-chevron-right freteIcon" aria-hidden="true"></i> -->
908 <input type="text" class="form-control" placeholder="Digite seu CEP" id="freteDetalheLivro" maxlength="9">
909 </div>
910 <label class="consulteCEP">
911 <a href="https://buscacepinter.correios.com.br/app/endereco/index.php" target="_blank">Não sabe seu CEP? Consulte aqui</a>
912 </label>
913 <div class="calcFretePrazoContainer">
914 <div class="labelsFretes">
915 <div>Sedex:</div>
916 <div>Valor:</div>
917 </div>
918 <div class="valuesFretes">
919 <div class="label-container-frete"></div>
920 <div class="valor-container-frete"></div>
921 </div>
922 </div>
923 </div>
924 <div class="formasPagamentoContainer">
925 <div class="formasPagamentoTitle">
926 <i class="fas fa-credit-card" style="font-size: 20px; margin-right: 10px;"></i>
927 <span class="tituloBtnPag">Formas de Pagamento</span>
928 </div>
929 <div class="opcoesPagamentoDetalheLivro">
930
931 <ul>
932 <!--<li>
933 <i class="fas fa-barcode"></i>
934 <span class="formaPagamentoItem">Boleto Bancário</span>
935 <span class="valorFormaPagamento"></span>
936 <div class="descricaoFormaPagamento">Parcela única, à vista</div>
937 </li>-->
938 <li>
939 <i class="far fa-credit-card"></i>
940 <span class="formaPagamentoItem">Cartão de Crédito</span>
941 <span class="valorFormaPagamento valorFormaPagamentoParcelado"></span>
942 <div class="descricaoFormaPagamento">
943 <span>Parcelado em até </span>
944 <span style="font-weight:600;" class="quantidadeParcelasCartao"></span>
945 <br>
946 com cartão
947 <span style="font-weight:600;">Mastercard</span>,
948 <span style="font-weight:600;"> Visa</span>
949 ou
950 <span style="font-weight:600;">Elo.</span>
951 </div>
952 </div>
953 </li>
954 </ul>
955 </div>
956</div>
957</div>
958
959<#assign
960definitionId = cPCatalogEntry.getCPDefinitionId()
961cpDefinitionSpecificationOptionValues = cpContentHelper.getCPDefinitionSpecificationOptionValues(definitionId)
962/>
963<div class="container tabsDescricaoAutor desktop-only">
964 <div class="row">
965 <div class="col-12">
966 <ul class="nav nav-tabs" id="myTab" role="tablist">
967 <li class="nav-item abaAtiva">
968 <a class="nav-link active" id="desc-tab" data-toggle="tab" href="#desc" role="tab"
969 aria-controls="profile" aria-selected="false">
970 <span class="iconDesc">
971 <svg id="Grupo_2726" data-name="Grupo 2726" xmlns="http://www.w3.org/2000/svg" width="30"
972 height="24.098" viewBox="0 0 30 24.098" style="margin-top: -5px;">
973 <path id="Caminho_1152" data-name="Caminho 1152"
974 d="M763.305,343.382c.254-.1.528-.21.785-.311v14.51a.7.7,0,0,0,.789.694,11.622,11.622,0,0,1,1.525-.1,14.863,14.863,0,0,1,4.4.689c.439.138.868.3,1.283.475-.56-.035-1.122-.066-1.628-.09-.375-.018-.719-.033-1.005-.044l-.383-.013c-.112,0-.206,0-.285,0a14.947,14.947,0,0,0-6.12,1.314v-16.86l.045-.019c.165-.072.37-.156.591-.245Zm9.751-1.313.05.036,2.324,1.539-.013,16.045a11.381,11.381,0,0,0-1.913-1.225,15.166,15.166,0,0,0-3.476-1.256,16.12,16.12,0,0,0-3.625-.426q-.465,0-.917.03V339.5h.346a11.569,11.569,0,0,1,7.223,2.572Zm5.721.366h0a11.512,11.512,0,0,0,.962-.64h0a11.537,11.537,0,0,1,6.868-2.3h.346v12.425a.7.7,0,1,0,1.4,0v-8.891l.714.281c.242.1.473.191.664.272l.143.062v16.86a14.933,14.933,0,0,0-6.12-1.314c-.127,0-.286,0-.477.012-.332.012-.753.035-1.217.063-.3.018-.613.039-.931.062a11.375,11.375,0,0,1,4.969-1.149,11.15,11.15,0,0,1,1.462.1.7.7,0,0,0,.791-.693v-2.371a.7.7,0,1,0-1.4,0h0v1.6q-.428-.029-.856-.028a12.973,12.973,0,0,0-8.158,2.928l-1.123.553.012-16.674,1.948-1.153Zm-17.378.433a.9.9,0,0,0-.128.464v17.959a.9.9,0,0,0,.076.362.878.878,0,0,0,.14.226.914.914,0,0,0,.307.232.9.9,0,0,0,.38.084.91.91,0,0,0,.412-.1h0a13.581,13.581,0,0,1,6.2-1.505c.1,0,.262,0,.467.01.363.012.856.034,1.4.062.823.041,1.767.1,2.573.159.4.03.771.059,1.07.089.151.016.281.03.39.043l.078.01.918.751a.693.693,0,0,0,.334.148.974.974,0,0,0,.362.07.945.945,0,0,0,.317-.054.991.991,0,0,0,.2-.1l1.58-.779a.358.358,0,0,0,.065-.009c.041-.008.1-.017.166-.027.128-.019.293-.04.484-.061.333-.037.742-.076,1.179-.112.654-.054,1.37-.1,1.988-.141.307-.018.592-.032.832-.042l.321-.012c.092,0,.172,0,.231,0a13.579,13.579,0,0,1,6.2,1.505.9.9,0,0,0,.412.1.915.915,0,0,0,.342-.067.9.9,0,0,0,.4-.319.895.895,0,0,0,.162-.518V343.333a.906.906,0,0,0-.478-.8h0c-.041-.022-.083-.043-.127-.063-.083-.04-.178-.083-.283-.128-.182-.079-.4-.168-.622-.258-.339-.138-.707-.281-1.024-.4l-.387-.151v-2.5a.929.929,0,0,0-.933-.931h-.811a12.932,12.932,0,0,0-7.7,2.572h0a9.88,9.88,0,0,1-.844.561h0l-1.977,1.17-2.188-1.449a12.963,12.963,0,0,0-8.067-2.854h-.811a.93.93,0,0,0-.773.41.9.9,0,0,0-.118.244.913.913,0,0,0-.041.277v2.541c-.32.124-.735.285-1.133.444-.246.1-.485.195-.691.283-.1.044-.2.085-.285.125s-.161.075-.232.112h0a.9.9,0,0,0-.352.334Z"
975 transform="translate(-761.271 -338.099)" fill="#78849e"/>
976 <path id="Caminho_1153" data-name="Caminho 1153"
977 d="M797.516,363.2a9.87,9.87,0,0,1,5.663,1.933l.451.333a.7.7,0,1,0,.829-1.125h0l-.451-.333a11.26,11.26,0,0,0-6.461-2.207.7.7,0,1,0-.031,1.4Z"
978 transform="translate(-791.136 -358.009)" fill="#78849e"/>
979 <path id="Caminho_1154" data-name="Caminho 1154"
980 d="M797.516,381.1a9.846,9.846,0,0,1,5.663,1.933l.451.333a.7.7,0,1,0,.829-1.125h0l-.451-.333a11.263,11.263,0,0,0-6.461-2.207.7.7,0,1,0-.031,1.4Z"
981 transform="translate(-791.136 -373.037)" fill="#78849e"/>
982 <path id="Caminho_1155" data-name="Caminho 1155"
983 d="M868.8,365.477h0l.453-.333a9.859,9.859,0,0,1,5.662-1.933.7.7,0,1,0-.031-1.4,11.243,11.243,0,0,0-6.463,2.206l-.452.333a.7.7,0,0,0,.83,1.125Z"
984 transform="translate(-850.644 -358.015)" fill="#78849e"/>
985 <path id="Caminho_1156" data-name="Caminho 1156"
986 d="M868.8,383.365h0l.453-.333a9.836,9.836,0,0,1,5.662-1.933.7.7,0,1,0-.031-1.4,11.258,11.258,0,0,0-6.463,2.207l-.452.333a.7.7,0,0,0,.83,1.125Z"
987 transform="translate(-850.644 -373.037)" fill="#78849e"/>
988 <path id="Caminho_1157" data-name="Caminho 1157"
989 d="M874.887,395.363a11.244,11.244,0,0,0-6.463,2.206l-.452.334a.7.7,0,0,0,.83,1.125h0l.453-.333a9.832,9.832,0,0,1,5.662-1.934.7.7,0,1,0-.031-1.4Z"
990 transform="translate(-850.644 -386.191)" fill="#78849e"/>
991 </svg>
992 <span>Descrição</span>
993 </span>
994 </a>
995 <i class="fas fa-play" style="visibility: visible"></i>
996 </span>
997 </li>
998 <li class="nav-item">
999 <a class="nav-link" id="spec-tab" data-toggle="tab" href="#spec" role="tab" aria-controls="contact"
1000 aria-selected="false">
1001 <span class="iconDesc">
1002 <i class="fas fa-user-edit"></i> <span>Quem escreveu?</span>
1003 </span>
1004 </a>
1005 <i class="fas fa-play"></i>
1006 </span>
1007 </li>
1008 </ul>
1009 <div class="tab-content" id="myTabContent">
1010 <div class="tab-pane fade show active" id="desc" role="tabpanel" aria-labelledby="desc-tab">
1011 <div class="container">
1012 <div class="row">
1013 <div class="col-5 fichaContainer">
1014 <p><span class="itemFichaTecnica">Ficha Técnica:</span></p>
1015 <p><span class="itemFichaTecnica">ISBN:</span> ${isbn}</p>
1016 <p><span class="itemFichaTecnica">Edição:</span> <span id="itemEdicao">${edicao}</span></p>
1017 <p><span class="itemFichaTecnica">Área:</span> ${categoria!''}</p>
1018 <p><span class="itemFichaTecnica">Número de páginas:</span> ${paginas}</p>
1019 <p><span class="itemFichaTecnica">Idioma:</span> ${idioma}</p>
1020 <p><span class="itemFichaTecnica">Data de lançamento:</span> ${lancamento}</p>
1021 <p><span class="itemFichaTecnica">Tamanho:</span> ${formato}</p>
1022 <p><span class="itemFichaTecnica">Editora(s):</span> ${editora}</p>
1023 </div>
1024 <div class="col-1"> </div>
1025 <div class="col-6 descricaoContainer">
1026 <div class="linhaDetalheLivroSuperior"></div>
1027 <#if entries?has_content>
1028 <#list entries as curCPCatalogEntry>
1029 <span>${iconeClass!''}</span>
1030 <pre>${curCPCatalogEntry.description?truncate(1400, '...')}</pre>
1031 <p class="d-none" id="itemSku">${curCPCatalogEntry.CPSkus[0].getSku()}</p>
1032 </#list>
1033 </#if>
1034 <div class="linhaDetalheLivroInferior"></div>
1035 </div>
1036 </div>
1037 </div>
1038 </div>
1039 <div class="tab-pane fade" id="spec" role="tabpanel" aria-labelledby="spec-tab">
1040 <div class="fotoAutorContainer">
1041 <div class="nomeAutor"></div>
1042 </div>
1043 </div>
1044 </div>
1045</div>
1046</div>
1047</div>
1048
1049<div class="tabsDescricaoAutor mobile-only">
1050 <div class="tab-single" data-tab-target="descricao">
1051 <div class="icon-wrapper"><i class="fa fa-book"></i></div>
1052 Descrição
1053 </div>
1054 <div class="tab-mobile-content" data-tab-id="descricao">
1055 <ul>
1056 <li class="acDescricaoLi">
1057 <#if entries?has_content>
1058 <#list entries as curCPCatalogEntry>
1059 <div>${curCPCatalogEntry.description?truncate(9999)}</div>
1060 </#list>
1061 </#if>
1062 <div class="linhaFichaContainerMob"></div>
1063 <div class="fichaContainerMob">
1064 ${iconeClass!''}
1065 <p><span class="itemFichaTecnicaMob">Ficha Técnica:</span></p>
1066 <p><span class="itemFichaTecnicaMob">ISBN:</span> ${isbn}</p>
1067 <p><span class="itemFichaTecnicaMob">Edição:</span> ${edicao}</p>
1068 <p><span class="itemFichaTecnicaMob">Área:</span> <span>${categoria!''}</span></p>
1069 <p><span class="itemFichaTecnicaMob">Número de páginas:</span> ${paginas}</p>
1070 <p><span class="itemFichaTecnicaMob">Idioma:</span> ${idioma}</p>
1071 <p><span class="itemFichaTecnicaMob">Data de lançamento:</span> ${lancamento}</p>
1072 <p><span class="itemFichaTecnicaMob">Tamanho:</span> ${formato}</p>
1073 <p><span class="itemFichaTecnicaMob">Editora(s):</span> ${editora}</p>
1074 </div>
1075 <div class="linhaFichaContainerMob"></div>
1076 </li>
1077 </ul>
1078 </div>
1079 <div class="tab-single" data-tab-target="sobre">
1080 <div class="icon-wrapper"><i class="fa fa-user-edit"></i></div>
1081 Sobre Autor
1082 </div>
1083 <div class="tab-mobile-content" data-tab-id="sobre">
1084 <ul>
1085 <li class="acDescricaoLi">
1086 <div class="fotoAutorContainer">
1087 <div class="nomeAutor"></div>
1088 </div>
1089 </li>
1090 </ul>
1091 </div>
1092</div>
1093
1094<div id="ri-myModal" class="ri-modal">
1095 <div class="ri-modal-content">
1096 <span class="ri-closeBtn">×</span>
1097 <div class="ri-title">Registro de interesse de compra</div>
1098 <form class="ri-form">
1099 <label for="ri-unidade" class="ri-label">Unidade</label>
1100 <input type="text" id="ri-unidade" class="ri-input filled" name="unidade" disabled>
1101
1102 <label for="ri-produto" class="ri-label">Produto selecionado</label>
1103 <input type="text" id="ri-produto" class="ri-input filled" name="produto" disabled>
1104
1105 <label for="ri-finalidade" class="ri-label">Finalidade*</label>
1106 <select id="ri-finalidade" class="ri-select" name="finalidade" style="background-color: #F5F5F5 !important;">
1107 <option value="0">Selecione</option>
1108 <option value="Material didático para curso">Material didático para curso</option>
1109 <option value="Livros para Biblioteca">Livros para Biblioteca</option>
1110 <option value="Brinde">Brinde</option>
1111 </select>
1112
1113 <label for="ri-quantidade" class="ri-label">Quantidade desejada*</label>
1114 <input type="number" id="ri-quantidade" class="ri-input" name="quantidade" value="0" min="0" required>
1115 <span class="ri-span">* Campo Obrigatório</span>
1116
1117 <span class="ri-span-error"></span>
1118
1119 <button type="submit" class="ri-submitBtn">Enviar solicitação</button>
1120 </form>
1121 </div>
1122 <div id="modal-success" class="modal-success">
1123 <div class="modal-envio-registro">
1124 <div class="modal-success-conteudo" tabindex="0">
1125 <div>
1126 <i class="fas fa-exclamation-circle text-success"></i>
1127 </div>
1128 <div class="modal-success-conteudo-text">
1129 Registro realizado com sucesso. <br>
1130 Em breve entraremos em contato!
1131 </div>
1132 </div>
1133 </div>
1134 <button id="btnFechaModalRegistro" class="btn btn-lg btn-success w-100 mt-10" data-test="form-duvidas-btnFecharEnvio">Voltar para home</button>
1135 </div>
1136</div>
1137
1138<div id="templateEmail">
1139 <div id="registroDeInteresseEmail">
1140 <table width="900" align="center" style="border: solid 1px #ecf0f1; font-family: Verdana; color: #7786a3;">
1141 <tbody>
1142 <tr>
1143 <td>
1144 <table width="100%" border="0">
1145 <tbody class="resumo-table-body">
1146 <tr style="background: #fd961f;">
1147 <td>
1148 <table width="100%" border="0">
1149 <tbody>
1150 <tr>
1151 <td width="3%"> </td>
1152 <td width="15%"> </td>
1153 <td width="12%"> </td>
1154 <td width="67%"> </td>
1155 <td width="3%"> </td>
1156 </tr>
1157 <tr>
1158 <td> </td>
1159 <td align="center"><img src="https://www.sp.senac.br/documents/20125/41021490/logo-senac-white.png"></td>
1160 <td> </td>
1161 <td>
1162 <h1 style="color: whitesmoke;font-size: 35px;line-height: normal;margin: 0;">Editora | Registro de Interesse de Compra</h1>
1163 </td>
1164 <td> </td>
1165 </tr>
1166 <tr>
1167 <td> </td>
1168 <td> </td>
1169 <td> </td>
1170 <td> </td>
1171 <td> </td>
1172 </tr>
1173 </tbody>
1174 </table>
1175 </td>
1176 </tr>
1177 <tr>
1178 <td> </td>
1179 </tr>
1180 <tr>
1181 <td>
1182 <table width="100%" border="0">
1183 <tbody>
1184 <tr>
1185 <td width="2%"><img src="https://www.sp.senac.br/documents/d/guest/logo-book" width="14" height="16" alt="" style="display: block; border: 0;"></td>
1186 <td width="20%"><strong style="color: #7786a3;">Unidade:</strong></td>
1187 <td width="78%"><strong style="color: #fd961f;" id="registroUnidadeNome"></strong></td>
1188 </tr>
1189 </tbody>
1190 </table>
1191 </td>
1192 </tr>
1193 <tr>
1194 <td> </td>
1195 </tr>
1196 <tr>
1197 <td>
1198 <table width="100%" border="0">
1199 <tbody>
1200 <tr>
1201 <td width="2%"><img src="https://www.sp.senac.br/documents/d/guest/logo-book" width="14" height="16" alt="" style="display: block; border: 0;"></td>
1202 <td width="98%"><strong style="color: #7786a3;">Usuário Solicitante:</strong></td>
1203 </tr>
1204 </tbody>
1205 </table>
1206 </td>
1207 </tr>
1208 <tr>
1209 <td><strong>Nome:</strong> <span id="registroUsuarioNome"></span> </td>
1210 </tr>
1211 <tr>
1212 <td><strong>Email:</strong> <span id="registroUsuarioEmail"></span></td>
1213 </tr>
1214 <tr>
1215 <td> </td>
1216 </tr>
1217 <tr>
1218 <td>
1219 <table width="100%" border="0">
1220 <tbody>
1221 <tr>
1222 <td width="2%"><img src="https://www.sp.senac.br/documents/d/guest/logo-book" width="14" height="16" alt="" style="display: block; border: 0;"></td>
1223 <td width="98%"><strong style="color: #7786a3;">Itens registrados:</strong></td>
1224 </tr>
1225 </tbody>
1226 </table>
1227 </td>
1228 </tr>
1229 <tr class="pedido-items-table">
1230 <tr>
1231 <td>
1232 <table id="item-43604674" class="resumo-pedido-item" width="100%" border="0" style="background: #f6efe9;">
1233 <tbody>
1234 <tr style="background: #f6efe9;">
1235 <td width="2%"> </td>
1236 <td width="62%"> </td>
1237 <td width="17%"> </td>
1238 <td width="17%"> </td>
1239 <td width="2%"> </td>
1240 </tr>
1241 <tr style="background: #f6efe9;">
1242 <td> </td>
1243 <td><strong>Produto</strong></td>
1244 <td align="center"><strong>Quantidade:</strong></td>
1245 <td align="center"><strong>Finalidade:</strong></td>
1246 <td> </td>
1247 </tr>
1248 <tr>
1249 <td> </td>
1250 <td id="registroProdutoNome"><br></td>
1251 <td id="registroProdutoQtd" align="center"></td>
1252 <td id="registroProdutoFin" align="center"></td>
1253 <td> </td>
1254 </tr>
1255 <tr>
1256 <td> </td>
1257 <td> </td>
1258 <td> </td>
1259 <td> </td>
1260 <td> </td>
1261 </tr>
1262 </tbody>
1263 </table>
1264 </td>
1265 </tr>
1266 <div class="resumo-pedido-item-divisor"></div>
1267 </tr>
1268 </tbody>
1269 </table>
1270 </td>
1271 </tr>
1272 </tbody>
1273 </table>
1274 </div>
1275</div>
1276
1277
1278<style>
1279 /*ajuste botão de login*/
1280 .ssp-desktop-menu__wrapper .btn-group {
1281 margin-left: 60px;
1282 }
1283
1284 .categoria-icon-svg{
1285 width: 27px;
1286 height: 30px;
1287 margin-bottom: 5px;
1288 margin-left: 10px;
1289 }
1290
1291 .botaoAmplie {
1292 display: none;
1293 }
1294 .ssp:not(.liferay-instance) h2, .tab-mobile-content {
1295 display: none;
1296 }
1297
1298 .tabsDescricaoAutor {
1299 margin-bottom: 50px;
1300 }
1301
1302 .tab-single {
1303 width: calc(100% - 20px);
1304 padding: 10px 23px 10px 17px;
1305 text-transform: uppercase;
1306 font-weight: 700;
1307 border: solid 1px #CED2DC;
1308 background-color: #F8F8F8;
1309 margin-left: -1px;
1310 border-radius: 6px;
1311 line-height: 39px;
1312 margin-bottom: -1px;
1313 }
1314
1315 .tab-single i {
1316 font-size: 22px;
1317 }
1318
1319 .icon-wrapper {
1320 margin-right: 2px;
1321 width: 31px;
1322 position: relative;
1323 top: 2px;
1324 text-align: center;
1325 display: inline-block;
1326 }
1327
1328 .tab-single.active {
1329 -webkit-box-shadow: 0px 2px 0px 0px #F6921E;
1330 box-shadow: 0px 2px 0px 0px #F6921E;
1331 position: relative;
1332 }
1333
1334 .tab-single.active:after {
1335 content: "\f04b";
1336 font-family: "Font Awesome 5 Pro";
1337 font-weight: 900;
1338 position: absolute;
1339 transform: rotate(90deg);
1340 color: #F6921E;
1341 bottom: -27px;
1342 font-size: 24px;
1343 left: 83px;
1344 }
1345
1346 .tab-mobile-content {
1347 width: calc(100% - 9px);
1348 padding: 20px 23px 10px 19px;
1349 border: solid 1px #CED2DC;
1350 background-color: #F8F8F8;
1351 margin-left: -1px;
1352 border-radius: 5px;
1353 margin-top: 10px;
1354 margin-bottom: 10px;
1355 }
1356
1357 .tab-mobile-content .fichaContainerMob {
1358 width: 100%;
1359 margin-left: 0px!important;
1360 padding-top: 0px;
1361 margin-top: 0px;
1362 margin-bottom: 0px;
1363 }
1364
1365 .tab-mobile-content .linhaFichaContainerMob {
1366 width: 100%;
1367 margin-top: 20px;
1368 margin-bottom: 20px;
1369 }
1370
1371 .taglib-social-bookmarks button{
1372 font-size: 0 !important;
1373 position: absolute;
1374 top: -105px;
1375 width: 72px;
1376 padding: 0;
1377 left: -32px;
1378 height: 115px;
1379 }
1380 .taglib-social-bookmarks button svg{
1381 display: none;
1382 }
1383
1384 /* Ajustes da versão dektop para homologação */
1385 .autorDetalheLivro {
1386 color: #78849e;
1387 }
1388
1389 .tituloDetalheLivro {
1390 width: 90%;
1391 font-size: 32px !important;
1392 font-weight: bold !important;
1393 color: #454F63 !important;
1394 padding-right: 65px;
1395 text-transform: none !important;
1396 }
1397
1398 .descricaoCurtaDetalheLivro {
1399 font-size: 16px !important;
1400 color: #454f63;
1401 flex: 1;
1402 margin-bottom: 25px;
1403 }
1404
1405 .tituloBtnPag {
1406 font-size: 14px !important;
1407 font-weight: 500 !important;
1408 }
1409
1410 .formaPagamentoItem {
1411 color: #454F63 !important;
1412 font-size: 14px !important;
1413 font-weight: 600;
1414 }
1415 .itemFichaTecnica {
1416 font-weight: bold !important;
1417 }
1418
1419 .fichaContainer > p:nth-child(1) {
1420 margin-top: 40px;
1421 }
1422
1423 .ebooksContainer {
1424 margin-right: 10px;
1425 margin-bottom: 240px;
1426 margin-top: 65px;
1427 padding-left: 20px;
1428 }
1429
1430 .formasPagamentoContainer {
1431 margin-right: 70px;
1432 margin-bottom: 240px;
1433 margin-top: 40px;
1434 }
1435
1436 .calculeCepContainer {
1437 display: flex;
1438 flex-direction: column;
1439 margin-top: 40px;
1440 margin-left: 48px;
1441 }
1442 .addToCartCustom{
1443 margin-top: 24px;
1444 }
1445 .addToCartCustom .quantity-selector{
1446 display: none;
1447 }
1448 .addToCartCustom .quantity-selector input{
1449 padding: 10px;
1450 background: #FFF;
1451 }
1452
1453 /*********************************************/
1454 .tab-pane {
1455 width: 10000px !important;
1456 margin-left: -360% !important;
1457 background: #F8F8F8 !important;
1458 }
1459
1460 .nav-tabs {
1461 min-width: 10000px !important;
1462 margin-left: -283% !important;
1463 justify-content: unset !important;
1464 }
1465
1466 .nav-tabs > li:nth-child(1) > a > .iconDesc {
1467 margin-left: 96% !important;
1468 text-transform: uppercase;
1469 font-weight: bold;
1470 }
1471
1472 .nav-tabs > li:nth-child(2) > a > .iconDesc {
1473 margin-left: 23px !important;
1474 text-transform: uppercase;
1475 font-weight: bold;
1476 }
1477
1478 .tabsDescricaoAutor > div > div > ul > li:nth-child(1) > i {
1479 left: 97% !important;
1480 top: 43px !important;
1481 }
1482
1483 .tabsDescricaoAutor > div > div > ul > li:nth-child(2) > i {
1484 left: 100px !important;
1485 top: 44px !important;
1486 }
1487
1488 /*--------------------------------------------------------------------*/
1489 .lfr-notification-container {
1490 display: none !important;
1491 }
1492
1493 .detalheContainerImg {
1494 display: flex;
1495 flex-direction: column;
1496 align-items: center;
1497 width: 100%;
1498 height: auto;
1499 }
1500
1501 .detalheContainerImg img {
1502 left: 19px;
1503 min-width: 70px !important;
1504 max-width: 70px !important;
1505 min-height: 70px;
1506 max-height: 70px;
1507 margin-top: 6px;
1508 margin-bottom: 6px;
1509 }
1510
1511 .detalheContainerImg img:nth-child(2) {
1512 display: none;
1513 }
1514
1515 .pagamentoContainer {
1516 padding-top: 350px;
1517 }
1518
1519 .indiqueContainer {
1520 width: 73px;
1521 height: 113.85px;
1522 background: #F7BD23;
1523 border-radius: 4px;
1524 position: absolute;
1525 top: -30px;
1526 left: 6%;
1527 text-align: center;
1528 }
1529
1530 .indiqueContainer i {
1531 color: #FFFFFF;
1532 font-size: 24px;
1533 margin-top: 50%;
1534 margin-bottom: 15px;
1535 }
1536
1537 .indiqueContainer span {
1538 color: #FFFFFF;
1539 font-size: 14px;
1540 font-family: 'Montserrat', sans-serif;
1541 font-weight: bold;
1542 }
1543
1544 .addToCartCustom {
1545 display: flex;
1546 justify-content: space-between;
1547 margin-left: 40px;
1548 }
1549
1550 .addToCartCustom > div > div {
1551 display: inline-flex;
1552 color: #78849E;
1553 font-family: 'Montserrat', sans-serif;
1554 margin-bottom: 0;
1555 }
1556
1557 .addToCartCustom > div > div > select {
1558 max-width: 90px;
1559 margin-right: 60px;
1560 min-height: 50px;
1561 }
1562
1563 .addToCartCustom > div > div > label {
1564 margin-right: 15px;
1565 color: #78849E !important;
1566 margin-top: 18px;
1567 font-family: 'Montserrat', sans-serif !important;
1568 font-size: 14px !important;
1569 }
1570
1571 .addToCartCustom > div:nth-child(2) > button, .addToCartCustom > div:nth-child(2) > button:focus {
1572 width: 345px;
1573 height: 50px;
1574 background: #5ACC75;
1575 padding: 0 !important;
1576 color: #FFFFFF !important;
1577 font-size: 22px !important;
1578 }
1579
1580 .btnPagamento .fas {
1581 font-size: 21px;
1582 }
1583
1584 .estoque-color {
1585 color: #4ECF6C;
1586 }
1587
1588 .estoque-color-transparent {
1589 color: transparent !important;
1590 }
1591
1592 .freteContainer {
1593 display: flex;
1594 justify-content: space-around;
1595 margin-top: 80px;
1596 height: 0;
1597 overflow: hidden;
1598 }
1599
1600 .opcoesPagamentoDetalheLivro {
1601 border-radius: 4px;
1602 background: #FFFFFF;
1603 border: 1px solid #A2ACC3;
1604 margin-top: 0px;
1605 padding: 19px 10px 22px;
1606 float: left;
1607 position: absolute;
1608 font-size: 14px !important;
1609 color: #454F63;
1610 min-width: 299px;
1611 font-family: "Montserrat", sans-serif;
1612 display: block;
1613 }
1614
1615 .opcoesPagamentoDetalheLivro ul li {
1616 margin-bottom: 15px;
1617 border-bottom: 1px solid rgba(0, 0, 0, 0.16);
1618 padding-bottom: 7px;
1619 margin-top: 10px;
1620 }
1621
1622 .opcoesPagamentoDetalheLivro ul li i {
1623 margin-right: 10px;
1624 }
1625
1626 .opcoesPagamentoDetalheLivro ul li:first-child {
1627 margin-top: 0;
1628 }
1629
1630 .opcoesPagamentoDetalheLivro ul li:last-child {
1631 border-bottom: none;
1632 margin-bottom: 0;
1633 padding-bottom: 0;
1634 }
1635
1636 .valorFormaPagamento {
1637 float: right;
1638 color: #454F63 !important;
1639 font-weight: 600 !important;
1640 }
1641
1642 .descricaoFormaPagamento {
1643 color: #78849E !important;
1644 font-size: 14px !important;
1645 margin-left: 29px;
1646 margin-top: 2px;
1647 line-height: 21px;
1648 }
1649
1650 #freteDetalheLivro {
1651 max-width: 333px !important;
1652 padding: 0.4375rem 1rem;
1653 font-family: "Montserrat", sans-serif;
1654 font-style: normal;
1655 font-weight: normal;
1656 text-decoration: inherit;
1657 color: #F6921E !important;
1658 background: #FFFFFF !important;
1659 box-shadow: 0 0 12px #0000000f;
1660 height: auto;
1661 line-height: 1.5;
1662 min-height: 49.99px;
1663 font-size: 16px !important;
1664 color: #A2ACC3 !important;
1665 border-color: rgb(162, 172, 195)!important;
1666 }
1667
1668 #freteDetalheLivro::-webkit-input-placeholder {
1669 font-family: "Montserrat", sans-serif;
1670 font-weight: normal;
1671 overflow: visible;
1672 vertical-align: top;
1673 display: inline-block !important;
1674 color: hsl(9, 40%, 60%);
1675 font-size: 16px !important;
1676 }
1677
1678 .labelFrete {
1679 font-size: 14px !important;
1680 }
1681
1682 .labelFrete i {
1683 font-size: 20px !important;
1684 margin-right: 6px;
1685 }
1686
1687 .consulteCEP, .consulteCEP a {
1688 font-size: 14px !important;
1689 color: #78849E !important;
1690 text-decoration: underline;
1691 font-weight: normal;
1692 padding-top: 12px;
1693 }
1694
1695 .consulteCEP a:hover {
1696 font-weight: normal !important;
1697 }
1698
1699 .btnActivePagamento > i:nth-of-type(2) {
1700 transform: rotate(90deg);
1701 }
1702
1703 .imgDetalheProdutoContainer {
1704 padding-bottom: 20px;
1705 margin-top: 57px;
1706 min-height: 435px;
1707 }
1708
1709 .pagamentoContainer {
1710 display: none;
1711 }
1712
1713 .tabsDescricaoAutor > div > div > ul > li {
1714 min-width: 570px;
1715 border: 1px solid #A4ACC1;
1716 border-radius: 6px;
1717 color: #A4ACC1 !important;
1718 max-height: 50px;
1719 margin: 0 0 0 10px;
1720 width: 40%;
1721 }
1722
1723 .tabsDescricaoAutor > div > div > ul > li > a {
1724 margin-top: -5px !important;
1725 font-family: "Montserrat", sans-serif !important;
1726 }
1727
1728 .tabsDescricaoAutor > div > div > ul > li > i {
1729 color: #F6921E !important;
1730 font-size: 32px !important;
1731 transform: rotate(90deg);
1732 position: absolute;
1733 top: 41px;
1734 left: 50px;
1735 z-index: 9999 !important;
1736 }
1737
1738 .tabsDescricaoAutor > div > div > ul > li > i {
1739 visibility: hidden;
1740 }
1741
1742 .tabsDescricaoAutor > div > div > ul > li > a.active {
1743 background-color: transparent !important;
1744 max-height: 55px;
1745 font-family: "Montserrat", sans-serif !important;
1746 }
1747
1748 .tabsDescricaoAutor > div > div > ul > li > a:hover, .tabsDescricaoAutor > div > div > ul > li > a:focus {
1749 font-weight: normal !important;
1750 text-decoration: none !important;
1751 }
1752
1753 .tabsDescricaoAutor > div > div > ul > li > a > span {
1754 font-size: 16px !important;
1755 }
1756
1757 .abaAtiva {
1758 background: #F8F8F8;
1759 }
1760
1761 .abaAtiva a {
1762 border-bottom: 2px solid #F6921E !important;
1763 color: #454F63 !important
1764 }
1765
1766 .fichaContainer {
1767 top: 20px !important;
1768 border-right: 2px solid #A4ACC1;
1769 padding-right: 25px;
1770 min-height: 380px;
1771 margin-left: -15%;
1772 font-size: 16px;
1773 }
1774
1775 .itemFichaTecnica {
1776 font-family: "Montserrat", sans-serif !important;
1777 font-size: 16px !important;
1778 color: #454F63 !important;
1779 }
1780
1781 .descricaoContainer {
1782 /* margin-top: 40px; */
1783 height: 450px;
1784 }
1785
1786 .linhaDetalheLivroSuperior {
1787 border-bottom: 2px solid #F6921E !important;
1788 padding: 20px 0 0 0;
1789 margin-left: 100px;
1790 width: 630px;
1791 }
1792
1793 .linhaDetalheLivroInferior {
1794 border-bottom: 2px solid #F6921E !important;
1795 width: 500px;
1796 padding: 0 0 0 0;
1797 margin-left: 10px;
1798 }
1799
1800 .descricaoContainer pre {
1801 font-family: "Montserrat", sans-serif !important;
1802 font-size: 18px !important;
1803 color: #454F63 !important;
1804 width: 730px;
1805 margin-top: 20px;
1806 margin-bottom: 30px;
1807 max-height: 380px;
1808 margin-left: 10px;
1809 white-space: break-spaces;
1810 }
1811
1812 .descricaoContainer > span > i {
1813 font-family: "Font Awesome 5 Pro" !important;
1814 position: absolute;
1815 left: -30px;
1816 top: 60px;
1817 font-size: 31px;
1818 color: #F6921E;
1819 }
1820
1821 .fotoAutorContainer {
1822 display: flex;
1823 width: 900px;
1824 margin: auto;
1825 }
1826
1827 .fotoAutorContainer > .nomeAutor > .biografiaAutor {
1828 white-space: pre-wrap;
1829 font-family: 'Montserrat', sans-serif !important;
1830 font-size: 18px !important;
1831 color: #454F63 !important;
1832 line-height: 21px;
1833 overflow: hidden;
1834 padding: 12px 25px 15px;
1835 margin-left: 10px;
1836 margin-top: 0 !important;
1837 margin-bottom: 0;
1838 }
1839
1840 .fotoAutorContainer > .nomeAutor > .biografiaAutor::before {
1841 padding-left: 30px;
1842 font-weight: bold;
1843 }
1844
1845 .fotoAutorContainer > .nomeAutor {
1846 font-size: 20px !important;
1847 font-family: 'Montserrat', sans-serif !important;
1848 color: #454F63 !important;
1849 margin: auto;
1850 }
1851
1852 .fotoAutorContainer img {
1853 width: 283px;
1854 height: 346px;
1855 object-fit: cover;
1856 }
1857
1858 .fotoAutorContainer span {
1859 padding-left: 25px;
1860 font-weight: bold;
1861 width: auto;
1862 margin-right: 15px;
1863 }
1864
1865 .fotoAutorContainer > ul > li {
1866 font-size: 28px !important;
1867 font-family: 'Montserrat', sans-serif !important;
1868 line-height: 40px !important;
1869 color: #454F63 !important;
1870 list-style: circle;
1871 cursor: pointer;
1872 font-weight: 100;
1873 }
1874
1875 .linhaDetalheSuperiorAutor {
1876 border-bottom: 2px solid #F6921E !important;
1877 width: 480px;
1878 margin-top: 15px;
1879 margin-bottom: 20px;
1880 }
1881
1882 .linhaDetalheInferiorAutor {
1883 border-bottom: 2px solid #F6921E !important;
1884 width: 480px;
1885 margin-top: 0;
1886 margin-left: 35px;
1887 }
1888
1889 .linhaDetalheInferiorAutor i {
1890 position: absolute;
1891 left: 1090px;
1892 margin-top: -15px;
1893 font-size: 31px !important;
1894 color: #F6921E !important;
1895 }
1896
1897 .linhaNomeAutor {
1898 font-family: 'Montserrat', sans-serif !important;
1899 font-weight: bold;
1900 font-size: 20px;
1901 display: flex;
1902 flex-direction: row;
1903 text-align: left;
1904 color: #454F63;
1905 margin-bottom: 0;
1906 margin-left: 10px;
1907 }
1908
1909 .linhaNomeAutor:before {
1910 content: "";
1911 border-bottom: 0 solid white;
1912 margin-left: 25px;
1913 }
1914
1915 .linhaNomeAutor:after {
1916 content: "";
1917 flex: 1 1;
1918 border-bottom: 2px solid #f6921e;
1919 margin: 0 10px 13px 26.5px;
1920 }
1921
1922 .subtituloLivro {
1923 width:85%;
1924 font-size: 22px !important;
1925 font-weight: 500 !important;
1926 margin-top: 0 !important;
1927 color: #454f63;
1928 }
1929
1930 @media (min-width: 800px) {
1931 .subtituloLivro {
1932 margin-right: 93px;
1933 }
1934 .tituloDetalheLivro {
1935 padding-right: 93px;
1936 }
1937 }
1938
1939 .btnVoltarAutores {
1940 display: flex;
1941 flex-direction: column-reverse;
1942 position: sticky;
1943 top: 10px;
1944 z-index: 10;
1945 cursor: pointer;
1946 font-size: 20px !important;
1947 color: #f6921e;
1948 }
1949
1950 .btnVoltarAutores span {
1951 display: block;
1952 margin-left: -25px;
1953 }
1954
1955 .nav-tabs + .tab-content .tab-pane {
1956 padding-bottom: 58px;
1957 }
1958
1959 .calcFretePrazoContainer {
1960 width: 300px;
1961 height: 75px;
1962 background: #e4e8f0;
1963 color: #A2ACC3 !important;
1964 font-size: 14px !important;
1965 border-radius: 4px;
1966 margin-top: -55px;
1967 display: none;
1968 border: 1px solid #A2ACC3;
1969 }
1970
1971 .labelsFretes, .labelsFretesMob {
1972 display: flex;
1973 }
1974
1975 .valuesFretes {
1976 display: flex;
1977 margin-top: -20px;
1978 }
1979
1980 .valuesFretesMob {
1981 display: flex;
1982 margin-top: -20px;
1983 }
1984
1985 .labelsFretes > div, .labelsFretesMob > div {
1986 padding: 10px;
1987 margin-right: 40%;
1988 font-family: 'Montserrat', sans-serif !important;
1989 color: #78849E !important;
1990 font-weight: 600;
1991 }
1992
1993 .labelsFretes > div:nth-child(2), .labelsFretesMob > div:nth-child(2) {
1994 margin-left: -30px !important;
1995 }
1996
1997 .labelsFretes > div:nth-child(1), .valuesFretes > div:nth-child(1) {
1998 margin-left: 30px;
1999 }
2000
2001 .labelsFretesMob > div:nth-child(1), .valuesFretesMob > div:nth-child(1) {
2002 margin-left: 30px;
2003 }
2004
2005 .valuesFretes > div, .valuesFretesMob > div {
2006 padding: 10px;
2007 margin-right: 20%;
2008 font-family: 'Montserrat', sans-serif !important;
2009 color: #454F63 !important;
2010 font-weight: 500;
2011 min-width: 100px;
2012 }
2013
2014 .valuesFretes > div:nth-child(2), .valuesFretesMob > div:nth-child(2) {
2015 margin-right: 20% !important;
2016 }
2017
2018 .lineAccorionDescricao > div > ul > li > label::after {
2019 content: "" !important;
2020 }
2021
2022 .lineAccorionDescricao > div > ul > li > label {
2023 color: #78849E !important;
2024 width: 90% !important;
2025 }
2026
2027 .lineAccorionDescricao > div > ul {
2028 box-shadow: none !important;
2029 }
2030
2031 .lineAccorionDescricao > div > ul > li {
2032 border: 1px solid #78849E !important;
2033 }
2034
2035 .lineAccorionDescricao > div > ul > li:nth-child(1) {
2036 margin-bottom: -2px;
2037 }
2038
2039 .linhaAccordionAtivo {
2040 display: none;
2041 border: 1.2px solid #F6921E;
2042 background: #F6921E;
2043 }
2044
2045 .linhaAccordionAtivo ~ i {
2046 display: none;
2047 color: #F6921E;
2048 font-size: 20px !important;
2049 transform: rotate(90deg);
2050 position: absolute;
2051 }
2052
2053 .abaActiveAccordion:nth-of-type(1) {
2054 height: 750px;
2055 overflow: hidden;
2056 background: #F8F8F8 !important;
2057 }
2058
2059 .abaActiveAccordion:nth-of-type(2) {
2060 height: 550px;
2061 background: #F8F8F8 !important;
2062 }
2063
2064 .abaActiveAccordion > ul {
2065 visibility: visible !important;
2066 opacity: 1 !important;
2067 }
2068
2069 .acDescricaoLi > div > .listaAutores {
2070 visibility: visible !important;
2071 opacity: 1 !important;
2072 margin-top: 20px;
2073 }
2074
2075 .acDescricaoLi > div > .listaAutores > li {
2076 margin: 0 0 0 60px;
2077 font-size: 18px !important;
2078 }
2079
2080 .lineAccorionDescricao > div > ul > li > ul > li > pre {
2081 font-weight: 100;
2082 }
2083
2084 .itemFichaTecnicaMob {
2085 font-family: "Montserrat", sans-serif !important;
2086 font-weight: 500;
2087 color: #454F63 !important;
2088 font-size: 12px !important;
2089 }
2090
2091 .itemFichaTecnicaMob ~ root > value, .itemFichaTecnicaMob ~ span {
2092 font-family: "Montserrat", sans-serif !important;
2093 font-weight: 100;
2094 color: #454F63 !important;
2095 font-size: 12px !important;
2096 }
2097
2098 .linhaFichaContainerMob {
2099 width: 295px;
2100 height: 2px;
2101 background: #F6921E;
2102 margin: auto;
2103 }
2104
2105 .linhaFichaContainerMob ~ i {
2106 color: #F6921E !important;
2107 font-size: 20px !important;
2108 position: absolute;
2109 }
2110
2111 .linhaFixaComprar {
2112 height: 40px;
2113 position: fixed;
2114 z-index: 99999;
2115 width: 100%;
2116 padding: 0 !important;
2117 display: flex;
2118 margin: auto !important;
2119 bottom: 0;
2120 }
2121
2122 .valorBarraFixa {
2123 background: #454F63;
2124 padding: 10px;
2125 color: #F6921E !important;
2126 }
2127
2128 .valorBarraFixa i {
2129 color: #FFFFFF !important;
2130 margin-left: 10%;
2131 }
2132
2133 .valorBarraFixa span:nth-child(2) {
2134 margin-left: 5px;
2135 font-weight: bold;
2136 font-size: 12px !important;
2137 }
2138
2139 .valorBarraFixa span:nth-child(3) {
2140 font-weight: bold;
2141 font-size: 15px !important;
2142 }
2143
2144 .btnBarraFixa {
2145 background: #5ACC75;
2146 margin: auto;
2147 }
2148
2149 .btnBarraFixa > div > div {
2150 display: none;
2151 }
2152
2153 .btnBarraFixa > div:nth-child(2) > button, .btnBarraFixa > div:nth-child(2) > button:focus, .btnBarraFixa > div:nth-child(2) > button:active {
2154 background: #5ACC75 !important;
2155 color: #FFFFFF !important;
2156 width: 109%;
2157 margin-left: -4%;
2158 padding: 0;
2159 min-height: 40px;
2160 border: 1px solid #5ACC75;
2161 outline: none !important;
2162 box-shadow: none !important;
2163 }
2164
2165 .nav-link.active > .iconDesc > span {
2166 font-size: 18px !important;
2167 }
2168
2169 .imgProdutoPrincipal img {
2170 width: 358px !important;
2171 height: 524px !important;
2172 margin-top: -50px;
2173 margin-left: -163px
2174 }
2175
2176 .informacoesContainer {
2177 display: flex;
2178 flex-direction: column;
2179 min-height: 405px;
2180 margin-top: 0 !important;
2181 padding: 0 20px;
2182 justify-content: flex-end;
2183 }
2184
2185 .detalheProdutolinha1 {
2186 height: 100% !important;
2187 }
2188
2189 .form-control.commerce-input.commerce-input--select.u-wauto {
2190 padding-left: 23px;
2191 width: 70px;
2192 }
2193
2194 .autorDetalheLivro {
2195 margin-bottom: 18px !important;
2196 font-size: 22px !important;
2197 }
2198
2199 .imgDetalheProdutoContainer img {
2200 object-fit: contain;
2201 }
2202
2203 .detalheContainerImg {
2204 cursor: default;
2205 }
2206
2207 .detalheContainerImg img {
2208 cursor: pointer;
2209 }
2210
2211 .freteIcon {
2212 font-weight: 400;
2213 font-size: 19px;
2214 position: absolute;
2215 top: 30%;
2216 right: 17px;
2217 pointer-events: none;
2218 color: #a2acc3;
2219 }
2220
2221 .linhaDe.precoLivroIndisponivel span,
2222 .linhaPor.precoLivroIndisponivel span {
2223 color: #ccd3e3;
2224 }
2225
2226 #freteDetalheLivro::placeholder {
2227 font-family: "Montserrat", sans-serif;
2228 font-size: 16px;
2229 color: #a2acc3;
2230 }
2231
2232 #livroIndisponivelButton, #registroDeInteresseButton {
2233 color: #fafdff;
2234 height: 50px;
2235 width: 400px;
2236 font-size: 22px;
2237 font-weight: 600;
2238 border-radius: 5px;
2239 border: none;
2240 white-space: nowrap;
2241 }
2242
2243 #livroIndisponivelButton {
2244 background-color: #454f63;
2245 cursor: not-allowed;
2246 }
2247
2248 #registroDeInteresseButton {
2249 display: none;
2250 background-color: #F6921E;
2251 }
2252
2253 #livroIndisponivelSpan {
2254 display: none;
2255 background-color: #A2ACC3;
2256 color: #FFFFFF;
2257 width: 225px;
2258 height: 30px;
2259 border-radius: 5px;
2260 font-size: 14px;
2261 padding: 5px 15px;
2262 margin-top: 15px;
2263 text-align: center;
2264 }
2265
2266 .ri-button {
2267 padding: 10px 20px;
2268 font-size: 16px;
2269 cursor: pointer;
2270 background-color: #007bff;
2271 color: #FFFFFF;
2272 border: none;
2273 border-radius: 5px;
2274 }
2275
2276 .ri-modal {
2277 display: none;
2278 position: fixed;
2279 z-index: 10000;
2280 left: 0;
2281 top: 0;
2282 width: 100%;
2283 height: 100%;
2284 overflow: auto;
2285 background-color: rgba(0, 0, 0, 0.7);
2286 }
2287
2288 .ri-modal-content {
2289 background-color: #fff;
2290 margin: 15% auto;
2291 padding: 20px;
2292 border: 1px solid #ccc;
2293 width: 80%;
2294 max-width: 500px;
2295 box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
2296 position: relative;
2297 z-index: 10002;
2298 border-radius: 10px;
2299 }
2300
2301 .modal-success {
2302 display: none;
2303 position: relative;
2304 margin: 20% auto;
2305 padding: 20px;
2306 width: 40%;
2307 max-width: 600px;
2308 overflow: hidden;
2309 }
2310
2311 .modal-envio-registro {
2312 background-color: #fff;
2313 border-radius: 10px;
2314 padding: 20px;
2315 }
2316
2317 .modal-success-conteudo {
2318 display: flex;
2319 }
2320
2321 .modal-success-conteudo-text {
2322 margin-left: 15px;
2323 font-weight: 500;
2324 font-size: 16px;
2325 }
2326
2327 #btnFechaModalRegistro {
2328 padding: 10px;
2329 }
2330
2331 .ri-closeBtn {
2332 color: #aaa;
2333 float: right;
2334 font-size: 28px;
2335 font-weight: bold;
2336 }
2337
2338 .ri-closeBtn:hover,
2339 .ri-closeBtn:focus {
2340 color: black;
2341 text-decoration: none;
2342 cursor: pointer;
2343 }
2344
2345 .ri-title {
2346 margin-top: 0;
2347 font-weight: 500;
2348 color: #454F73;
2349 font-size: 22px;
2350 margin-bottom: 10px;
2351 }
2352
2353 .ri-form {
2354 display: flex;
2355 flex-direction: column;
2356 }
2357
2358 .ri-label {
2359 margin-bottom: 5px;
2360 font-weight: 700;
2361 color: #454F73;
2362 font-size: 18px;
2363 }
2364
2365 .ri-input, .ri-select {
2366 margin-bottom: 15px;
2367 padding: 10px;
2368 font-size: 14px;
2369 border: 0 !important;
2370 border-radius: 5px;
2371 width: 100%;
2372 box-sizing: border-box;
2373 color: #454F73 !important;
2374 background-color: #F5F5F5;
2375 }
2376
2377 .ri-input.filled {
2378 background-color: #FFF;
2379 border: 0;
2380 }
2381
2382 .ri-span {
2383 text-align: end;
2384 margin-bottom: 10px;
2385 }
2386
2387 .ri-span-error {
2388 display: none;
2389 color: #ff0000;
2390 text-align: center;
2391 margin-bottom: 10px;
2392 }
2393
2394 .ri-submitBtn {
2395 padding: 10px 20px;
2396 font-size: 16px;
2397 cursor: pointer;
2398 color: white;
2399 border: none;
2400 border-radius: 5px;
2401 width: 300px;
2402 text-align: center;
2403 margin: auto;
2404 background-color: #F6921E;
2405 }
2406
2407 .ssp-mega-menu.v-hidden {
2408 visibility: hidden;
2409 }
2410
2411 #templateEmail {
2412 display: none;
2413 }
2414
2415 .price-buy-wrapper-desktop
2416 .price-wrapper-desktop
2417 .price
2418 .price-value:last-child {
2419 color: #F6921E !important;
2420 font-size: 36px !important;
2421 }
2422
2423 .price-buy-wrapper-desktop
2424 .price-wrapper-desktop
2425 .price-value {
2426 color: #F6921E !important;
2427 font-size: 36px !important;
2428 }
2429
2430 .price-wrapper-desktop .price-label {
2431 color: #a2acc3 !important;
2432 }
2433
2434 .price-buy-wrapper-desktop
2435 .price-wrapper-desktop
2436 .price-value:not(.price-value-final) {
2437 font-size: 20px !important;
2438 color: #a2acc3 !important;
2439 text-align: initial !important;
2440 padding-top: 10px;
2441 }
2442
2443 .price-wrapper-desktop .price-value::before {
2444 font-size: 20px;
2445 font-weight: 600;
2446 color: #a2acc3;
2447 font-family: "Montserrat", sans-serif;
2448 margin-top: -15px;
2449 }
2450
2451 .price-wrapper-desktop .price-value {
2452 font-size: 36px;
2453 font-weight: bold;
2454 color: #f6921e;
2455 font-family: "Montserrat", sans-serif;
2456 }
2457
2458 .price-wrapper-desktop .price-label::before {
2459 color: #a2acc3;
2460 font-weight: 600;
2461 font-size: 16px;
2462 font-family: "Montserrat", sans-serif;
2463 }
2464
2465 .price-wrapper-desktop .price-label {
2466 color: #a2acc3;
2467 font-size: 28px;
2468 font-family: "Montserrat", sans-serif;
2469 font-weight: 600;
2470 line-height: 1.3rem;
2471 padding-top: 15px;
2472 }
2473
2474 .informacoesContainer .btn-add-to-cart {
2475 width: 345px;
2476 height: 50px;
2477 right: 60px;
2478 background: #5ACC75;
2479 padding: 11px !important;
2480 padding-left: 30px !important;
2481 margin-left: 250px;
2482 line-height: 1;
2483 border-radius: 5px;
2484 }
2485
2486 .opcoesPagamentoDetalheLivro ul li {
2487 font-size: 14px;
2488 width: 100%;
2489 height: 56px;
2490 padding-left: 9px;
2491 padding-top: 0px;
2492 padding-right: 9px;
2493 }
2494
2495 .tituloBtnPag {
2496 padding-left: 0px;
2497 padding-right: 0px;
2498 }
2499
2500 .d-flex-desktop, .d-flex-desktop .row {
2501 display: flex;
2502 flex-wrap: nowrap;
2503 }
2504
2505 .calculeCepContainer {
2506 margin-top: 52px;
2507 }
2508
2509 .calculeCepContainer .labelFrete {
2510 margin-bottom: 1px;
2511 font-weight: 500;
2512 }
2513
2514 .formasPagamentoTitle {
2515 width: 100%;
2516 }
2517
2518 .pagamentoCepWrapper {
2519 margin-top: 20px;
2520 }
2521
2522 .pagamentoCepWrapper.mobile-only {
2523 height: 0;
2524 overflow: hidden;
2525 }
2526
2527 .opcoesPagamentoDetalheLivro {
2528 background-color: #FFFFFF;
2529 }
2530
2531 .opcoesPagamentoDetalheLivro i {
2532 font-weight: 600;
2533 margin-right: 0!important;
2534 }
2535
2536 .formaPagamentoItem {
2537 padding-left: 5px;
2538 }
2539
2540 .opcoesPagamentoDetalheLivro ul li {
2541 padding-right: 0;
2542 }
2543
2544 .consulteCEP {
2545 padding-top: 0;
2546 text-decoration: none;
2547 font-size: 13px!important;
2548 }
2549
2550 .labelFrete {
2551 color: #78849e;
2552 }
2553
2554 #freteDetalheLivro {
2555 border-color: #78849e;
2556 box-shadow: unset;
2557 }
2558
2559 .has-control-menu #wrapper {
2560 margin-top: 30px;
2561 }
2562
2563 /* ebooks */
2564 .ebooksTitleContainer {
2565 margin: 0 30px 0 0 !important;
2566 height: 50px;
2567 width: 100%;
2568 border-radius: 5px;
2569 padding-left: 50px;
2570 padding-top: 15px;
2571 color: #78849E;
2572 border: 1px solid #A2ACC3;
2573 font: 14px Montserrat, sans-serif;
2574 font-weight: 500;
2575 cursor: pointer;
2576 }
2577
2578 .ebooksContentContainer {
2579 display: none;
2580 flex-direction: column;
2581 width: calc(100% - 10px);
2582 position: absolute;
2583 margin-left: -20px;
2584 margin-top: 60px;
2585 border: 1px solid #A2ACC3;
2586 border-radius: 5px;
2587 z-index: 1;
2588 background: #fff;
2589 font: 14px Montserrat, sans-serif;
2590 transition-property: none !important;
2591 transform: none !important;
2592 animation: none !important;
2593 padding-top: 15px;
2594 padding-right: 10px;
2595 padding-bottom: 0;
2596 padding-left: 10px;
2597 }
2598
2599 .ebooksContentItem {
2600 display: flex;
2601 }
2602
2603 .ebooksContentIcon {
2604 display: flex;
2605 width: 38px;
2606 padding-right: 12px;
2607 padding-top: 3px;
2608 flex-direction: column-reverse;
2609 align-items: flex-end;
2610 justify-content: flex-end;
2611 }
2612
2613 .ebooksContentIcon > i {
2614 font-size: 1.1rem;
2615 color: #454F63;
2616 }
2617
2618 .ebooksContentIcon > svg {
2619 width: 16px;
2620 }
2621
2622 .ebooksContentTitle {
2623 flex: 1;
2624 }
2625
2626 .ebooksContentTitleLink:hover > p {
2627 font-weight: normal;
2628 }
2629
2630 .ebooksContentTitleName {
2631 margin-bottom: 3px;
2632 color: #454F63;
2633 }
2634
2635 .ebooksContentLine {
2636 border-color: rgba(0, 0, 0, 0.16);
2637 border-width: 1px;
2638 width: 100%;
2639 margin-bottom: 10px;
2640 margin-top: -5px;
2641 }
2642
2643 .valorCarrossel4 .price del {
2644 color: rgb(120, 132, 158) !important;
2645 padding-left: 8px;
2646 }
2647
2648 .valorCarrossel4 .price:not(.compact) .price-value {
2649 font: normal 600 18px/17px Montserrat !important;
2650 }
2651
2652 .titulo-slider4 {
2653 position: relative;
2654 z-index: -1;
2655 }
2656
2657 .slider4, .slider4semextracard {
2658 z-index: -1 !important;
2659 }
2660
2661 .slider4 .price-label {
2662 display: none;
2663 }
2664
2665 .slider4 .valorCarrossel4 .price .price-value {
2666 color: #f6921e !important;
2667 font-family: 'Montserrat';
2668 }
2669
2670 .slider4:not(.slider4semextracard) .valorCarrossel4 .price-label,
2671 .slider4:not(.slider4semextracard) .valorCarrossel4 .price-value {
2672 font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
2673 }
2674
2675 .slider4:not(.slider4semextracard) .valorCarrossel4 .price-label {
2676 color: #78849e;
2677 }
2678
2679 #myTabContent {
2680 background: #F8F8F8 !important;
2681 }
2682
2683 .descricaoContainer > pre {
2684 white-space: normal;
2685 }
2686
2687 .imgContainerEspecialCarrossel4 img {
2688 position: relative;
2689 top: -10px;
2690 }
2691
2692 /*fix carrossel*/
2693 .slick-slider {
2694 position: initial !important;
2695 }
2696
2697 @media(max-width: 1199px) {
2698 .detalheContainerImg {
2699 display: none;
2700 }
2701
2702 .imgProdutoPrincipal img {
2703 width: 308px !important;
2704 height: 478px !important;
2705 margin-top: -27px!important;
2706 }
2707
2708 .tituloDetalheLivro {
2709 font-size: 19px!important;
2710 line-height: normal!important;
2711 width: 320px;
2712 }
2713
2714 .autorDetalheLivro {
2715 font-size: 15px!important;
2716 }
2717
2718 .descricaoCurtaDetalheLivro {
2719 font-size: 14px!important;
2720 width: 240px;
2721 }
2722
2723 .imgProdutoPrincipal .price-value .price-value-final,
2724 .imgProdutoPrincipal .addToCartCustom,
2725 .imgProdutoPrincipal .btn-add-to-cart {
2726 margin-left: 0;
2727 }
2728
2729 .imgProdutoPrincipal .btn-add-to-cart {
2730 width: 302px;
2731 }
2732
2733 .indiqueContainer {
2734 padding: 0;
2735 }
2736
2737 .indiqueContainer span {
2738 font-size: 9px;
2739 }
2740
2741 .imgDetalheProdutoContainer {
2742 height: 447px;
2743 }
2744
2745 .formasPagamentoTitle {
2746 white-space: nowrap;
2747 }
2748
2749 .tabsDescricaoAutor .tab-content * {
2750 clear: both!important;
2751 float: none!important;
2752 visibility: visible!important;
2753 opacity: 1!important;
2754 }
2755
2756 .nav.nav-tabs {
2757 min-width: 1557px!important;
2758 margin-left: -43%!important;
2759 }
2760
2761 .nav-tabs > li:nth-child(1) > a > .iconDesc span {
2762 position: absolute;
2763 left: unset;
2764 right: 87px;
2765 top: 50%;
2766 transform: translateY(-50%);
2767 margin-top: 5px;
2768 }
2769
2770 .nav-tabs > li:nth-child(1) > a:not(.active) > .iconDesc span {
2771 margin-top: 0;
2772 }
2773
2774 .nav-tabs > li:nth-child(1) > a > .iconDesc svg {
2775 margin-top: -3px;
2776 position: absolute;
2777 right: 44px;
2778 }
2779
2780 .tabsDescricaoAutor > div > div > ul > li:nth-child(1) > i {
2781 left: 94% !important;
2782 top: 43px !important;
2783 }
2784
2785 .tabsDescricaoAutor .tab-content .container {
2786 max-width: 73vw;
2787 }
2788
2789 .tab-content {
2790 width: 100vw;
2791 background-color: rgb(248, 248, 248);
2792 }
2793
2794 .tab-pane {
2795 clear: both;
2796 width: 100vw!important;
2797 margin: 0;
2798 margin-left: -21vw!important;
2799 }
2800
2801 .descricaoContainer pre {
2802 width: 638px;
2803 }
2804
2805 .linhaDetalheLivroSuperior {
2806 width: 547px;
2807 }
2808
2809 .ebooksContainer {
2810 margin-top: 28px;
2811 margin-bottom: 0;
2812 }
2813
2814 .calculeCepContainer {
2815 margin-top: 16px;
2816 }
2817
2818 .formasPagamentoContainer {
2819 margin-top: 4px;
2820 margin-bottom: 203px;
2821 }
2822 }
2823
2824 @media (max-width: 1040px) {
2825 .categoria-icon-svg{
2826 width: 17px;
2827 height: 17px;
2828 margin-bottom: 5px;
2829 margin-left: 10px;
2830 }
2831 .descricaoContainer pre {
2832 font-size: 16px !important;
2833 line-height: 24px;
2834 width: 550px;
2835 margin-bottom: 23px;
2836 }
2837
2838 .linhaDetalheLivroSuperior {
2839 width: 461px;
2840 }
2841
2842 .tab-pane {
2843 padding-left: 12vw!important;
2844 }
2845
2846 .fotoAutorContainer {
2847 padding-left: 5vw;
2848 }
2849
2850 .fotoAutorContainer > .nomeAutor {
2851 margin-left: 0;
2852 }
2853
2854 .fotoAutorContainer > .nomeAutor > .biografiaAutor {
2855 width: 52vw;
2856 }
2857 }
2858
2859 @media (max-width: 997px) {
2860 .tabsDescricaoAutor .tab-content > .tab-pane > .container > .row {
2861 width: 100vw;
2862 }
2863
2864 .linhaDetalheLivroSuperior {
2865 width: 426px;
2866 }
2867
2868 .descricaoContainer pre {
2869 width: 517px;
2870 }
2871
2872 .linhaDetalheLivroInferior {
2873 width: 453px;
2874 }
2875 }
2876
2877 @media (max-width: 879px) {
2878 .descricaoContainer pre {
2879 width: 403px;
2880 }
2881
2882 .linhaDetalheLivroSuperior {
2883 width: 313px;
2884 }
2885
2886 .linhaDetalheLivroInferior {
2887 width: 319px;
2888 }
2889
2890 .tabsDescricaoAutor .tab-content .container {
2891 max-width: 52vw;
2892 }
2893
2894 .fotoAutorContainer {
2895 padding-left: 3vw;
2896 }
2897 }
2898
2899 @media (min-width: 769px) and (max-width: 813px) {
2900 .slider4semextracard .comprarCarrossel4 {
2901 margin-top: -5px !important;
2902 }
2903 }
2904
2905 @media (max-width: 812px) {
2906 .fotoAutorContainer > .nomeAutor > .biografiaAutor {
2907 margin-right: 0;
2908 margin-left: 12px!important;
2909 }
2910
2911 .fotoAutorContainer .linhaNomeAutor {
2912 width: 60vw;
2913 }
2914
2915 .fotoAutorContainer > .nomeAutor > .biografiaAutor {
2916 width: 59vw;
2917 }
2918
2919 .fotoAutorContainer img {
2920 width: 274px;
2921 margin-left: 16px;
2922 }
2923 }
2924
2925 .d-flex {
2926 display: flex;
2927 }
2928
2929 .mobile-only {
2930 display: none;
2931 }
2932
2933 .buy-mobile-wrapper {
2934 position: fixed;
2935 bottom: 0;
2936 z-index: 999;
2937 left: 0;
2938 width: 100%;
2939 }
2940
2941 .formasPagamentoContainer {
2942 margin-right: 0;
2943 }
2944
2945 .formasPagamentoTitleMobile {
2946 position: relative;
2947 border: solid 1px #e7e7ed;
2948 border-radius: 0.0625rem;
2949 line-height: 100%;
2950 width: 299px;
2951 height: 55px;
2952 line-height: 55px;
2953 padding: 0 20px;
2954 box-shadow: 0 0 12px #0000000f;
2955 margin-top: 25px;
2956 margin-bottom: 10px;
2957 border-radius: 6px;
2958 }
2959
2960 .opcoesPagamentoDetalheLivro {
2961 position: static;
2962 }
2963
2964 @media (max-width: 992px) {
2965 .formasPagamentoContainer {
2966 margin-bottom: 20px;
2967 }
2968 }
2969
2970 @media screen and (min-width: 476px) and (max-width: 1199px) {
2971 .barraHomeDefault {
2972 margin-top: 30px !important;
2973 }
2974 }
2975
2976 @media(max-width: 768px) {
2977 .categoria-icon-svg{
2978 width: 17px;
2979 height: 17px;
2980 margin-bottom: 4px;
2981 margin-left: 0;
2982 }
2983
2984 .desktop-only {
2985 display: none!important;
2986 }
2987
2988 .mobile-only {
2989 display: block;
2990 }
2991
2992 .d-flex-desktop, .d-flex-desktop .row, .detalheContainerImg, .imgProdutoPrincipal {
2993 display: block;
2994 }
2995
2996 .detalheContainerImg {
2997 text-align: center;
2998 }
2999
3000 .imgProdutoPrincipal img {
3001 margin-left: 0;
3002 margin-top: 0!important;
3003 }
3004
3005 .informacoesContainer, .imgDetalheProdutoContainer {
3006 height: auto!important;
3007 background-color: #FFFFFF!important;
3008 width: 100%!important;
3009 margin-left: 0;
3010 margin-right: 0;
3011 max-width: unset;
3012 min-height:auto;
3013 }
3014
3015 .indiqueContainer {
3016 margin-left: 0;
3017 right: 0;
3018 top: 77px;
3019 width: 75px;
3020 height: 47px;
3021 max-width: unset;
3022 left: unset;
3023 border-top-right-radius: 0;
3024 border-bottom-right-radius: 0;
3025 font-weight: 400;
3026 }
3027
3028 .indiqueContainer i {
3029 font-size: 20px;
3030 margin-top: 7px;
3031 display: block;
3032 margin-bottom: 0;
3033 }
3034
3035 .indiqueContainer span {
3036 font-weight: 100;
3037 margin-left: 10px;
3038 position: relative;
3039 top: -3px;
3040 }
3041
3042 .detalheProdutoLinha1 {
3043 padding-left: 30px;
3044 padding-right: 30px;
3045 }
3046
3047 .indiqueContainer .dropdown-toggle.btn.btn-outline-borderless.btn-outline-secondary.btn-sm.btn-secondary {
3048 height: 47px;
3049 width: 92px;
3050 max-width: unset;
3051 left: -56px;
3052 right: 24px;
3053 margin: 0;
3054 top: -43px;
3055 bottom: unset;
3056 }
3057
3058 .detalheContainerImg > div {
3059 overflow-x: unset!important;
3060 overflow-y: unset!important;
3061 }
3062
3063 .imgProdutoPrincipal img {
3064 width: 78%!important;
3065 object-fit: contain;
3066 height: auto!important;
3067 }
3068
3069 .informacoesContainer {
3070 padding-left: 0;
3071 padding-right: 0;
3072 }
3073
3074 .tituloDetalheLivro, .autorDetalheLivro, .descricaoCurtaDetalheLivro {
3075 width: 81%!important;
3076 padding-right: 0;
3077 }
3078
3079 .buy-mobile-wrapper .quantity-selector {
3080 display: none;
3081 }
3082
3083 .buy-mobile-wrapper .btn-comprar-wrapper {
3084 width: calc(100% - 138px);
3085 height: 44px;
3086 }
3087
3088 .buy-mobile-wrapper .btn-add-to-cart.btn.btn-lg {
3089 background-color: #5ACC75;
3090 margin: 0;
3091 width: 100%;
3092 padding: 10px;
3093 border-radius: 0;
3094 }
3095
3096 .buy-mobile-wrapper .preco {
3097 width: 138px;
3098 height: 44px;
3099 box-sizing: border-box;
3100 padding: 10px;
3101 background-color: #454F63;
3102 color: #f6921e;
3103 text-align: center;
3104 font-weight: 700;
3105 line-height: 29px;
3106 display: flex;
3107 flex-wrap: nowrap;
3108 justify-content: center;
3109 }
3110
3111 .buy-mobile-wrapper i {
3112 display: block;
3113 color: #FFFFFF!important;
3114 font-size: 14px!important;
3115 position: static!important;
3116 line-height: 29px;
3117 }
3118
3119 .buy-mobile-wrapper .currency {
3120 font-size: 12px;
3121 margin: 0px 6px 0px 11px;
3122 line-height: 29px;
3123 }
3124
3125 .buy-mobile-wrapper button {
3126 padding-bottom: 12px !important;
3127 }
3128
3129 .opcoesPagamentoDetalheLivro {
3130 float: none;
3131 margin-left: 0;
3132 width: 327px;
3133 min-width: unset;
3134 }
3135
3136 .calculeCepContainer {
3137 margin-left: 0;
3138 }
3139
3140 .pagamentoCepWrapper {
3141 padding: 0;
3142 width: 294px;
3143 margin-right: auto;
3144 margin-left: auto;
3145 }
3146
3147 .consulteCEP {
3148 margin-top: 0!important;
3149 padding-bottom: 0px!important;
3150 }
3151
3152 .formasPagamentoContainer {
3153 clear: both;
3154 margin-top: 16px;
3155 margin-bottom: 20px;
3156 }
3157
3158 .calculeCepContainer {
3159 margin-top: 20px;
3160 }
3161
3162 .fotoAutorContainer > .nomeAutor > .biografiaAutor {
3163 max-width: 100%;
3164 width: 100%;
3165 }
3166 .fichaContainerMob *,
3167 .itemFichaTecnicaMob ~ root > value,
3168 .itemFichaTecnicaMob ~ span {
3169 font-size: 15px!important;
3170 }
3171
3172 .itemFichaTecnicaMob {
3173 font-weight: 700;
3174 }
3175
3176 .fotoAutorContainer > .nomeAutor > .biografiaAutor {
3177 font-size: 15px!important;
3178 line-height: normal!important;
3179 }
3180
3181 .fotoAutorContainer {
3182 padding-left: 0;
3183 width: 100%;
3184 }
3185
3186 .fotoAutorContainer img {
3187 width: 80px;
3188 min-width: 80px!important;
3189 border-radius: 6px;
3190 overflow: hidden;
3191 height: 96px;
3192 margin-left: 20px;
3193 margin-top: 20px;
3194 }
3195
3196 .linhaDetalheInferiorAutor {
3197 width: calc(100% + 10px);
3198 margin-left: -23px;
3199 margin-bottom: 17px;
3200 margin-top: 13px;
3201 }
3202
3203 .formasPagamentoContainer {
3204 margin-bottom: 20px;
3205 }
3206
3207 .imgDetalheProdutoContainer {
3208 margin-top: 0;
3209 padding-top: 16px;
3210 }
3211
3212 .informacoesContainer .row.w-25.p-3:first-child {
3213 display: none;
3214 }
3215
3216 .informacoesContainer {
3217 padding-top: 20px;
3218 }
3219
3220 .buy-mobile-wrapper .sacola-header-icon:before {
3221 font-size: 13px!important;
3222 position: relative;
3223 top: 1px;
3224 }
3225
3226 .indiqueContainer span {
3227 font-weight: 600;
3228 font-size: 12px;
3229 }
3230
3231 .informacoesContainer > .informacoesContainer {
3232 padding-top: 0px;
3233 }
3234
3235 .btn-add-to-cart-inline::before {
3236 font-size: 16px;
3237 }
3238
3239 .detalheContainerImg img {
3240 height: 70px;
3241 object-fit: cover;
3242 min-height: unset;
3243 width: 70px;
3244 min-width: unset!important;
3245 max-width: unset!important;
3246 min-height: unset!important;
3247 max-height: unset!important;
3248 }
3249
3250 .botaoAmplie > span {
3251 display: block;
3252 font: normal normal medium 10px/31px Montserrat;
3253 letter-spacing: 0px;
3254 color: #78849E;
3255 }
3256
3257 .botaoAmplie > .fas.fa-search-plus {
3258 font-size: 29px;
3259 color: #A2ACC3;
3260 font-weight: 500;
3261 margin-bottom: 4px;
3262 }
3263
3264 .descricaoFormaPagamento {
3265 margin-left: 21px;
3266 }
3267
3268 .autorDetalheLivro {
3269 font: normal normal 600 14px/23px Montserrat;
3270 color: #78849E;
3271 margin-top: 10px!important;
3272 user-select: none;
3273 }
3274
3275 .subtitulo {
3276 font: normal normal normal 16px/19px Montserrat;
3277 letter-spacing: 0px;
3278 color: #78849E;
3279 text-transform: lowercase;
3280 }
3281
3282 #wrapper #ssp-breadcrumb {
3283 display: none!important;
3284 }
3285
3286 .fragment_36042 {
3287 margin-top: 22px!important;
3288 }
3289
3290 .dropdown-toggle {
3291 top: -45px !important;
3292 left: -70px !important;
3293 height: 50px !important;
3294 }
3295
3296 .slider4semextracard .price-value > del {
3297 padding-right: 10px;
3298 }
3299
3300 .slider4:not(.slider4semextracard) .valorCarrossel4 {
3301 position: relative;
3302 top: -30px;
3303 }
3304
3305 .slider4:not(.slider4semextracard) .espiarCarrossel4 {
3306 top: -45px !important;
3307 }
3308
3309 .slider4:not(.slider4semextracard) .comprarCarrossel4 .btn-add-to-cart::before {
3310 line-height: 0;
3311 }
3312 }
3313
3314 @media (max-width: 600px) {
3315 .input-group-inset-item .lexicon-icon {
3316 display: block !important;
3317 width: 15px !important;
3318 }
3319 }
3320
3321 @media screen and (min-width: 476px) and (max-width: 812px) {
3322 .barraHomeDefault {
3323 margin-top: 5px !important;
3324 }
3325 }
3326
3327
3328 @media (min-width: 414px) and (max-width: 768px) {
3329 .detalheContainerImg img {
3330 /*position: absolute;*/
3331 z-index: 999;
3332 left: 6px;
3333 top: -25px;
3334 margin-right: auto;
3335 margin-left: auto;
3336 }
3337
3338 .imgProdutoPrincipal {
3339 width: 200px !important;
3340 margin-left: -5%;
3341 }
3342
3343 #portlet_com_liferay_site_navigation_breadcrumb_web_portlet_SiteNavigationBreadcrumbPortlet {
3344 display: none;
3345 }
3346
3347 .barraHomeDefault {
3348 padding-top: 90px !important;
3349 background-color: #ebeced !important;
3350 opacity: 1;
3351 padding-bottom: 37px !important;
3352 padding-left: 22px !important;
3353 padding-right: 22px !important;
3354 }
3355
3356 .btnShareMob {
3357 display: none;
3358 max-height: 46px;
3359 min-width: 75px;
3360 margin-left: 10px !important;
3361 }
3362
3363 .btnShareMob i {
3364 display: block;
3365 margin-left: -10%;
3366 margin-bottom: 3px;
3367 }
3368
3369 .btnShareMob span {
3370 margin-left: -4px;
3371 font-size: 9px !important;
3372 }
3373
3374 .freteInputMob {
3375 position: relative !important;
3376 margin-bottom: -40px;
3377 }
3378
3379 #freteDetalheLivroMob {
3380 width: 92%;
3381 min-height: 40px;
3382 margin-bottom: -9px;
3383 padding-left: 15px;
3384 font-family: "Montserrat", sans-serif;
3385 font-style: normal;
3386 font-weight: normal;
3387 text-decoration: inherit;
3388 color: #F6921E !important;
3389 background: #FFFFFF;
3390 }
3391
3392 .labelFrete {
3393 margin-left: 2px !important;
3394 }
3395
3396 .labelFrete i {
3397 font-size: 16px !important;
3398 }
3399
3400 .consulteCEP, .consulteCEP a {
3401 margin-left: 1px !important;
3402 }
3403
3404 .tituloBtnPag {
3405 margin-left: 0;
3406 }
3407
3408 .calcFretePrazoContainer {
3409 margin-top: 0px;
3410 margin-bottom: 50px;
3411 margin-left: 0;
3412 min-width: 333px;
3413 }
3414
3415 .labelsFretes > div, .labelsFretesMob > div {
3416 margin-right: 50%;
3417 }
3418
3419 .valuesFretes > div:nth-child(2), .valuesFretesMob > div:nth-child(2) {
3420 margin-right: 31% !important;
3421 }
3422
3423 .valuesFretes > div, .valuesFretesMob > div {
3424 margin-right: 31%;
3425 }
3426
3427 .opcoesPagamentoDetalheLivro {
3428 position: unset;
3429 min-width: 300px;
3430 width: 300px;
3431 }
3432
3433 .lineAccorionDescricao > div > ul {
3434 width: 400px !important;
3435 }
3436
3437 .lineAccorionDescricao > div > ul > li {
3438 min-width: 400px !important;
3439 width: 400px !important;
3440 margin-left: -7%;
3441 }
3442
3443 .lineAccorionDescricao > div > ul > li > label {
3444 margin-left: 27px;
3445 }
3446
3447 .lineAccorionDescricao > div > ul > li:nth-child(1) > .linhaAccordionAtivo ~ i {
3448 left: 60px;
3449 top: 61px;
3450 }
3451
3452 .lineAccorionDescricao > div > ul > li:nth-child(2) > .linhaAccordionAtivo ~ i {
3453 left: 60px;
3454 top: unset;
3455 margin-top: -8px;
3456 }
3457
3458 .lineAccorionDescricao > div > ul > li > ul > li > pre {
3459 font-family: 'Montserrat', sans-serif !important;
3460 font-size: 12px !important;
3461 color: #454F63 !important;
3462 padding: 20px !important;
3463 margin-left: 10%;
3464 }
3465
3466 .fotoAutorContainer img {
3467 /*width: 79px;*/
3468 /*border-radius: 6px;*/
3469 }
3470
3471 .linhaNomeAutor:after {
3472 content: "";
3473 flex: 1 1;
3474 border-bottom: none;
3475 margin: 0 10px 13px 10px;
3476 }
3477
3478 .fotoAutorContainer > .nomeAutor {
3479 margin: unset;
3480 margin-left: -20px;
3481 margin-top: 6px;
3482 }
3483
3484 .linhaNomeAutor {
3485 font-size: 16px !important;
3486 margin-top: 11px;
3487 }
3488
3489 .linhaDetalheInferiorAutor i {;
3490 left: unset;
3491 margin-top: -35px;
3492 color: #F6921E !important;
3493 }
3494
3495 .btnVoltarAutores {
3496 left: 6%;
3497 margin-top: 120px;
3498 }
3499
3500 .btnVoltarAutores i {
3501 margin-left: 25%;
3502 }
3503
3504 .btnVoltarAutores span {
3505 margin-top: -15px;
3506 }
3507
3508 .fichaContainerMob {
3509 margin-left: 23%;
3510 margin-bottom: 20px;
3511 padding-top: 20px;
3512 }
3513
3514 .linhaFichaContainerMob ~ i {
3515 margin-left: 70px;
3516 top: 570px;
3517 }
3518
3519 .consulteCEP, .consulteCEP a {
3520 font-size: 12px !important;
3521 }
3522
3523 .abaActiveAccordion:nth-of-type(2) {
3524 max-height: 500px;
3525 height: 500px;
3526 overflow: hidden;
3527 }
3528
3529 .botaoAmplie {
3530 position: relative;
3531 }
3532
3533 .imageList {
3534 text-align: center;
3535 }
3536
3537 .container .ebooksContainer > div {
3538 width: 310px !important;
3539 }
3540
3541 .container.mobile-only.pagamentoCepWrapper {
3542 padding-right: 60px;
3543 }
3544 }
3545
3546 @media (min-width: 361px) and (max-width: 385px) {
3547 .detalheContainerImg img {
3548 z-index: 999;
3549 left: 6px;
3550 top: -25px;
3551 }
3552
3553 .imgProdutoPrincipal {
3554 width: 200px !important;
3555 margin-left: -5%;
3556 }
3557
3558 #portlet_com_liferay_site_navigation_breadcrumb_web_portlet_SiteNavigationBreadcrumbPortlet {
3559 display: none;
3560 }
3561
3562 .barraHomeDefault {
3563 background-color: #ebeced !important;
3564 opacity: 1;
3565 }
3566
3567 .btnShareMob {
3568 max-height: 46px;
3569 min-width: 75px;
3570 margin-left: 17px !important;
3571 }
3572
3573 .btnShareMob i {
3574 display: block;
3575 margin-left: -10%;
3576 margin-bottom: 3px;
3577 }
3578
3579 .btnShareMob span {
3580 margin-left: -4px;
3581 font-size: 9px !important;
3582 }
3583
3584 .input-group-item:not(.search-bar-keywords-input-wrapper) .input-group-inset-after.form-control {
3585 padding-left: 35px;
3586 }
3587
3588 .imgDetalheProdutoContainer {
3589 height: 230px !important;
3590 background: #FFFFFF !important;
3591 }
3592
3593 .freteInputMob {
3594 position: relative !important;
3595 margin-bottom: -40px;
3596 }
3597
3598 #freteDetalheLivroMob {
3599 width: 92%;
3600 min-height: 40px;
3601 margin-bottom: -9px;
3602 padding-left: 15px;
3603 font-family: "Montserrat", sans-serif;
3604 font-style: normal;
3605 font-weight: normal;
3606 text-decoration: inherit;
3607 color: #F6921E !important;
3608 background: #FFFFFF;
3609 }
3610
3611 .labelFrete {
3612 margin-left: 2px !important;
3613 }
3614
3615 .labelFrete i {
3616 font-size: 16px !important;
3617 }
3618
3619 .consulteCEP, .consulteCEP a {
3620 margin-left: 1px !important;
3621 font-size: 12px !important;
3622 }
3623
3624 .tituloBtnPag {
3625 margin-left: 0;
3626 }
3627
3628 .calcFretePrazoContainer {
3629 margin-top: -75px;
3630 margin-bottom: 50px;
3631 margin-left: 0;
3632 }
3633
3634 .opcoesPagamentoDetalheLivro {
3635 position: unset;
3636 }
3637
3638 .lineAccorionDescricao > div > ul {
3639 width: 350px !important;
3640 }
3641
3642 .lineAccorionDescricao > div > ul > li {
3643 min-width: 365px !important;
3644 width: 365px !important;
3645 margin-left: -7%;
3646 }
3647
3648 .lineAccorionDescricao > div > ul > li > label {
3649 margin-left: 27px;
3650 }
3651
3652 .lineAccorionDescricao > div > ul > li:nth-child(1) > .linhaAccordionAtivo ~ i {
3653 left: 60px;
3654 top: 61px;
3655 }
3656
3657 .lineAccorionDescricao > div > ul > li:nth-child(2) > .linhaAccordionAtivo ~ i {
3658 left: 60px;
3659 top: unset;
3660 margin-top: -8px;
3661 }
3662
3663 .lineAccorionDescricao > div > ul > li > ul > li > pre {
3664 font-family: 'Montserrat', sans-serif !important;
3665 font-size: 12px !important;
3666 color: #454F63 !important;
3667 /*max-width:295px !important;*/
3668 padding: 20px !important;
3669 margin-left: 10%;
3670 }
3671
3672 .linhaNomeAutor:after {
3673 content: "";
3674 flex: 1 1;
3675 border-bottom: none;
3676 margin: 0 10px 13px 10px;
3677 }
3678
3679 .fotoAutorContainer > .nomeAutor {
3680 margin: unset;
3681 margin-left: -20px;
3682 margin-top: 6px;
3683 }
3684
3685 .linhaNomeAutor {
3686 font-size: 16px !important;
3687 margin-top: 11px;
3688 }
3689
3690 .linhaDetalheInferiorAutor i {;
3691 left: unset;
3692 margin-top: -35px;
3693 color: #F6921E !important;
3694 }
3695
3696 .btnVoltarAutores {
3697 left: 6%;
3698 margin-top: 120px;
3699 }
3700
3701 .btnVoltarAutores i {
3702 margin-left: 25%;
3703 }
3704
3705 .btnVoltarAutores span {
3706 margin-top: -15px;
3707 }
3708
3709 .fichaContainerMob {
3710 margin-left: 23%;
3711 padding-top: 20px;
3712 margin-bottom: 20px;
3713 }
3714
3715 .linhaFichaContainerMob ~ i {
3716 margin-left: 35px;
3717 top: 400px;
3718 }
3719
3720 .consulteCEP, .consulteCEP a {
3721 font-size: 12px !important;
3722 margin-top: 15px;
3723 }
3724
3725 .abaActiveAccordion:nth-of-type(2) {
3726 max-height: 470px;
3727 height: 470px;
3728 overflow: hidden;
3729 }
3730
3731 .acDescricaoLi > pre {
3732 max-height: 250px;
3733 margin-top: 20px;
3734 }
3735
3736 /* estilos retirados na configuração da página*/
3737 .informacoesContainer > .commerce-quantity-container > div > select {
3738 max-width: 50px;
3739 }
3740
3741 .informacoesContainer > div > button {
3742 top: 103%;
3743 width: 345px !important;
3744 left: 55% !important;
3745 }
3746
3747 .labelFrete {
3748 margin-left: -23px;
3749 color: #78849E !important;
3750 }
3751
3752 .consulteCEP {
3753 margin-left: -20px;
3754 }
3755
3756 .tituloBtnPag {
3757 padding-left: 0px;
3758 padding-right: 0px;
3759 }
3760
3761 .ssp-mega-menu__box--single > .ssp-mega-menu__box__wrapper > .titulo > div ~ div {
3762 left: -60px !important;
3763 }
3764
3765 }
3766
3767 @media (min-width: 321px) and (max-width: 360px) {
3768 .detalheContainerImg img {
3769 z-index: 999;
3770 left: 6px;
3771 top: -25px;
3772 }
3773
3774 .imgProdutoPrincipal {
3775 width: 200px !important;
3776 margin-left: -5%;
3777 }
3778
3779 #portlet_com_liferay_site_navigation_breadcrumb_web_portlet_SiteNavigationBreadcrumbPortlet {
3780 display: none;
3781 }
3782
3783 .barraHomeDefault {
3784 padding-top: 37px !important;
3785 background-color: #ebeced !important;
3786 opacity: 1;
3787 }
3788
3789 .btnShareMob {
3790 max-height: 46px;
3791 min-width: 75px;
3792 }
3793
3794 .btnShareMob i {
3795 display: block;
3796 margin-left: -17%;
3797 margin-bottom: 3px;
3798 }
3799
3800 .btnShareMob span {
3801 margin-left: -6px;
3802 font-size: 9px !important;
3803 }
3804
3805 /*.input-group-item .input-group-inset-after.form-control {
3806 padding-left: 35px;
3807 }*/
3808
3809 .imgDetalheProdutoContainer {
3810 background: #FFFFFF !important;
3811 }
3812
3813 .freteInputMob {
3814 position: relative !important;
3815 margin-bottom: -40px;
3816 }
3817
3818 #freteDetalheLivroMob {
3819 width: 92%;
3820 min-height: 40px;
3821 margin-bottom: -9px;
3822 padding-left: 15px;
3823 font-family: "Montserrat", sans-serif;
3824 font-style: normal;
3825 font-weight: normal;
3826 text-decoration: inherit;
3827 color: #F6921E !important;
3828 background: #FFFFFF;
3829 }
3830
3831 .labelFrete {
3832 margin-left: 2px !important;
3833 }
3834
3835 .labelFrete i {
3836 font-size: 16px !important;
3837 }
3838
3839 .consulteCEP, .consulteCEP a {
3840 margin-left: 1px !important;
3841 }
3842
3843 .tituloBtnPag {
3844 margin-left: 0;
3845 }
3846
3847 .calcFretePrazoContainer {
3848 margin-top: -75px;
3849 margin-bottom: 50px;
3850 margin-left: 0;
3851 max-width: 287px;
3852 }
3853
3854 .valuesFretes > div, .valuesFretesMob > div {
3855 margin-right: 18%;
3856 }
3857
3858 .opcoesPagamentoDetalheLivro {
3859 position: unset;
3860 }
3861
3862 .lineAccorionDescricao > div > ul {
3863 width: 350px !important;
3864 }
3865
3866 .lineAccorionDescricao > div > ul > li {
3867 min-width: 350px !important;
3868 width: 350px !important;
3869 margin-left: -7%;
3870 }
3871
3872 .lineAccorionDescricao > div > ul > li > label {
3873 margin-left: 22px;
3874 }
3875
3876 .lineAccorionDescricao > div > ul > li:nth-child(1) > .linhaAccordionAtivo ~ i {
3877 left: 60px;
3878 top: 61px;
3879 }
3880
3881 .lineAccorionDescricao > div > ul > li:nth-child(2) > .linhaAccordionAtivo ~ i {
3882 left: 60px;
3883 top: unset;
3884 margin-top: -8px;
3885 }
3886
3887 .lineAccorionDescricao > div > ul > li > ul > li > pre {
3888 font-family: 'Montserrat', sans-serif !important;
3889 font-size: 12px !important;
3890 color: #454F63 !important;
3891 max-width: 295px !important;
3892 padding: 20px !important;
3893 margin-left: 10%;
3894 }
3895
3896 .linhaNomeAutor:after {
3897 content: "";
3898 flex: 1 1;
3899 border-bottom: none;
3900 margin: 0 10px 13px 10px;
3901 }
3902
3903 .fotoAutorContainer > .nomeAutor {
3904 margin: unset;
3905 margin-left: -20px;
3906 margin-top: 6px;
3907 }
3908
3909 .linhaNomeAutor {
3910 font-size: 16px !important;
3911 margin-top: 10px;
3912 }
3913
3914 .linhaDetalheInferiorAutor i {;
3915 left: unset;
3916 margin-top: -35px;
3917 color: #F6921E !important;
3918 }
3919
3920 .btnVoltarAutores {
3921 left: 6%;
3922 margin-top: 120px;
3923 }
3924
3925 .btnVoltarAutores i {
3926 margin-left: 25%;
3927 }
3928
3929 .btnVoltarAutores span {
3930 margin-top: -15px;
3931 }
3932
3933 .fichaContainerMob {
3934 margin-left: 23%;
3935 padding-top: 20px;
3936 margin-bottom: 20px;
3937 }
3938
3939 .linhaFichaContainerMob ~ i {
3940 margin-left: 50px;
3941 top: 570px;
3942 }
3943
3944 .consulteCEP, .consulteCEP a {
3945 font-size: 12px !important;
3946 margin-top: 15px;
3947 }
3948
3949 .abaActiveAccordion:nth-of-type(2) {
3950 max-height: 500px;
3951 height: 500px;
3952 overflow: hidden;
3953 }
3954 }
3955
3956 @media (max-width: 320px) {
3957 .imgProdutoPrincipal img {
3958 min-width: 180px !important;
3959 min-height: 270px !important;
3960 }
3961
3962 .detalheContainerImg img {
3963 z-index: 999;
3964 left: 2px;
3965 top: -25px;
3966 }
3967
3968 .imgProdutoPrincipal {
3969 width: 200px !important;
3970 margin-left: -5%;
3971 }
3972
3973 #portlet_com_liferay_site_navigation_breadcrumb_web_portlet_SiteNavigationBreadcrumbPortlet {
3974 display: none;
3975 }
3976
3977 .barraHomeDefault {
3978 background-color: #ebeced !important;
3979 opacity: 1;
3980 }
3981
3982 .btnShareMob {
3983 max-height: 46px;
3984 min-width: 75px;
3985 }
3986
3987 .btnShareMob i {
3988 display: block;
3989 margin-left: -25%;
3990 margin-bottom: 3px;
3991 font-size: 14px !important;
3992 }
3993
3994 .btnShareMob span {
3995 margin-left: -15px;
3996 font-size: 9px !important;
3997 }
3998
3999 /*.input-group-item .input-group-inset-after.form-control {
4000 padding-left: 35px;
4001 }*/
4002
4003 .freteInputMob {
4004 position: relative !important;
4005 margin: auto;
4006 }
4007
4008 #freteDetalheLivroMob {
4009 width: 99%;
4010 min-height: 40px;
4011 margin-bottom: -9px;
4012 padding-left: 15px;
4013 font-family: "Montserrat", sans-serif;
4014 font-style: normal;
4015 font-weight: normal;
4016 text-decoration: inherit;
4017 color: #F6921E !important;
4018 background: #FFFFFF !important;
4019 }
4020
4021 .labelFrete {
4022 margin-left: 2px !important;
4023 }
4024
4025 .labelFrete i {
4026 font-size: 16px !important;
4027 margin-right: 2px;
4028 }
4029
4030 .consulteCEP, .consulteCEP a {
4031 margin-left: 1px !important;
4032 }
4033
4034 .tituloBtnPag {
4035 margin-left: 0;
4036 font-size: 14px !important;
4037 }
4038
4039 .calcFretePrazoContainer {
4040 margin-top: -75px;
4041 margin-bottom: 50px;
4042 margin-left: 0;
4043 width: 274px !important;
4044 }
4045
4046 .valuesFretes > div, .valuesFretesMob > div {
4047 margin-right: 17%;
4048 }
4049
4050 .valuesFretes > div:nth-child(2), .valuesFretesMob > div:nth-child(2) {
4051 margin-right: 17% !important;
4052 }
4053
4054 .opcoesPagamentoDetalheLivro {
4055 position: unset;
4056 max-width: 272px !important;
4057 width: 272px !important;
4058 min-width: 272px;
4059 }
4060
4061 .descricaoFormaPagamento {
4062 font-size: 12px !important;
4063 }
4064
4065 .lineAccorionDescricao > div > ul {
4066 width: 250px !important;
4067 }
4068
4069 .lineAccorionDescricao > div > ul > li {
4070 min-width: 320px !important;
4071 width: 320px !important;
4072 margin-left: -10%;
4073 }
4074
4075 .lineAccorionDescricao > div > ul > li > label {
4076 margin-left: 12px;
4077 }
4078
4079 .lineAccorionDescricao > div > ul > li:nth-child(1) > .linhaAccordionAtivo ~ i {
4080 left: 60px;
4081 top: 61px;
4082 }
4083
4084 .lineAccorionDescricao > div > ul > li:nth-child(2) > .linhaAccordionAtivo ~ i {
4085 left: 60px;
4086 top: unset;
4087 margin-top: -7px;
4088 }
4089
4090 .lineAccorionDescricao > div > ul > li > ul > li > pre {
4091 font-family: 'Montserrat', sans-serif !important;
4092 font-size: 12px !important;
4093 color: #454F63 !important;
4094 max-width: 295px !important;
4095 padding: 20px !important;
4096 margin-left: 10%;
4097 }
4098
4099 .linhaNomeAutor:after {
4100 content: "";
4101 flex: 1 1;
4102 border-bottom: none;
4103 margin: 0 10px 13px 10px;
4104 }
4105
4106 .fotoAutorContainer > .nomeAutor {
4107 margin: 5px unset unset -15px;
4108 }
4109
4110 .linhaNomeAutor {
4111 font-size: 16px !important;
4112 margin-top: 10px;
4113 }
4114
4115 .linhaDetalheInferiorAutor i {;
4116 left: unset;
4117 margin-top: -35px;
4118 color: #F6921E !important;
4119 }
4120
4121 .btnVoltarAutores {
4122 left: 6%;
4123 margin-top: 120px;
4124 }
4125
4126 .btnVoltarAutores i {
4127 margin-left: 25%;
4128 }
4129
4130 .btnVoltarAutores span {
4131 margin-top: -15px;
4132 }
4133
4134 .fichaContainerMob {
4135 margin-left: 20%;
4136 padding-top: 20px;
4137 margin-bottom: 20px;
4138 }
4139
4140 .fichaContainerMob p {
4141 margin-bottom: 14px !important;
4142 }
4143
4144 .linhaFichaContainerMob ~ i {
4145 margin-left: 30px;
4146 top: 570px;
4147 }
4148
4149 .valorBarraFixa span:nth-child(3) {
4150 font-size: 13px !important;
4151 }
4152
4153 .valorBarraFixa span:nth-child(2) {
4154 font-size: 8px !important;
4155 }
4156
4157 .consulteCEP, .consulteCEP a {
4158 font-size: 12px !important;
4159 margin-top: 15px;
4160 }
4161 }
4162
4163 @media (max-width: 475px) {
4164 .btnPagamento {
4165 margin-top: 0;
4166 width: 92%;
4167 min-height: auto;
4168 height: auto;
4169 padding: 11px 0 8px 0;
4170 }
4171
4172 .btnPagamento > i:nth-child(1) {
4173 margin-left: -0px;
4174 }
4175
4176 .btnPagamento > span ~ i {
4177 margin-left: 0;
4178 }
4179
4180 .containerPrecoMob {
4181 margin-left: 20px;
4182 margin-right: 40px;
4183 width: 100%;
4184 display: flex;
4185 justify-content: space-between;
4186 align-items: flex-end;
4187 }
4188
4189 .price-wrapper .price-label {
4190 color: #a2acc3;
4191 font-family: "Montserrat", sans-serif;
4192 display: inline-flex;
4193 flex-direction: column;
4194 font-size: 19px;
4195 font-weight: bold;
4196 margin-left: 0;
4197 margin-right: 17.52px;
4198 height: 100%;
4199 justify-content: space-between;
4200 line-height: 1.3rem;
4201 }
4202
4203 .price-wrapper .price-label::before {
4204 content: "De: ";
4205 color: #a2acc3;
4206 font-size: 10px;
4207 font-weight: 600;
4208 font-family: "Montserrat", sans-serif;
4209 }
4210
4211 .price-wrapper .price-value .price-value-final {
4212 display: inline-flex;
4213 flex-direction: column;
4214 font-size: 28px;
4215 margin-left: 0;
4216 line-height: normal;
4217 padding-left: 0;
4218 color: #f6921e;
4219 font-family: "Montserrat", sans-serif;
4220 margin-bottom: 0 ;
4221 margin-top: 0 ;
4222 }
4223
4224 .price-wrapper .price-value .price-value-final::before {
4225 content: "Por: ";
4226 font-size: 10px;
4227 font-weight: 600;
4228 color: #a2acc3;
4229 margin-top: 0;
4230 font-family: "Montserrat", sans-serif;
4231 }
4232
4233 .lockTitulo {
4234 float: left !important;
4235 font-size: 7.5px !important;
4236 }
4237
4238 .lockTitulo > .fa {
4239 float: left;
4240 font-size: 16px !important;
4241 margin-top: 5px !important;
4242 }
4243
4244 .lockTitulo > div {
4245 width: 37px;
4246 display: inline-block;
4247 }
4248
4249 .detalheLivroMob {
4250 margin: 0 40px;
4251 }
4252
4253 .tituloDetalheLivro {
4254 font-size: 20px !important;
4255 font-weight: 600 !important;
4256 padding: 0;
4257 }
4258
4259 .autorDetalheLivro {
4260 font-size: 14px !important;
4261 margin-top: 10px !important;
4262 font-weight: 600 !important;
4263 }
4264
4265 .subtituloLivro {
4266 font-size: 16px !important;
4267 color: #78849e;
4268 font-weight: normal !important;
4269 }
4270
4271 .freteInputMob {
4272 margin-top: 20px;
4273 }
4274
4275 .freteContainer {
4276 display: none;
4277 }
4278
4279 .imgProdutoPrincipal img {
4280 min-width: unset!important;
4281 max-width: unset!important;
4282 }
4283
4284 .btnShareMob .fas {
4285 font-size: 18px;
4286 }
4287 .detalheContainerImg img {
4288 height: 45.5px;
4289 width: 45.5px;
4290 margin-left: auto!important;
4291 margin-right: auto!important;
4292 }
4293
4294 .barraHomeDefault {
4295 margin-top: 69px;
4296 padding: 20px !important;
4297 }
4298 }
4299
4300 @media (max-width: 414px) {
4301 #freteDetalheLivro, .opcoesPagamentoDetalheLivro {
4302 max-width: 100%!important;
4303 min-width: 100%;
4304 }
4305
4306 .calculeCepContainer > div {
4307 width: 100%!important;
4308 }
4309
4310 .pagamentoCepWrapper {
4311 width: 75.75%;
4312 }
4313
4314 .btnShareMob {
4315 display: none;
4316 }
4317
4318 .descricaoFormaPagamento br {
4319 display: none;
4320 }
4321
4322 .opcoesPagamentoDetalheLivro ul li:last-child {
4323 height: auto;
4324 }
4325
4326 .opcoesPagamentoDetalheLivro {
4327 padding: 19px 10px 19px;
4328 }
4329
4330 .input-group-item .input-group-inset-after.form-control {
4331 width: auto;
4332 max-width: unset;
4333 }
4334
4335 .input-group-item:not(.search-bar-keywords-input-wrapper) .input-group-inset-after.form-control {
4336 padding-left: 0 !important;
4337 margin-left: 5px !important;
4338 }
4339 }
4340
4341 @media (min-width: 1200px) {
4342 .pagamentoCepWrapper {
4343 justify-content: flex-end;
4344 margin-top: -20px;
4345 }
4346
4347 .calculeCepContainer {
4348 margin-left: 0;
4349 margin-right: 50px;
4350 }
4351
4352 .formasPagamentoContainer {
4353 margin-bottom: 20px;
4354 }
4355
4356 .informacoesContainer.desktop-only .autorDetalheLivro,
4357 .informacoesContainer.desktop-only .tituloDetalheLivro {
4358 padding-right: 77px;
4359 }
4360
4361 .price-wrapper-desktop .price-label:has(del) {
4362 padding-top: 5px !important;
4363 }
4364
4365 .price-wrapper-desktop .price-value-discount + .price-label {
4366 padding-top: 5px;
4367 }
4368 }
4369
4370 @media (min-width: 361px) and (max-width: 385px) {
4371 .imgDetalheProdutoContainer {
4372 height: auto!important;
4373 }
4374 }
4375
4376 @media (max-width: 360px) {
4377 .opcoesPagamentoDetalheLivro {
4378 padding: 19px 8px 19px;
4379 }
4380
4381 .opcoesPagamentoDetalheLivro ul li {
4382 padding-left: 4px;
4383 padding-right: 4px;
4384 }
4385
4386 .opcoesPagamentoDetalheLivro ul li i {
4387 margin-right: 4px;
4388 }
4389
4390 .descricaoFormaPagamento {
4391 margin-left: 23px;
4392 }
4393 }
4394
4395 .add-to-cart-quantity-marker.active {
4396 display: none;
4397 }
4398
4399 @media (min-width: 500px) {
4400 .pagamentoCepWrapper {
4401 width: 305px;
4402 margin-left: auto;
4403 margin-right: auto;
4404 }
4405 }
4406
4407 @media (min-width: 701px) {
4408 #freteDetalheLivro {
4409 width: 300px;
4410 }
4411 }
4412
4413 @media (min-width: 768px) and (max-width: 768px) {
4414 .valorCarrossel4 .price del {
4415 padding-left: 0 !important;
4416 }
4417
4418 .slider4 .valorCarrossel4 > .price {
4419 margin-top: 15px !important;
4420 }
4421
4422 .comprarCarrossel4 {
4423 margin-top: 0 !important;
4424 }
4425 }
4426
4427 @media (min-width: 769px) {
4428 .btn-add-to-cart-inline::before {
4429 position: absolute;
4430 top: 50%;
4431 left: 50%;
4432 transform: translateX(-50%) translateY(-50%);
4433 }
4434
4435 .btn-add-to-cart-inline {
4436 position: relative;
4437 right: unset;
4438 top: unset;
4439 }
4440
4441 .pagamentoCepWrapper {
4442 width: 688px;
4443 max-width: unset;
4444 position: relative;
4445 }
4446
4447 .freteContainer {
4448 width: 100% !important;
4449 padding-right: 30px;
4450 justify-content: flex-end;
4451 flex-wrap: wrap;
4452 }
4453
4454 .pagamentoCepWrapper {
4455 justify-content: flex-end;
4456
4457 }
4458
4459 .imgProdutoPrincipal .btn-add-to-cart {
4460 right: unset;
4461 }
4462
4463 .calculeCepContainer {
4464 margin-top: 4px;
4465 }
4466
4467 .formasPagamentoContainer {
4468 margin-bottom: 20px;
4469 }
4470
4471 .descricaoContainer > pre {
4472 margin-left: 20px !important;
4473 }
4474
4475 .iconeCategoria {
4476 left: -20px !important;
4477 }
4478
4479 .linhaDetalheInferiorAutor > .iconeCategoria {
4480 display: none;
4481 }
4482
4483 .slider4 .price-label {
4484 display: none;
4485 }
4486
4487 .slider4 .valorCarrossel4 .price .price-value {
4488 position: relative;
4489 left: -10px;
4490 font-weight: 500;
4491 font-size: 16px !important;
4492 }
4493
4494 .valorCarrossel4 .price {
4495 margin-top: 30px !important;
4496 }
4497
4498 .comprarCarrossel4 {
4499 margin-top: -5px !important;
4500 }
4501 }
4502
4503 @media (min-width: 1200px) {
4504 .freteContainer.container, .pagamentoCepWrapper {
4505 width: 1182px!important;
4506 margin-left: auto;
4507 margin-right: auto;
4508 justify-content: space-around;
4509 }
4510
4511 .calculeCepContainer {
4512 margin-left: 40px;
4513 margin-top: 40px;
4514 margin-right: 40px;
4515 }
4516
4517 .dropdown-toggle {
4518 left: -40px !important;
4519 }
4520 }
4521
4522 @media (min-width: 769px) and (max-width: 820px) {
4523 .slider4 .divEspiarCarrossel4 {
4524 top: 275px !important;
4525 right: 20px !important;
4526 }
4527
4528 .slider4semextracard .divEspiarCarrossel4 {
4529 top: 280px !important;
4530 }
4531
4532 .slider4semextracard .price {
4533 margin-bottom: -5px;
4534 }
4535
4536 .slider4semextracard .imgContainerEspecialCarrossel4 img {
4537 max-height: 390px !important;
4538 }
4539
4540 .slider4semextracard .valorCarrossel4 {
4541 bottom: 60px !important;
4542 }
4543 }
4544
4545 @media (max-width: 768px) {
4546 .input-group-inset {
4547 margin-left: 0 !important;
4548 }
4549
4550 .input-group-inset-item {
4551 border: none !important;
4552 background: #fff !important;
4553 }
4554
4555 .input-group-inset-item button {
4556 background: #fff;
4557 }
4558
4559 .input-group-inset-item .btn:not(.btn-monospaced) {
4560 display: none;
4561 }
4562
4563 .barraHomeDefault .input-group-inset-item.input-group-inset-item-after {
4564 width: auto !important;
4565 }
4566
4567 .input-group-item .input-group {
4568 flex-direction: row-reverse;
4569 }
4570
4571 .input-group-item .input-group-inset-after.form-control {
4572 padding-left: 40px !important;
4573 }
4574
4575 .tituloDetalheLivro, .autorDetalheLivro {
4576 width: 100%!important;
4577 }
4578
4579 .informacoesContainer {
4580 padding-left: 30px!important;
4581 padding-right: 30px!important;
4582 }
4583
4584 .price-wrapper .price-value {
4585 color: #A2ACC3 !important;
4586 text-align: right;
4587 font: normal normal bold 28px/23px Montserrat !important;
4588 }
4589
4590 .linhaDetalheInferiorAutor i {
4591 margin-top: 0;
4592 bottom: 56px;
4593 }
4594
4595 .add-to-cart-wrapper button.btn.btn-add-to-cart.mt-3 {
4596 background-color: #5acc75;
4597 width: 100%;
4598 border-radius: 0;
4599 margin-top: 0!important;
4600 padding: 10px;
4601 padding-bottom: 0;
4602 }
4603
4604 .comprarCarrossel4 > .add-to-cart > .add-to-cart-wrapper > button.btn.btn-add-to-cart.mt-3 {
4605 width: 205px !important;
4606 padding-left: 30px !important;
4607 border-radius: 5px !important;
4608 margin-top: 15px !important;
4609 }
4610
4611 .valorCarrossel4 del {
4612 padding-left: 0 !important;
4613 }
4614
4615 .slider4semextracard .valorCarrossel4 {
4616 top: initial !important;
4617 bottom: 60px !important;
4618 margin-bottom: 0px !important;
4619 }
4620
4621 .slider4semextracard .divEspiarCarrossel4 {
4622 top: initial !important;
4623 }
4624
4625 .slider4semextracard .imgContainerEspecialCarrossel4 img {
4626 max-height: 370px !important;
4627 }
4628
4629 .slide-arrow {
4630 visibility: hidden;
4631 }
4632 }
4633
4634 @media (max-width: 475px) {
4635 .detalheContainerImg {
4636 height: unset;
4637 }
4638 }
4639
4640 @media (max-width: 414px) {
4641 .informacoesContainer {
4642 padding-left: 22px!important;
4643 padding-right: 22px!important;
4644 }
4645
4646 .imgProdutoPrincipal img {
4647 width: 71%!important;
4648 }
4649 }
4650
4651 @media (max-width: 414px) {
4652 .imgProdutoPrincipal img {
4653 width: 74%!important;
4654 }
4655
4656 .pagamentoCepWrapper {
4657 width: 301px;
4658 margin-left: auto;
4659 margin-right: auto;
4660 }
4661 }
4662
4663 @media (max-width: 386px) {
4664 .fotoAutorContainer img {
4665 margin-left: 0;
4666 }
4667 }
4668
4669 @media (min-width: 321px) and (max-width: 768px) {
4670 .calculeCepContainer, .formasPagamentoContainer {
4671 position: relative;
4672 left: 25px;
4673 max-width: 285px;
4674 }
4675
4676 .ebooksContainer {
4677 margin-left: 25px;
4678 }
4679
4680 .ebooksContainer > div {
4681 width: 295px !important;
4682 }
4683
4684 .hasEbook {
4685 padding-left: 65px;
4686 }
4687 }
4688
4689 @media (max-width: 320px) {
4690 .tab-mobile-content .nomeAutor {
4691 margin-left: -20px;
4692 width: calc(100% - 52px);
4693 }
4694
4695 .calculeCepContainer {
4696 padding: 0 30px;
4697 }
4698
4699 .formasPagamentoContainer {
4700 padding: 0 30px;
4701 }
4702
4703 .ebooksContainer {
4704 position: relative;
4705 left: 30px;
4706 }
4707
4708 .ebooksContainer > div {
4709 width: 282px !important;
4710 }
4711 }
4712
4713 @media (max-width: 768px) {
4714 .acDescricaoLi {
4715 position: relative;
4716 }
4717
4718 .tab-mobile-content .fichaContainerMob {
4719 position: relative;
4720 padding-left: 70px;
4721 }
4722
4723 .tab-mobile-content .fichaContainerMob i {
4724 position: absolute;
4725 left: 10px;
4726 top: 3px;
4727 color: #F6921E;
4728 font-size: 36px!important;
4729 }
4730
4731 #spec {
4732 width: 120vw !important;
4733 }
4734 }
4735
4736 @media (max-width: 388px) {
4737 .tab-mobile-content .fichaContainerMob p {
4738 width: auto;
4739 text-align: left;
4740 }
4741 }
4742
4743 .fotoAutorContainer > ul.listaAutores > li {
4744 font-size: 16px!important;
4745 line-height: 27px!important;
4746 }
4747
4748 .btnVoltarAutores {
4749 align-items: center;
4750 }
4751
4752 .btnVoltarAutores i {
4753 margin-right: 6px;
4754 }
4755
4756 .pagination-bar {
4757 display: none;
4758 }
4759
4760 @media (max-width: 1199px) and (min-width: 769px) {
4761 .fotoAutorContainer.fotoAutorContainerMultiplos {
4762 flex-wrap: wrap;
4763 }
4764
4765 .fotoAutorContainer.fotoAutorContainerMultiplos .btnVoltarAutores {
4766 order: 3;
4767 position: static;
4768 margin-top: 20px;
4769 }
4770
4771 .fotoAutorContainer.fotoAutorContainerMultiplos img {
4772 order: 1;
4773 width: 280px;
4774 }
4775
4776 .fotoAutorContainer.fotoAutorContainerMultiplos .nomeAutor {
4777 order: 2;
4778 width: calc(100% - 280px);
4779 }
4780
4781 .freteContainer {
4782 margin-top: 20px;
4783 }
4784
4785 .dropdown-toggle {
4786 top: -95px !important;
4787 left: -5px !important;
4788 }
4789
4790 .imgDetalheProdutoContainer {
4791 height: auto !important;
4792 }
4793
4794 .informacoesContainer {
4795 height: auto !important;
4796 }
4797
4798 .price-buy-wrapper-desktop {
4799 position: initial !important;
4800 padding-left: 0 !important;
4801 padding-bottom: 0 !important;
4802 }
4803
4804 .addToCartCustom {
4805 margin-bottom: -20px;
4806 }
4807
4808 .price-wrapper-desktop .price-label {
4809 font-weight: 600 !important;
4810 padding-top: 5px !important;
4811 }
4812 }
4813
4814 @media (max-width: 812px) and (min-width: 769px) {
4815 .fotoAutorContainer.fotoAutorContainerMultiplos .nomeAutor {
4816 width: calc(100% - 332px);
4817 }
4818
4819 .fotoAutorContainer.fotoAutorContainerMultiplos .btnVoltarAutores {
4820 margin-left: 12px;
4821 }
4822
4823 .fotoAutorContainer.fotoAutorContainerMultiplos .linhaDetalheInferiorAutor {
4824 margin-left: 35px;
4825 }
4826
4827 .fotoAutorContainer.fotoAutorContainerMultiplos {
4828 width: 549px;
4829 }
4830 }
4831
4832 @media (max-width: 768px) {
4833 .fotoAutorContainer.fotoAutorContainerMultiplos {
4834 padding-bottom: 29px;
4835 position: relative!important;
4836 }
4837
4838 .fotoAutorContainer.fotoAutorContainerMultiplos .btnVoltarAutores {
4839 position: absolute;
4840 bottom: 0;
4841 left: 0;
4842 align-items: center;
4843 }
4844
4845 .nomeAutorMultiplos .linhaDetalheInferiorAutor i {
4846 bottom: 85px;
4847 }
4848
4849 .btnVoltarAutores i {
4850 margin-top: -14px;
4851 }
4852
4853 .fotoAutorContainer > .nomeAutor.nomeAutorMultiplos > .biografiaAutor {
4854 width: 75vw;
4855 white-space: normal;
4856 word-break: break-word;
4857 }
4858
4859 .nomeAutorMultiplos .linhaDetalheInferiorAutor {
4860 width: 100%;
4861 }
4862
4863 .buy-mobile-wrapper #livroIndisponivelButton {
4864 margin-left: 0;
4865 width: 100%;
4866 border-radius: 0px;
4867 }
4868
4869 .informacoesContainer #livroIndisponivelButton {
4870 display: none;
4871 }
4872 }
4873
4874 @media (max-width: 413px) and (min-width: 386px) {
4875 .nomeAutor.nomeAutorMultiplos .linhaNomeAutor:before,
4876 .nomeAutor.nomeAutorMultiplos .linhaNomeAutor:after {
4877 display: none;
4878 }
4879 .fotoAutorContainer > .nomeAutor.nomeAutorMultiplos > .biografiaAutor {
4880 width: 65vw;
4881 padding-left: 0;
4882 }
4883
4884 .btnVoltarAutores i {
4885 margin-top: 0;
4886 }
4887
4888 .nomeAutorMultiplos .linhaDetalheInferiorAutor {
4889 width: calc(100% + 21px);
4890 margin-left: -46px;
4891 position: relative;
4892 }
4893
4894 .nomeAutorMultiplos .linhaDetalheInferiorAutor i {
4895 bottom: 40px;
4896 left: 0;
4897 }
4898 }
4899
4900 @media (max-width: 768px) {
4901 .detalheProdutolinha1 > .col-3 {
4902 padding-left: 60px;
4903 width: 180px;
4904 flex: unset;
4905 max-width: unset;
4906 }
4907
4908 .detalheContainerImg {
4909 width: 80px;
4910 }
4911
4912 .price-wrapper {
4913 text-align: right;
4914 }
4915
4916 .price-wrapper > span {
4917 text-align: right;
4918 font: normal normal bold 19px/23px Montserrat;
4919 letter-spacing: 0px;
4920 color: #F6921E;
4921 display: inline-block;
4922 }
4923
4924 .price-wrapper span::before {
4925 font: normal normal 600 10px/13px Montserrat;
4926 letter-spacing: 0px;
4927 color: #78849E;
4928 display: block;
4929 }
4930
4931 .price-wrapper span.price-value .price-value-final::before {
4932 position: relative;
4933 top: 3px;
4934 }
4935
4936 .price-wrapper span.price-value .price-value-final {
4937 font: normal normal bold 28px/23px Montserrat;
4938 }
4939
4940 .price-wrapper span.price-value .price-value-final .currency {
4941 font-size: 19px;
4942 }
4943
4944 .valorCarrossel4 > .price {
4945 margin-top: -15px !important;
4946 }
4947 }
4948
4949 @media (max-width: 619px) {
4950 .detalheProdutolinha1 > .col-9 {
4951 width: calc(100% - 180px)!important;
4952 flex: unset;
4953 max-width: unset;
4954 }
4955
4956 .imgProdutoPrincipal img {
4957 width: calc(100% - 57px)!important;
4958 }
4959 }
4960
4961 @media (max-width: 530px) {
4962 .detalheProdutolinha1 > .col-3 {
4963 padding-left: 20px;
4964 width: 98px;
4965 }
4966
4967 .detalheContainerImg img {
4968 height: 41.25px;
4969 width: 41.25px;
4970 }
4971
4972 .botaoAmplie {
4973 width: 42px;
4974 margin-left: auto;
4975 margin-right: auto;
4976 }
4977
4978 .botaoAmplie > span {
4979 font-size: 10px!important;
4980 font-weight: 500!important;
4981 }
4982
4983 .detalheContainerImg {
4984 width: 50px;
4985 }
4986
4987 .informacoesContainer {
4988 padding-left: 20px!important;
4989 padding-right: 20px!important;
4990 }
4991
4992 .informacoesContainer > .informacoesContainer {
4993 padding-left: 0px!important;
4994 padding-right: 0px!important;
4995 }
4996
4997 .detalheContainerImg img.escolhida {
4998 border-width: 3px!important;
4999 }
5000
5001 .imgProdutoPrincipal img {
5002 width: calc(100% - 4px)!important;
5003 }
5004
5005 .tituloDetalheLivro {
5006 font: normal normal 600 20px/19px Montserrat;
5007 }
5008
5009 .detalheProdutolinha1 > .col-9 {
5010 width: calc(100% - 152px)!important;
5011 }
5012
5013 .informacoesContainer {
5014 display: block;
5015 }
5016
5017 .imgProdutoPrincipal img {
5018 height: auto!important;
5019 min-height: unset!important;
5020 }
5021 }
5022
5023 @media (max-width: 414px) and (min-width: 321px) {
5024 .container.mobile-only.pagamentoCepWrapper {
5025 padding-right: 50px;
5026 }
5027 }
5028
5029 @media (max-width: 414px) and (min-width: 385px) {
5030 .detalheProdutolinha1 > .col-3 {
5031 width: 74px;
5032 }
5033 }
5034
5035 @media (max-width: 414px) {
5036 .pagamentoCepWrapper {
5037 width: calc(100% - 40px);
5038 }
5039 }
5040
5041 @media (max-width: 384px) {
5042 .detalheProdutolinha1 > .col-3 {
5043 width: 98px;
5044 }
5045 }
5046
5047 .portlet-boundary_com_liferay_portal_search_web_search_bar_portlet_SearchBarPortlet_ .portlet-body {
5048 border-radius: 6px!important;
5049 }
5050
5051 @media (width: 414px) {
5052 .detalheProdutolinha1 > .col-3 {
5053 width: 90px;
5054 }
5055 }
5056
5057 @media (max-width: 768px) {
5058 body.signed-out .fieldset.fieldset.search-bar,
5059 body.signed-in:not(.has-control-menu) .fieldset.fieldset.search-bar {
5060 margin-top: 56px;
5061 }
5062
5063 .btn-add-to-cart-inline::before {
5064 font-size: 16px!important;
5065 }
5066
5067 .opcoesPagamentoDetalheLivro ul li {
5068 padding-right: 9px!important;
5069 }
5070
5071 .tabsDescricaoAutor {
5072 margin-bottom: 15px;
5073 }
5074 }
5075
5076 @media (min-width: 769px) {
5077 .price-wrapper span.price-value .price-value-final {
5078 font-size: 33px!important;
5079 }
5080
5081 .price-wrapper .price-value .price-value-final::before {
5082 font-size: 20px!important;
5083 }
5084
5085 .price-buy-wrapper-desktop {
5086 display: flex;
5087 justify-content: space-between;
5088 align-items: flex-end;
5089 position: absolute;
5090 right: 0;
5091 bottom: 0;
5092 padding-right: 20px;
5093 padding-left: 30px;
5094 padding-bottom: 30px;
5095 width: 100%;
5096 }
5097
5098 .price-buy-wrapper-desktop .addToCartCustom,
5099 .informacoesContainer .price-buy-wrapper-desktop .btn-add-to-cart {
5100 margin-left: 0;
5101 margin-top: 0;
5102 }
5103
5104 .informacoesContainer .price-buy-wrapper-desktop .btn-add-to-cart::before {
5105 font-size: 22px;
5106 }
5107
5108 .price-buy-wrapper-desktop .price-value .price-value-final {
5109 margin-left: 0;
5110 text-align: right;
5111 padding-left: 0;
5112 }
5113
5114 .descricaoContainer pre {
5115 margin-top: 30px;
5116 }
5117
5118 .descricaoContainer > span > i {
5119 margin-top: 10px;
5120 }
5121
5122 .comprarCarrossel4 button.btn.btn-primary.btn-lg.btn-add-to-cart.btn-add-to-cart-inline {
5123 height: 30px;
5124 }
5125
5126 .informacoesContainer.desktop-only > .row.w-25.p-3 {
5127 padding: 0!important;
5128 }
5129
5130 .container.imgDetalheProdutoContainer {
5131 padding-top: 30px;
5132 }
5133
5134 .informacoesContainer.desktop-only {
5135 padding: 0 20px 30px 30px;
5136 position: relative;
5137 }
5138
5139 .price-wrapper-desktop {
5140 display: flex;
5141 flex-wrap: wrap;
5142 text-align: left;
5143 }
5144
5145 .background-right.titulo-slider4 {
5146 margin-bottom: -15px;
5147 padding-top: 80px;
5148 }
5149
5150 .indiqueContainer {
5151 max-width: unset!important;
5152 right: 20px!important;
5153 margin-left: unset!important;
5154 left: unset!important;
5155 margin-top: -21px!important;
5156 }
5157
5158 .descricaoCurtaDetalheLivro {
5159 padding-right: 80px;
5160 }
5161
5162 .price-wrapper-desktop-real {
5163 font-size: 27px;
5164 }
5165 .informacoesContainer.desktop-only {
5166 width: 100%;
5167 }
5168
5169 .slider4:not(.slider4semextracard) .valorCarrossel4 {
5170 margin-top: 20px !important;
5171 margin-bottom: 0px !important;
5172 }
5173 }
5174
5175 @media (min-width: 821px) {
5176 .slider4semextracard .valorCarrossel4 {
5177 top: 90px !important;
5178 }
5179 }
5180
5181 @media (min-width: 1199px) {
5182 .price-wrapper-desktop span.price-value span.price-label {
5183 font-size: 36px!important;
5184 }
5185
5186 .price-wrapper-desktop span.price-value span.price-label::before {
5187 font-size: 27px!important;
5188 }
5189
5190 .tabsDescricaoAutor > div > div > ul > li {
5191 margin: 0 0 0 20px;
5192 width: 39.5%;
5193 }
5194
5195 .iconDesc .fas.fa-user-edit {
5196 font-size: 31px;
5197 margin-top: -6px;
5198 }
5199
5200 .nav-link#spec-tab .iconDesc span {
5201 position: relative;
5202 top: -5px;
5203 }
5204
5205 .price-wrapper-desktop {
5206 padding-left: 30px;
5207 }
5208
5209 .nav-item #desc-tab {
5210 padding-right: 20px!important;
5211 }
5212
5213 .nav-item #spec-tab {
5214 padding-left: 20px!important;
5215 }
5216
5217 .nav-tabs > li:nth-child(2) > a > .iconDesc {
5218 margin-left: 0!important;
5219 }
5220
5221 .freteContainer.container {
5222 position: relative;
5223 left: 20px;
5224 }
5225 }
5226
5227 @media (max-width: 1199px) {
5228 .ssp#wrapper {
5229 z-index: 1 !important;
5230 }
5231
5232 .slider4.slider4semextracard .slick-list {
5233 z-index: 0 !important;
5234 }
5235
5236 .price-buy-wrapper-desktop {
5237 display: block;
5238 }
5239
5240 .indiqueContainer {
5241 max-width: unset;
5242 left: unset;
5243 right: 20px;
5244 }
5245
5246 .informacoesContainer > .row > .indiqueContainer {
5247 display: flex;
5248 flex-wrap: wrap;
5249 flex-direction: column;
5250 }
5251
5252 .informacoesContainer > .row > .indiqueContainer > span {
5253 font-size: 0.8rem;
5254 }
5255
5256 .search-bar > .search-bar-simple > .search-bar-keywords-input-wrapper input {
5257 max-width: initial !important;
5258 }
5259 }
5260
5261 @media (max-width: 768px) {
5262 .botaoAmplie {
5263 visibility: hidden;
5264 }
5265
5266 .indiqueContainer {
5267 right: 0;
5268 }
5269
5270 .buy-mobile-wrapper .btn-add-to-cart.btn.btn-lg,
5271 .buy-mobile-wrapper .preco {
5272 height: 50px;
5273 }
5274
5275 .buy-mobile-wrapper .sacola-header-icon:before {
5276 font-size: 16px!important;
5277 }
5278
5279 .tab-single.active {
5280 color: #454f63;
5281 }
5282
5283 .tab-mobile-content {
5284 width: calc(100% - 40px);
5285 margin-left: 10px;
5286 }
5287
5288 .informacoesContainer .price-wrapper .price-label {
5289 display: none;
5290 }
5291
5292 .linhaNomeAutor {
5293 margin-left: 0;
5294 padding-left: 20px;
5295 }
5296
5297 .linhaNomeAutor:before {
5298 margin-left: 0;
5299 }
5300
5301 .tab-mobile-content {
5302 padding-left: 20px;
5303 }
5304
5305 .fotoAutorContainer > .nomeAutor > .biografiaAutor {
5306 padding-left: 20px;
5307 margin-left: 0!important;
5308 }
5309
5310 .linhaDetalheInferiorAutor {
5311 margin-left: -37px;
5312 }
5313
5314 .pagamentoCepWrapper {
5315 width: calc(100% - 80px);
5316 display: flex;
5317 flex-wrap: wrap;
5318 align-content: center;
5319 flex-direction: column;
5320 margin-top: 0;
5321 margin-bottom: 40px;
5322 }
5323
5324 .informacoesContainer > .informacoesContainer {
5325 padding-left: 20px!important;
5326 padding-right: 20px!important;
5327 }
5328
5329 .tab-single {
5330 padding: 10px 23px 10px 40px;
5331 margin-left: 10px;
5332 }
5333
5334 .tab-mobile-content {
5335 padding-left: 20px;
5336 width: calc(100% - 20px);
5337 }
5338
5339 .fotoAutorContainer > .nomeAutor > .biografiaAutor,
5340 .fotoAutorContainer .linhaNomeAutor {
5341 padding-left: 40px;
5342 }
5343
5344 .fotoAutorContainer > .nomeAutor > .biografiaAutor,
5345 .fotoAutorContainer .linhaNomeAutor {
5346 padding-left: 40px;
5347 padding-right: 0px;
5348 width: 100%;
5349 }
5350 .calcFretePrazoContainer {
5351 margin-top: -5px;
5352 margin-bottom: 20px;
5353 }
5354
5355 .labelsFretes > div:nth-child(1), .valuesFretes > div:nth-child(1) {
5356 margin-left: 5px;
5357 }
5358
5359 .valorCarrossel4 {
5360 position: relative;
5361 z-index: 9999;
5362 top: -50px;
5363 }
5364
5365 .divEspiarCarrossel4 {
5366 position: relative;
5367 z-index: 9999;
5368 top: -60px;
5369 left: -20px;
5370 }
5371
5372 .slider4 .valorCarrossel4 {
5373 margin-top: 75px !important;
5374 }
5375
5376 .slider4 .espiarCarrossel4 {
5377 top: -65px !important;
5378 }
5379
5380 .mobile-only .price {
5381 grid-template-areas: "value" !important;
5382 font: normal normal bold 28px/23px Montserrat;
5383 padding-bottom: 10px;
5384 }
5385 }
5386
5387 @media (min-width: 769px) {
5388 .calcFretePrazoContainer {
5389 height: 73px;
5390 }
5391
5392 .labelsFretes > div:nth-child(1), .valuesFretes > div:nth-child(1) {
5393 margin-left: 17px;
5394 }
5395
5396 .slider4.slider4semextracard {
5397 z-index: 0;
5398 }
5399 }
5400
5401 .mini-cart {
5402 z-index: 99999;
5403 }
5404
5405 .detalheContainerImg img.selectedImage {
5406 border: 5px solid rgb(246, 146, 30)!important;
5407 }
5408
5409 .img-zoom-container{
5410 position: relative;
5411 width: 358px !important;
5412 height: 524px !important;
5413 overflow: hidden;
5414 flex-shrink: 0;
5415 }
5416 .img-zoom-container img{
5417 position: absolute;
5418 width: 100%!important;
5419 height: 100%!important;
5420 margin:0;
5421 -o-object-fit: contain;
5422 object-fit: contain;
5423 transform: scale(var(--zoom, 1));
5424 transform-origin: var(--x) var(--y);
5425 transition: transform 0.3s ease;
5426 }
5427 .imgProdutoPrincipal img:hover{
5428 --zoom:2;
5429 }
5430 @media (max-width: 769px) {
5431 .img-zoom-container {
5432 width: 338px !important;
5433 height: 300px !important;
5434 }
5435 }
5436
5437</style>
5438
5439<script>
5440 function handleUsuarioUnidade(nomeUnidade) {
5441 $(".freteContainer").addClass("d-none");
5442 $(".estoque p").removeClass("estoque-color-transparent");
5443 $(".estoque p").addClass("estoque-color");
5444 $("#livroIndisponivelButton").hide();
5445 $("#registroDeInteresseButton").show();
5446 $("#livroIndisponivelSpan").show();
5447 $("#livroIndisponivelSpan").addClass("d-block");
5448
5449 $("#ri-unidade").val(nomeUnidade);
5450 $("#ri-produto").val($(".tituloDetalheLivro").first().text());
5451
5452 }
5453
5454 function handleUsuario() {
5455 $(".estoque").removeClass("d-flex");
5456 $(".estoque").addClass("d-none");
5457 $(".freteContainer").css("height", "auto");
5458 $(".pagamentoCepWrapper.mobile-only").css("height", "auto");
5459 }
5460
5461 //Identifica usuário unidade
5462 $(document).ready(function() {
5463 let myHeaders = new Headers();
5464 myHeaders.append("accept", "application/json");
5465 myHeaders.append("x-csrf-token", Liferay.authToken);
5466 let requestOptions = {
5467 method: 'GET',
5468 headers: myHeaders,
5469 redirect: 'follow'
5470 };
5471 fetch("/o/headless-admin-user/v1.0/my-user-account", requestOptions)
5472 .then(response => response.text())
5473 .then(result => {
5474 let accountBriefs = JSON.parse(result).accountBriefs;
5475 let contaUnidadeEncontrada = false;
5476
5477 accountBriefs.forEach(function(account) {
5478 fetch("/o/headless-commerce-admin-account/v1.0/accounts/" + account.id, requestOptions)
5479 .then(response => response.text())
5480 .then(result => {
5481 let accountType = JSON.parse(result).type;
5482 if (accountType == 2) { // Conta Unidade
5483 contaUnidadeEncontrada = true;
5484 handleUsuarioUnidade(JSON.parse(result).name);
5485 }
5486 }).catch(error => {
5487 console.log(error);
5488 });
5489 });
5490 setTimeout(function() {
5491 if (!contaUnidadeEncontrada) {
5492 handleUsuario();
5493 }
5494 }, 1000);
5495 }).catch(error => {
5496 handleUsuario();
5497 });
5498 });
5499
5500 $(document).ready(function(){
5501 $("#registroDeInteresseButton").click(function(){
5502 $("#ri-myModal").css("display", "block");
5503 $('.ssp-mega-menu').addClass('v-hidden');
5504 });
5505
5506 $(".ri-closeBtn").click(function(){
5507 $("#ri-myModal").css("display", "none");
5508 $('.ssp-mega-menu').removeClass('v-hidden');
5509 });
5510
5511 $("#ri-quantidade").change(function(event) {
5512 if ($(event.target).val() > 0) {
5513 $(".ri-span-error").hide();
5514 } else {
5515 $(".ri-span-error").text("Preencha o campo com a quantidade desejada.");
5516 $(".ri-span-error").show();
5517 }
5518 });
5519
5520 $("#ri-finalidade").change(function(event) {
5521 if ($(event.target).val() == 0) {
5522 console.log("linha 1104");
5523 $(".ri-span-error").text("Preencha o campo com a finalidade desejada.");
5524 $(".ri-span-error").show();
5525 } else {
5526 $(".ri-span-error").hide();
5527 }
5528 });
5529
5530 $(".ri-submitBtn").click(function(event) {
5531 event.preventDefault();
5532 const quantidade = $("#ri-quantidade").val();
5533 const finalidade = $("#ri-finalidade").val();
5534
5535 if (quantidade > 0 && finalidade != 0) {
5536 $(event.target).attr("disabled", true);
5537 $(".ri-span-error").hide();
5538
5539 $("#registroUnidadeNome").text($("#ri-unidade").val());
5540
5541 $("#registroUsuarioNome").text(Liferay.ThemeDisplay.getUserName());
5542 $("#registroUsuarioEmail").text(Liferay.ThemeDisplay.getUserEmailAddress());
5543
5544 let descricaoItem = $("#ri-produto").val() + " - " + $("#itemEdicao").text() + " - Cód. do Produto: " + $("#itemSku").text().replace(/\D/g, '');
5545 $("#registroProdutoNome").text(descricaoItem);
5546 $("#registroProdutoQtd").text(quantidade);
5547 $("#registroProdutoFin").text(finalidade);
5548
5549 enviarEmailregistro();
5550 } else {
5551 if (quantidade <= 0 && finalidade == 0) {
5552 $(".ri-span-error").text("Preencha os campos com a finalidade e a quantidade desejada.");
5553 } else if (quantidade <= 0) {
5554 $(".ri-span-error").text("Preencha o campo com a quantidade desejada.");
5555 } else {
5556 $(".ri-span-error").text("Preencha o campo com a finalidade desejada.");
5557 }
5558 $(".ri-span-error").show();
5559 }
5560 });
5561
5562 $(window).click(function(event){
5563 if ($(event.target).is("#ri-myModal")) {
5564 $("#ri-myModal").css("display", "none");
5565 $('.ssp-mega-menu').removeClass('v-hidden');
5566 }
5567 });
5568
5569 $('#btnFechaModalRegistro').on('click', function() {
5570 window.location.replace(Liferay.ThemeDisplay.getPortalURL());
5571 });
5572 });
5573
5574 function enviarEmailregistro() {
5575 let email = Liferay.ThemeDisplay.getUserEmailAddress();
5576 let nome = $("#ri-unidade").val();
5577
5578 let registroOuterHtml = $("#registroDeInteresseEmail")[0].outerHTML.replaceAll("\n", "");
5579
5580 let registroDeInteresse = {
5581 "accountUnidade": $("#ri-unidade").val(),
5582 "usuarioSolicitante": {
5583 "nome": Liferay.ThemeDisplay.getUserName(),
5584 "email": Liferay.ThemeDisplay.getUserEmailAddress()
5585 },
5586 "riProducts" : [
5587 {
5588 "productName": $("#ri-produto").val(),
5589 "finalidadeDeInteresse": $("#ri-finalidade").val(),
5590 "quantidadeDesejada": parseInt($("#ri-quantidade").val())
5591 }
5592 ]
5593 }
5594
5595 let body = {
5596 "attachment": false,
5597 "from": email,
5598 "to": "",
5599 "cc": "",
5600 "cco": "",
5601 "subject": "registro interesse",
5602 "message": registroOuterHtml,
5603 "nome": nome,
5604 "email": email,
5605 "registroDeInteresse": registroDeInteresse
5606 }
5607
5608 var settings = {
5609 "url": "/sync-dxp/email/sendMail",
5610 "method": "POST",
5611 "timeout": 0,
5612 "headers": {
5613 "Content-Type": "application/json",
5614 "Access-Control-Allow-Credentials":"true",
5615 "Access-Control-Allow-Methods": "POST, GET",
5616 "Access-Control-Allow-Headers": "*",
5617 "Access-Control-Max-Age": 86400
5618 },
5619 "data": JSON.stringify(body),
5620 };
5621
5622 $.ajax(settings).done(function (response) {
5623 $(".ri-modal-content").hide();
5624 $(".modal-success").show();
5625 });
5626 }
5627</script>
5628
5629<script>
5630
5631 document.querySelectorAll('.img-zoom-container').forEach(elem =>{
5632 let x,y, width, height;
5633 elem.onmouseenter = () => {
5634 const size = elem.getBoundingClientRect();
5635 x= size.x;
5636 y = size.y;
5637 width = size.width;
5638 height = size.height;
5639 };
5640 elem.onmousemove = e =>{
5641 const horizontal = (e.clientX - x) / width*100;
5642 const vertical = (e.clientY - y) / height*100;
5643 elem.style.setProperty('--x', horizontal + '%');
5644 elem.style.setProperty('--y', vertical + '%');
5645 };
5646 });
5647
5648 // Click na galeria de imagem
5649 $('.detalheContainerImg img').on('click', function(){
5650 // $('.detalheContainerImg img').css("border","none");
5651 $('.detalheContainerImg img').removeClass("selectedImage");
5652 var src = $(this).attr('src');
5653 // $(this).css("border","5px solid #F6921E");
5654 $(this).addClass("selectedImage");
5655 $('.img-zoom-container .img-responsive').attr('src',src);
5656 })
5657
5658 let valorLivro = 0;
5659 if ($('.price-wrapper-desktop .price-value').html()) {
5660 valorLivro = parseFloat($('.price-wrapper-desktop .price-value').html().substr(4).replace(',', '.'));
5661 }
5662
5663 var storageAutores = [];
5664 $('.abaAutores > .jsonAutores > root > value').each((i) => {
5665 var storageAutor = $('.abaAutores > .jsonAutores > root:eq(' + i + ') > value').html();
5666 storageAutores.push(JSON.parse(storageAutor));
5667 })
5668
5669 var arrAutores = []
5670 var countAutor = $('.abaAutores > root > value').length;
5671 $('.abaAutores > root > value').each(() => {
5672 var autores = $('.abaAutores > root:eq(' + i + ') > value').html().split(',');
5673 $('.abaAutores > root:eq(' + i + ') > value').text('');
5674 $('.acDescricaoLi > p > root:eq(' + i + ') > value').text('');
5675 for (z = 0; z < autores.length; z++) {
5676 arrAutores.push('<p id="autorPgDetalheLivro" data-id="' + autores[z] + '"><a href="#' + autores[z] + '">' + autores[z] + '</a></p>');
5677 }
5678 $('.abaAutores > root:eq(' + i + ') > value').append(arrAutores);
5679 $('.acDescricaoLi > p > root:eq(' + i + ') > value').append(arrAutores);
5680 })
5681 $('#spec-tab').on('click', () => {
5682 $('.jsonAutores').css('display', 'none');
5683 })
5684
5685 $('p#autorPgDetalheLivro').on('click', () => {
5686 $('#voltarAutores').css('visibility', 'visible');
5687 $('#voltarAutoresMob').css('display', 'block');
5688 var nomeAutor = $(this).attr('data-id');
5689 $('.abaAutores').css('display', 'none');
5690 $('.acDescricaoLi:eq(1)').css('visibility', 'hidden');
5691 var nomeAutor = $(this).attr('data-id').trim();
5692 for (i = 0; i < storageAutores.length; i++) {
5693 if (nomeAutor == storageAutores[i].nomeAutor) {
5694 $('#spec').append('<div class="biografiaContainer"></div><div class="bioContainer"></div>' +
5695 '<div class="row biografiaLinha"><div class="col-2"><h6 class="nomeAutorPaginaLivro">' + storageAutores[i].nomeAutor + '</h6><img src="' + storageAutores[i].foto +
5696 '"/></div>' +
5697 '<div class="col-9 biografiaAutor">' + storageAutores[i].biografia +
5698 '</div></div></div><div class="biografiaContainer"></div>'
5699 );
5700 $('<div class="bioContainer" style="margin-top:-180px"><div class="row"><div class="col-8 offset-2 nomeAutorMobile"><h5><i class="fas fa-chalkboard-teacher"></i>' + storageAutores[i].nomeAutor + '</h5></div></div>' +
5701 '<div class="row"><div class="col-11 offset-1 biografiaAutorMobile"><img src="' + storageAutores[i].foto +
5702 '"/>' + storageAutores[i].biografia +
5703 '</div></div></div>'
5704 ).insertAfter('.acDescricaoLi:eq(1)');
5705 }
5706 }
5707 })
5708
5709 $('#voltarAutores').on('click', () => {
5710 $(this).css('visibility', 'hidden');
5711 $('.bioContainer').css('display', 'none');
5712 $('.biografiaContainer').remove();
5713 $('.biografiaLinha').css('display', 'none');
5714 $('.abaAutores').css('display', 'block');
5715 })
5716 $('#voltarAutoresMob').on('click', () => {
5717 $(this).css('display', 'none');
5718 $('.bioContainer').css('display', 'none');
5719 $('.acDescricaoLi:eq(1)').css('visibility', 'visible');
5720 })
5721
5722 $('.btnShareMob').click(() => {
5723 navigator.share({
5724 title: document.title,
5725 url: themeDisplay.getCanonicalURL()
5726 });
5727 });
5728
5729 $('.tabsDescricaoAutor > div > div > ul > li:eq(0)').on('click',() => {
5730 $(this).find('i').css('visibility', 'visible');
5731 $('.tabsDescricaoAutor > div > div > ul > li:eq(0)').addClass('abaAtiva');
5732 $('.tabsDescricaoAutor > div > div > ul > li:eq(1)').removeClass('abaAtiva')
5733 $('.tabsDescricaoAutor > div > div > ul > li:eq(1)').find('i.fa-play').css('visibility', 'hidden');
5734 })
5735
5736 $('.tabsDescricaoAutor > div > div > ul > li:eq(1)').on('click',() => {
5737 $(this).find('i').css('visibility', 'visible');
5738 $('.tabsDescricaoAutor > div > div > ul > li:eq(1)').addClass('abaAtiva')
5739 $('.tabsDescricaoAutor > div > div > ul > li:eq(0)').removeClass('abaAtiva')
5740 $('.tabsDescricaoAutor > div > div > ul > li:eq(0)').find('i.fa-play').css('visibility', 'hidden');
5741 })
5742
5743
5744 $('#freteDetalheLivro,#freteDetalheLivroMob').on('keypress blur', function() {
5745 var cep = $(this).val();
5746 if(cep.length > 8){
5747 cep = cep.replace('-', '');
5748 var freteDesktop = $('#freteDetalheLivro').val()
5749 var freteMobile = $('#freteDetalheLivroMob').val()
5750 var body = {
5751 "nCdEmpresa": "",
5752 "sDsSenha": "",
5753 "nVlDiametro": 29,
5754 "nVlPeso": "1",
5755 "sCdMaoPropria": "N",
5756 "nVlLargura": 11,
5757 "nVlComprimento": 16,
5758 "sCdAvisoRecebimento": "N",
5759 "nCdServico": "04510",
5760 "sCepDestino": cep,
5761 "sCepOrigem": "01041000",
5762 "nVlValorDeclarado": 99.9,
5763 "nCdFormato": 1,
5764 "nVlAltura": 2
5765 }
5766 var url = "${themeDisplay.getURLPortal()}/sync-dxp/correios/calcPrecoPrazo"
5767 $.ajax({
5768 contentType: "application/json",
5769 headers: {
5770 "x-csrf-token": Liferay.authToken,
5771 "accept": "application/json"
5772 },
5773 data: JSON.stringify(body),
5774 method: "POST",
5775 url: url,
5776 success: (response) => {
5777 let valorExibido = 'R$ 8,90';
5778 if (valorLivro >= 100) {
5779 valorExibido = 'R$ 0,00';
5780 }
5781 let label = response.servicos.cservico[0].prazoEntrega + ' dias'
5782 $('.calcFretePrazoContainer').fadeIn('slow');
5783 $('.consulteCEP').css('visibility', 'hidden');
5784 $('.valuesFretes > div:nth-child(2)').text(valorExibido);
5785 $('.valuesFretes > div:nth-child(1)').text(label);
5786 $('.nav-tabs').attr('style', 'margin-top:30px !important');
5787 }
5788 });
5789 }
5790 });
5791
5792 $('.lineAccorionDescricao > div > ul > li:eq(0)').on('click',() => {
5793 if ($(this).hasClass("abaActiveAccordion")) {
5794 $(this).removeClass("abaActiveAccordion");
5795 $('.lineAccorionDescricao > div > ul > li:eq(0) > label ~ .linhaAccordionAtivo').css('display', 'none');
5796 $('.lineAccorionDescricao > div > ul > li:eq(0) > label ~ .linhaAccordionAtivo ~ i').css('display', 'none');
5797 $('.lineAccorionDescricao > div > ul > li:eq(0) > label').attr('style', 'background: #FFFFFF;color:#78849E !important;');
5798 return false;
5799 } else {
5800 $(this).addClass('abaActiveAccordion');
5801 $('.lineAccorionDescricao > div > ul > li:eq(0) > label ~ .linhaAccordionAtivo').css('display', 'block');
5802 $('.lineAccorionDescricao > div > ul > li:eq(0) > label ~ .linhaAccordionAtivo ~ i').css('display', 'block');
5803 $('.lineAccorionDescricao > div > ul > li:eq(0) > label').attr('style', 'background: #F8F8F8 !important;color:#454F63 !important');
5804 return false;
5805 }
5806 });
5807
5808 $('.lineAccorionDescricao > div > ul > li:eq(1)').on('click',() => {
5809
5810 if ($(this).hasClass("abaActiveAccordion")) {
5811 $(this).removeClass("abaActiveAccordion");
5812 $('.lineAccorionDescricao > div > ul > li:eq(1) > label ~ .linhaAccordionAtivo').css('display', 'none');
5813 $('.lineAccorionDescricao > div > ul > li:eq(1) > label ~ .linhaAccordionAtivo ~ i').css('display', 'none');
5814 $('.lineAccorionDescricao > div > ul > li:eq(1) > label').attr('style', 'background: #FFFFFF;color:#78849E !important;');
5815 return false;
5816 } else {
5817 $(this).addClass('abaActiveAccordion');
5818 $('.lineAccorionDescricao > div > ul > li:eq(1) > label ~ .linhaAccordionAtivo').css('display', 'block');
5819 $('.lineAccorionDescricao > div > ul > li:eq(1) > label ~ .linhaAccordionAtivo ~ i').css('display', 'block');
5820 $('.lineAccorionDescricao > div > ul > li:eq(1) > label').attr('style', 'background: #F8F8F8 !important;color:#454F63 !important');
5821 return false;
5822 }
5823 });
5824
5825 if ($('.buy-mobile-wrapper').length >= 1) {
5826 $('body').append($('.buy-mobile-wrapper'));
5827 }
5828
5829 $('.js-formasPagamentoTitleMobile').on('click', function() {
5830 $('.js-opcoesPagamentoDetalheLivroMobile').fadeToggle(100);
5831 });
5832
5833 $('[data-tab-target]').on('click', function() {
5834 $('[data-tab-target]:not([data-tab-target = ' + $(this).attr('data-tab-target') + '])').removeClass('active');
5835 $(this).toggleClass('active');
5836 let selector = '[data-tab-id=' + $(this).attr('data-tab-target') + ']';
5837 $('[data-tab-id]:not(' + selector +')').slideUp(100);
5838 $(selector).slideToggle(100);
5839 });
5840
5841 if ($('.slider4').length >= 1 && !$('.slider4').prev().hasClass('titulo-slider4')) {
5842 $(`<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>`).insertBefore('.slider4');
5843 }
5844
5845 let autor;
5846 try {
5847 const raw = '${autor?js_string}';
5848 autor = JSON.parse(raw);
5849 } catch (err) {
5850 console.error("Não foi possível carregar o autor", err);
5851 }
5852 var autores = '';
5853
5854 try {
5855 for (let i = 0; i < autor.length; i++) {
5856 autores += autor[i].nomeAutor;
5857 if (i !== autor.length-1) {
5858 autores += ', ';
5859 }
5860 }
5861 $('.autorDetalheLivro').append($('<span>'+autores+'</span>'));
5862 } catch (err) {
5863 console.error(err);
5864 }
5865
5866 $('.mobile-only .price').html($('.price-wrapper-desktop .price-value').html().substr(2));
5867 $('.precoMobile').html($('.price-wrapper-desktop .price-value').html().substr(4));
5868
5869 let firstImage = $('.detalheContainerImg img').first();
5870 firstImage.addClass('selectedImage');
5871 $('head').append('<meta property="og:image" content="' + Liferay.ThemeDisplay.getPortalURL() + firstImage.attr('src').trim() + '" />');
5872 $('.img-zoom-container .img-responsive').attr('src', firstImage.attr('src'));
5873
5874 //Cálculo de frete na página de detalhe do livro
5875 window.addEventListener('load', function() {
5876 $('#freteDetalheLivro,#freteDetalheLivroMob').mask('00000-000');
5877 });
5878
5879
5880 //ebooks
5881 var ebook;
5882
5883 //exemplo para testes
5884 /*ebook = [
5885 {
5886 "codigo": "10013",
5887 "codCli": 11056,
5888 "apelido": "KOBO LIVROS DO BRASIL LTDA",
5889 "nome": "KOBO LIVROS DO BRASIL LTDA",
5890 "url": "https://store.kobobooks.com/pt-BR/Search?Query=9788539607464"
5891 },
5892 {
5893 "codigo": "10013",
5894 "codCli": 32316,
5895 "apelido": "APPLE COMPUTER BRASIL LT",
5896 "nome": "APPLE COMPUTER BRASIL LT",
5897 "url": "https://books.apple.com/br/book/id1292379174"
5898 },
5899 {
5900 "codigo": "10013",
5901 "codCli": 10818,
5902 "apelido": "(MATRIZ)AMAZON SERV.DE VAREJO DO BRASIL LTDA.",
5903 "nome": "AMAZON SERVICOS DE VAREJO DO BRASIL LTDA",
5904 "url": "https://www.amazon.com.br/s?k=9788539607464&i=digital-text"
5905 },
5906 {
5907 "codigo": "10013",
5908 "codCli": 9168,
5909 "apelido": "GOOGLE, INC.",
5910 "nome": "GOOGLE INC",
5911 "url": "https://play.google.com/store/books/details?id=ISBN_9788539607464"
5912 }
5913 ]*/
5914
5915 //capitaliza string
5916 function capitalizeTitle(title) {
5917 title = title.toLowerCase().split(' ');
5918 for (let i in title) {
5919 let word = title[i].slice(1);
5920 let capital = title[i].charAt(0).toUpperCase();
5921 title[i] = capital + word;
5922 }
5923 title = title.join(' ');
5924 return title;
5925 }
5926
5927 try {
5928 ebook = JSON.parse('${ebook}');
5929 for (let i = 0; i < ebook.length; i++) {
5930 if (Array.isArray(ebook[i])) {
5931 ebook[i] = Object.fromEntries(ebook[i]);
5932 }
5933 }
5934
5935 for (let i in ebook) {
5936 let nome = ebook[i].nome.toLowerCase().split(' ')[0];
5937 switch (nome) {
5938 case 'amazon':
5939 ebook[i].ordem = 1;
5940 break;
5941
5942 case 'kobo':
5943 ebook[i].ordem = 2;
5944 break;
5945
5946 case 'apple':
5947 ebook[i].ordem = 3;
5948 break;
5949
5950 case 'google':
5951 ebook[i].ordem = 4;
5952 break;
5953
5954 case 'wook':
5955 ebook[i].ordem = 5;
5956 break;
5957
5958 default:
5959 ebook[i].ordem = 10;
5960 break;
5961 }
5962 }
5963
5964 //remove ebooks duplicados
5965 let jsonEbook = ebook.map(JSON.stringify);
5966 let uniqueSet = new Set(jsonEbook);
5967 ebook = Array.from(uniqueSet).map(JSON.parse);
5968
5969 //ordena ebooks
5970 ebook = ebook.sort((a, b) => a.ordem - b.ordem);
5971 } catch (err) {
5972 // console.error('Não foi possível carregar o ebook');
5973 $('.ebooksContainer').css('display', 'none');
5974 $('.freteContainer ').css('padding-bottom', '60px');
5975 }
5976
5977 if (typeof ebook !== 'undefined' && ebook.length > 0) {
5978 ebook.forEach((e, i) => {
5979 let nome = e.nome;
5980 if (!nome) {
5981 nome = "";
5982 }
5983 nome = nome.toLowerCase();
5984 let nomeValido = !!!~(nome.indexOf('cultura'))
5985 && !!!~(nome.indexOf('serviço nacional de aprendizagem comercial'));
5986 let icone = '';
5987 let marca = '';
5988 let nomePrimeiro = nome.split()[0];
5989 let nomeKindle = !!~(nomePrimeiro.indexOf('kindle')) || !!~(nomePrimeiro.indexOf('amazon'));
5990 let nomeGoogle = !!~(nomePrimeiro.indexOf('google'));
5991 let nomeApple = !!~(nomePrimeiro.indexOf('apple'));
5992 let nomeKobo = !!~(nomePrimeiro.indexOf('kobo'));
5993 let nomeWook = !!~(nomePrimeiro.indexOf('wook'));
5994
5995 //determina icone, nome e marca de forma correta
5996 if (nomeKindle) {
5997 icone = "<i class='fab fa-amazon'></i>";
5998 marca = "Amazon";
5999 nome = "Kindle";
6000 } else if (nomeGoogle) {
6001 icone = "<i class='fab fa-google'></i>";
6002 marca = "Google";
6003 nome = "Google Livros";
6004 } else if (nomeApple) {
6005 icone = "<i class='fab fa-apple' style='font-size: 1.2rem; line-height: 0.8;'></i>";
6006 marca = "Apple";
6007 nome = "Apple Books";
6008 } else if (nomeKobo) {
6009 icone = `
6010 <svg id="Camada_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 234.8 234.7">
6011 <defs>
6012 <style>.cls-1{fill:#4e4e4e;}</style>
6013 </defs>
6014 <path class="cls-1" d="M117.6,78.3h-15.7v39.1h15.7c10.7,0,19.6-8.8,19.6-19.6-.1-10.8-8.9-19.5-19.6-19.5Z"/>
6015 <path class="cls-1" d="M117.4,0C52.5,0,0,52.5,0,117.4s52.5,117.3,117.4,117.3,117.4-52.5,117.4-117.3c0-64.8-52.5-117.4-117.4-117.4Zm30.9,180.5l-29.4-39.1h-17v39.1h-23.9V54.4h39.6c24,0,43.5,19.5,43.5,43.4,0,14.7-7.3,27.5-18.3,35.5l35.4,47.2h-29.9Z"/>
6016 </svg>
6017 `;
6018 marca = "Rakuten";
6019 nome = "Kobo";
6020 } else if (nomeWook) {
6021 icone = `
6022 <svg id="Camada_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1330.16 1330.16">
6023 <defs>
6024 <style>.cls-1{fill:#4e4e4e;}</style>
6025 </defs>
6026 <path class="cls-1" d="M665.08,0C297.77,0,0,297.77,0,665.08s297.77,665.08,665.08,665.08,665.08-297.77,665.08-665.08S1032.4,0,665.08,0Zm443.75,866.75c-69.63,66.06-162.72,93.06-245.03,107.51-69.15,12.14-149.27-39.46-218.82-28.05-73.79,12.1-141.41,50.16-222.1,29.66-113.5-28.83-197.11-89.78-230.39-203.74-38.28-131.08-26.37-257.65,65.84-365.29,36.51-42.62,85.74-75.32,146.23-49.12,63.76,27.61,73.12,85.71,63.25,145.97-7.68,46.88-27.27,91.82-34.74,138.72-7.78,48.86-2.36,96.38,41.61,109.68,26.19-67.17,42.89-135.84,79.24-191.73,16.77-25.78,71.78-36.08,109.78-36.84,102.85-2.05,139.7,56.4,153.93,228.1,10.22,5.68,23,2.1,28.95-7.97,13.79-23.38,30.05-46.81,29.56-69.88-1.04-48.9-17.54-97.85-30.42-146.01-17.76-66.36-10.52-124.98,50.68-164.81,47.26-30.77,110.27-10.41,163.51,51.04,21.72,25.06,38.8,54.14,61.63,86.55,0,0,61.2,133.8,59.86,181.57-1.39,49.58-36.58,150.51-72.57,184.65Z"/>
6027 </svg>
6028 `;
6029 marca = "Wook";
6030 nome = "Wook";
6031 }
6032
6033 //formata titulo de forma correta
6034 nome = capitalizeTitle(nome);
6035
6036 if (nomeValido) {
6037 $('.ebooksContentContainer').append(`
6038 <div class="ebooksContentItem">
6039 <div class="ebooksContentIcon">`+icone+`</div>
6040 <div class="ebooksContentTitle">
6041 <a class="ebooksContentTitleLink" target="_blank" href="`+e.url+`">
6042 <p class="ebooksContentTitleName"><strong>`+nome+`</strong></p>
6043 <p class="ebooksContentTitleStore">`+marca+`</p>
6044 </a>
6045 </div>
6046 </div>
6047 `);
6048 if (i !== ebook.length-1) {
6049 $('.ebooksContentContainer').append(`<hr class="ebooksContentLine">`);
6050 }
6051 }
6052 })
6053 $('.container.mobile-only.pagamentoCepWrapper').addClass('hasEbook');
6054 }
6055
6056
6057 //Exibe/esconde links dos ebooks
6058 $('.ebooksTitleContainer').on('click', () => {
6059 $('.ebooksChevron').toggleClass('rotate');
6060 if ($('.ebooksChevron').hasClass('rotate')) {
6061 $('.ebooksChevron').css('transform', 'rotate(90deg)');
6062 } else {
6063 $('.ebooksChevron').css('transform', 'rotate(0deg)');
6064 }
6065
6066 $('.ebooksContentContainer').toggle('hidden');
6067 });
6068
6069 function sendViewItem(definition){
6070 const url = getProductsUrl(definition)
6071 $.ajax({
6072 url:url,
6073 method:'get',
6074 }).done(
6075 function(data){
6076
6077 itensEcommerce = criaItensEcommerce(data.products);
6078 sendEventEcommerce("view_item", Array.from(itensEcommerce.values()), "BRL");
6079 });
6080 }
6081
6082</script>
Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> serviceLocator.findService("br.senac.sp.editora.services.service.ProductService") [in template "20102#20129#43698964" at line 13, column 27]
----
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: #assign productService = serviceLocat... [in template "20102#20129#43698964" at line 13, column 1]
----
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 <#assign defaultImage = "/documents/d/editora-senac/liferay_logo" />
24 <#assign productImage = defaultImage />
25 <#list cpMedia as media>
26 <#if media.getURL()?has_content && (media.getTitle()?? && media.getTitle()?contains("small"))>
27 <#assign productImage = media.getURL() />
28 <#break>
29 </#if>
30 </#list>
31 <#if productImage == defaultImage>
32 <#list cpMedia as media>
33 <#if media.getURL()?has_content>
34 <#assign productImage = media.getURL() />
35 <#break>
36 </#if>
37 </#list>
38 </#if>
39 <img src="${productImage}" onerror="this.onerror=null;this.src='${defaultImage}';" />
40 </a>
41 <div class="informacoesProdutoCarrossel4">
42 <a href="${friendlyURL}">
43 <div class="infoSuperiores">
44 <div class="tituloEspecialCarrossel4">
45 ${curCPCatalogEntry.name?truncate(60, '...')}
46 </div>
47 <div class="autorEspecialCarrossel4">
48 <#list contentHelper.getCategorizedCPDefinitionSpecificationOptionValues(curCPCatalogEntry.getCPDefinitionId(),43620166) as specs>
49 <#if specs.CPSpecificationOptionId == 43594743>
50 <#assign autor = specs.getValueCurrentValue() />
51 ${autor?truncate(45, '...')}
52 <#break>
53 </#if>
54 </#list>
55 </div>
56 </div>
57 </a>
58 <div class="valorCarrossel4">
59 <@liferay_commerce_ui["price"]
60 CPCatalogEntry=curCPCatalogEntry
61 />
62 </div>
63 <div class="espiarCarrossel4">
64 <#if productService.isAvailable( curCPCatalogEntry.getCPDefinitionId() ) >
65 <span class="comprarCarrossel4" data-sku="${curCPCatalogEntry.CPSkus[0].getSku()}">
66 <#assign PortalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] />
67 <#assign id = "add-to-cart" + PortalUtil.generateRandomKey(request, "add-to-cart") + "" + curCPCatalogEntry.CPSkus[0].getSku() />
68
69 <#list curCPCatalogEntry.getCPSkus() as skus>
70 <@liferay_commerce_ui["add-to-cart"]
71 CPInstanceId=skus.getCPInstanceId()
72 id=id
73 />
74 </#list>
75
76
77
78 </span>
79 <#else>
80 <span class="comprarCarrossel4">
81 <button class="btnIndisponivelEspecialCarrossel4" disabled>Livro Indisponível</button>
82 </span>
83 </#if>
84 </div>
85 </div>
86 </div>
87 <#elseif curCPCatalogEntry?counter == 12>
88 <!-- Ver Mais -->
89 <div class="customCart">
90 <#assign asset = assetentry.getEntry('com.liferay.commerce.product.model.CPDefinition',entries[0].getCPDefinitionId())/>
91 <#assign relateds = assetCategoryRel.getAssetEntryAssetCategoryRelsByAssetEntryId(asset.getEntryId())/>
92 <#if (currentURL?contains("catalogo?"))>
93 <#assign category = assetCategory.getAssetCategory(relateds[0].assetCategoryId)/>
94 <#else>
95 <#if relateds?has_content>
96 <#assign category = assetCategory.getAssetCategory(relateds[1].assetCategoryId)/>
97 </#if>
98 </#if>
99
100 <#if category?has_content>
101 <!-- classId de Category -->
102 <#assign friendlyURL = friendlyURLEntryLocalService.getMainFriendlyURLEntry(20013, category.categoryId)>
103 <#else>
104 <#assign friendlyURL = "">
105 </#if>
106 <div class="verMaisCard">
107 <div class="verMaisCardContent">
108 <i class="fas fa-books fa-2x"></i>
109 <div>
110 <div class="background-left2"><i class="fas fa-circle circulo auxCirc" aria-hidden="true"></i> </div>
111 </div>
112 <span class="text">Quer mais livros dessa área?</span>
113 <span class="ancora">
114 <#if friendlyURL?has_content>
115 <#assign categoryUrl = themeDisplay.getURLPortal() + '/categoria/' + friendlyURL.getUrlTitle(locale)/>
116 <a class="ancora-aux" href="${categoryUrl}">Confira todos</a></a>
117 </#if>
118 <!-- -->
119 <#assign entryName = entry.name?lower_case>
120 <#assign entryNameFormatted = entryName?replace(' ', '-')>
121 </span>
122 <div>
123 <div class="background-right2"> <i class="fas fa-circle circulo auxCirc" aria-hidden="true"></i></div>
124 </div>
125 </div>
126 </div>
127 </div>
128 <#break>
129 </#if>
130 </#list>
131 </#if>
132</div>
133
134<style>
135
136.comprarCarrossel4 {
137 margin-top: 0px;
138}
139
140.comprarCarrossel4 div.form-group {
141 display: none;
142}
143 .slider4 {
144 display: none;
145 }
146 .informacoesProdutoCarrossel4 span.commerce-discount {
147 display: none;
148 }
149
150 .comprarCarrossel4 .add-to-cart-quantity-marker.active {
151 opacity: 0;
152 display: none;
153 }
154
155 .comprarCarrossel4 form.quantity-selector {
156 display: none;
157 }
158
159 .comprarCarrossel4 .add-to-cart button.btn-add-to-cart{
160 background-color: #5ACC75;
161 border-radius: 4px;
162 width: 206px;
163 padding: 1px;
164 justify-content: center;
165 padding-left: 13%;
166 }
167
168 .comprarCarrossel4 span.price-value-final {
169 color: #D2691E !important;
170 }
171
172 .comprarCarrossel4 .btnIndisponivelEspecialCarrossel4 {
173 margin-top: 0.75rem !important;
174 }
175
176 .comprarCarrossel4 .add-to-cart button.btn-add-to-cart{
177 background-color: #5ACC75 !important;
178 }
179
180 .informacoesProdutoCarrossel4 .product-price {
181 font: normal normal bold 16px/17px Montserrat;
182 }
183
184 .slick-dots {
185 z-index: 2;
186 }
187
188 @media (max-width: 1200px) {
189 .slick-dots {
190 width: 100vw !important;
191 }
192 }
193
194 @media (min-width: 1023px) {
195 .slick-dotted.slick-slider {
196
197 }
198 .slider4 {
199 width: 1093px !important;
200 }
201 }
202
203 @media (max-width: 813px) {
204 .divEspiarCarrossel4 {
205 margin-top: 30px !important;
206 }
207
208
209 .divValorCarrossel4 {
210 margin-top: 15px !important;
211 }
212 }
213
214 @media (max-width: 768px) {
215 .slider2 .next-arrow {
216 right: 18px;
217 }
218
219 .slider2 .prev-arrow {
220 left: 18px;
221 }
222
223 .slider2 .slide-arrow .fa {
224 font-size: 22px;
225 font-weight: 400;
226 }
227
228 .slider4 .valorCarrossel4 {
229 margin-top: 5px;
230 }
231
232 .slider4 .espiarCarrossel4 {
233 position: relative;
234 top: -10px;
235 }
236
237 .valorCarrossel4 .price:not(.compact) .price-value {
238 font: normal 600 18px/17px Montserrat !important;
239 }
240 .valorCarrossel4 {
241 position: relative;
242 z-index: 9999;
243 display: flex;
244 padding-top: 25px;
245 align-items: flex-end;
246 }
247 .valorCarrossel4 .price-value {
248 margin-left: 0!important;
249 }
250 .comprarCarrossel4 .btn-add-to-cart {
251 margin: 0 !important;
252 padding-top: 2px !important;
253 }
254 .comprarCarrossel4 .btn-add-to-cart::before {
255 font-size: 16px;
256 }
257
258 .valorCarrossel4:not(.slider4semextracard .valorCarrossel4) {
259 margin-top: 0!important;
260 padding-top: 0!important;
261 }
262 .slider4 .informacoesProdutoCarrossel4:not(.slider4semextracard) {
263 top: unset;
264 bottom: 4%;
265 }
266
267 }
268
269 @media (max-width: 600px) {
270 .comprarCarrossel4 button.btn.btn-primary {
271 padding-left: 1px;
272 height: 30px;
273 }
274
275 .btn-add-to-cart-inline::before {
276 font-size: 14px;
277 width: 100%;
278 text-align: center;
279 display: block;
280 }
281 }
282
283 .slider4:not(.slider4semextracard) .informacoesProdutoCarrossel4 > a .divValorCarrossel4 {
284 display: flex;
285 align-items: flex-end;
286 }
287
288 .slider4:not(.slider4semextracard) .informacoesProdutoCarrossel4 > a .divValorCarrossel4 .price {
289 order: 1;
290 margin-top: 0!important;
291 margin-right: 2px;
292 }
293
294 .slider4:not(.slider4semextracard) .informacoesProdutoCarrossel4 > a .divValorCarrossel4 .parceladoCarrossel4 {
295 order: 2;
296 }
297
298 .slider4:not(.slider4semextracard) .informacoesProdutoCarrossel4 > a .divValorCarrossel4 .parceladoCarrossel4 + .price {
299 margin-right: 5px;
300 }
301
302 .slider4:not(.slider4semextracard) .informacoesProdutoCarrossel4 > a .divValorCarrossel4 .product-price {
303 order: 3;
304 margin-top: 0;
305 }
306
307 @media (max-width: 414px){
308 .slider4 {
309 width: 100vw !important;
310 /* margin-right: 0; */
311 margin-right: 20px;
312 margin-left: 20px;
313 }
314 }
315</style>
316
317<script>
318 setTimeout(function(){
319 $(document).ready(function() {
320 $('.slider4').slick({
321 arrows: true,
322 slidesToShow: 4,
323 slidesToScroll: 4,
324 dots:true,
325 infinite: false,
326 prevArrow: '<a href="#" class="slide-arrow prev-arrow"><i class="fa fa-chevron-left gray"></i></a>',
327 nextArrow: '<a href="#" class="slide-arrow next-arrow"><i class="fa fa-chevron-right gray"></i></a>',
328 speed: 1000,
329 index: 2,
330 lazyLoad: 'ondemand',
331 focusOnSelect:false,
332 accessibility:false,
333 adaptiveHeight:false,
334 autoplay:false,
335 responsive: [{
336 breakpoint: 1200,
337 settings: {
338 slidesToShow: 4,
339 slidesToScroll: 4,
340 variableWidth: true,
341 infinite: false,
342 centerMode: false,
343 dots:true,
344 arrows: true
345 }
346 }, {
347 breakpoint: 768,
348 settings: {
349 slidesToShow: 1,
350 slidesToScroll: 1,
351 variableWidth: true,
352 infinite: false,
353 centerPadding: 0,
354 centerMode: false,
355 dots:false,
356 arrows: true
357 }
358 }]
359 });
360
361 sendViewItemList([<#list entries as curCPCatalogEntry>${curCPCatalogEntry.getCPDefinitionId()},</#list>])
362 });
363
364 const slider4 = document.getElementsByClassName("slider4");
365 for (let i = 0; i < slider4.length; i++) {
366 slider4[i].style.display ='block';
367 }
368
369 if (typeof promoPrice !== 'undefined') {
370 promoPrice = document.getElementsByClassName("price");
371 }
372 else {
373 promoPrice = document.getElementsByClassName("price");
374 }
375
376 for (let i = 0; i < document.getElementsByClassName("price").length; i++) {
377 let carrossel = document.getElementsByClassName("price");
378 if(carrossel[i].children.length < 5) {
379 if(carrossel[i].children[0])
380 carrossel[i].children[0].innerText = "Por:"
381
382 if(carrossel[i].children[1]) {
383 carrossel[i].children[1].style.color = "#F6921E"
384 carrossel[i].children[1].style.marginLeft = ".5rem"
385 }
386 carrossel[i].style.marginTop = "24px"
387 }
388 else if (carrossel[i].children.length > 7){
389 carrossel[i].children[0].innerHTML = "<del>De:</del>"
390 carrossel[i].children[0].style.color = "#78849e"
391 carrossel[i].children[1].classList.remove("price-value-inactive")
392 let priceBefore = carrossel[i].children[1].innerText
393 carrossel[i].children[1].innerHTML = '<del>'+priceBefore+'</del>'
394 carrossel[i].children[1].style.color = "#78849e"
395
396 carrossel[i].children[2].style.display = "none"
397 carrossel[i].children[3].style.display = "none"
398 carrossel[i].children[4].innerText = "Por:"
399 carrossel[i].children[5].style.display = "none"
400 carrossel[i].children[6].style.display = "none"
401 carrossel[i].children[7].style.color = "#F6921E"
402 carrossel[i].children[7].style.marginLeft = ".5rem"
403 carrossel[i].style.marginTop = "10px"
404 }
405 else {
406 carrossel[i].children[0].innerHTML = "<del>De:</del>"
407 carrossel[i].children[0].style.color = "#78849e"
408 carrossel[i].children[1].classList.remove("price-value-inactive")
409 let priceBefore = carrossel[i].children[1].innerText
410 carrossel[i].children[1].innerHTML = '<del>'+priceBefore+'</del>'
411 carrossel[i].children[1].style.color = "#78849e"
412 carrossel[i].children[2].style.display = "none"
413 carrossel[i].children[3].style.display = "none"
414 carrossel[i].children[4].innerText = "Por:"
415 carrossel[i].children[5].style.color = "#F6921E"
416 carrossel[i].children[5].style.marginLeft = ".5rem"
417 carrossel[i].style.marginTop = "10px"
418 }
419 }
420 }, 1500);
421
422
423
424</script>
Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> serviceLocator.findService("br.senac.sp.editora.services.service.ProductService") [in template "20102#20129#43699000" at line 6, column 27]
----
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: #assign productService = serviceLocat... [in template "20102#20129#43699000" at line 6, column 1]
----
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 <#assign defaultImage = "/documents/d/editora-senac/liferay_logo" />
20 <#assign productImage = defaultImage />
21
22 <#list cpMedia as media>
23 <#if media.getURL()?has_content && (media.getTitle()?? && media.getTitle()?contains("small"))>
24 <#assign productImage = media.getURL() />
25 <#break>
26 </#if>
27 </#list>
28 <#if productImage == defaultImage>
29 <#list cpMedia as media>
30 <#if media.getURL()?has_content>
31 <#assign productImage = media.getURL() />
32 <#break>
33 </#if>
34 </#list>
35 </#if>
36 <img src="${productImage}" onerror="this.onerror=null;this.src='${defaultImage}';" />
37
38
39 <div class="informacoesProdutoCarrossel4">
40 <div class="infoSuperiores">
41 <div class="tituloEspecialCarrossel4">
42 ${curCPCatalogEntry.name?truncate(60, '...')}
43 </div>
44 <div class="autorEspecialCarrossel4">
45 <#if contentHelper?has_content >
46 <#list contentHelper.getCategorizedCPDefinitionSpecificationOptionValues(curCPCatalogEntry.getCPDefinitionId(),43620166) as specs>
47 <#if specs.CPSpecificationOptionId == 43594743>
48 ${specs.getValueCurrentValue()?truncate(45, '...')}
49 <#break>
50 </#if>
51 </#list>
52 </#if>
53 </div>
54 </div>
55 </div>
56 </a>
57 <div class="valorCarrossel4" data-definition="${curCPCatalogEntry.getCPDefinitionId()}">
58 <@liferay_commerce_ui["price"]
59 CPCatalogEntry=curCPCatalogEntry
60 />
61 </div>
62 <div class="divEspiarCarrossel4">
63 <#if productService.isAvailable( curCPCatalogEntry.getCPDefinitionId() ) && warehouseService.getStockQuantity(companyId,cpSku.getSku()) gt 0 >
64 <span class="comprarCarrossel4" data-sku="${cpSku.getSku()}">
65 <#assign PortalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] />
66 <#assign id = "add-to-cart" + PortalUtil.generateRandomKey(request, "add-to-cart") + "" + cpSku.getSku() />
67 <@liferay_commerce_ui["add-to-cart"]
68 CPInstanceId=cpSku.getCPInstanceId()
69 id=id
70 />
71 </span>
72 <#else>
73 <span class="comprarCarrossel4">
74 <button class="btnIndisponivelEspecialCarrossel4" href="javascript:void(0)" disabled>Livro Indisponível</button>
75 </span>
76 </#if>
77 </div>
78 </div>
79 </#if>
80 </#list>
81 </#if>
82</div>
83
84<style>
85 .comprarCarrossel4 div.form-group {
86 display: none;
87 }
88 .comprarCarrossel4 .add-to-cart-quantity-marker.active {
89 opacity: 0;
90 display: none;
91 }
92
93 .comprarCarrossel4 form.quantity-selector {
94 display: none;
95 }
96
97 .comprarCarrossel4 button.btn.btn-primary {
98 background-color: #5ACC75;
99 border-radius: 4px;
100 width: 206px;
101 padding: 1px;
102 justify-content: center;
103 padding-left: 13%;
104 margin-top: 0.75rem !important;
105 }
106
107
108 .customCart{
109 opacity: 1 !important;
110 filter: none !important;
111 height: 405 !important;
112 width: 246 !important;
113 }
114
115 @media (max-width: 768px) {
116 .slider4.slider4semextracard .next-arrow {
117 right: unset;
118 left: calc(100vw - 94px);
119 z-index: 10;
120 }
121
122 .slider4.slider4semextracard .prev-arrow {
123 left: 18px;
124 z-index: 10;
125 }
126
127 .slider4.slider4semextracard .slick-list {
128 z-index: 8;
129 }
130
131 .slider4.slider4semextracard .slide-arrow .fa {
132 font-size: 22px;
133 font-weight: 400;
134 }
135
136 .divEspiarCarrossel4 {
137 margin-top: 19px !important;
138 }
139
140 .slider4semextracard .valorCarrossel4,
141 .slider4semextracard .divEspiarCarrossel4 {
142 position: absolute !important;
143 }
144
145 .slider4semextracard .valorCarrossel4 {
146 bottom: 50px;
147 left: 20px;
148 }
149
150 .slider4semextracard .divEspiarCarrossel4 {
151 bottom: 10px;
152 right: 20px;
153 }
154
155 .slider4semextracard .valorCarrossel4 .price-value {
156 font: normal 600 18px/17px Montserrat !important;
157 margin-left: 0!important;
158 }
159 .slider4semextracard .comprarCarrossel4 .btn-add-to-cart {
160 margin: 0 !important;
161 padding-top: 2px !important;
162 }
163 .comprarCarrossel4 .btn-add-to-cart::before {
164 font-size: 16px;
165 }
166 }
167
168 @media (max-width: 600px) {
169 .comprarCarrossel4 button.btn.btn-primary.btn-lg.btn-add-to-cart.btn-add-to-cart-inline {
170 padding-left: 1px;
171 height: 30px;
172 }
173
174 .btn-add-to-cart-inline::before {
175 font-size: 14px;
176 width: 100%;
177 text-align: center;
178 display: block;
179 }
180 }
181
182 .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a {
183 display: flex;
184 align-items: flex-end;
185 }
186
187 .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a .product-promo-price {
188 order: 1;
189 margin-top: 0!important;
190 margin-right: 2px;
191 }
192
193 .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a .divValorCarrossel4 {
194 order: 2;
195 }
196
197 .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a .divValorCarrossel4 + .product-promo-price {
198 margin-right: 5px;
199 }
200
201 .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a .product-price {
202 order: 3;
203 margin-top: 0;
204 }
205
206 .slider4semextracard .valorCarrossel4,
207 .slider4semextracard .divEspiarCarrossel4 {
208 position: relative;
209 z-index: 9999;
210 }
211
212 @media (min-width: 769px) {
213 .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a .product-price,
214 .slider4.slider4semextracard .informacoesProdutoCarrossel4 > a .product-promo-price {
215 line-height: 17px;
216 }
217
218 .slider4semextracard .valorCarrossel4 {
219 top: 100px;
220 left: 20px;
221 }
222
223 .slider4semextracard .divEspiarCarrossel4 {
224 top: 90px;
225 right: 20px;
226 }
227 }
228
229 .tituloEspecialCarrossel4 {
230 display: -webkit-box;
231 -webkit-line-clamp: 3;
232 -webkit-box-orient: vertical;
233 overflow: hidden;
234 }
235
236 .informacoesSuperioresCarrossel4 {
237 height: 72px;
238 }
239
240 @media (max-width: 414px){
241 .slider4 {
242 width: 100vw !important;
243 /* margin-right: 0; */
244 margin-right: 20px;
245 margin-left: 20px;
246 }
247 }
248
249 @media (min-width: 769px) and (max-width: 820px) {
250 .slider4semextracard .valorCarrossel4,
251 .slider4semextracard .divEspiarCarrossel4 {
252 position: absolute;
253 }
254
255 .slider4semextracard .valorCarrossel4 {
256 top: initial !important;
257 bottom: 50px;
258 }
259
260 .slider4semextracard .divEspiarCarrossel4 {
261 top: 315px;
262 }
263 }
264
265 @media (max-width: 1200px) {
266 .slick-dots {
267 width: 100vw !important;
268 }
269 }
270
271</style>
272
273<script
274 src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"
275 integrity="sha512-XtmMtDEcNz2j7ekrtHvOVR4iwwaD6o/FUJe6+Zq+HgcCsk3kj4uSQQR8weQ2QVj1o0Pk6PwYLohm206ZzNfubg=="
276 crossorigin="anonymous"
277 referrerpolicy="no-referrer"
278 ></script>
279
280<script type="text/javascript">
281
282 var tituloSlider = setInterval(function() {
283 if ($('.slider4').length >= 1) {
284 $(`
285 <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>
286 `).insertBefore('.slider4:has(.imgContainerEspecialCarrossel4)');
287 clearInterval(tituloSlider);
288 }
289 }, 50);
290
291 setTimeout(function(){
292 $(document).ready(function() {
293 $('.slider4').slick({
294 arrows: true,
295 slidesToShow: 4,
296 slidesToScroll: 4,
297 dots:true,
298 infinite: false,
299 lazyLoad: 'ondemand',
300 prevArrow: '<a href="#" class="slide-arrow prev-arrow"><i class="fa fa-chevron-left gray"></i></a>',
301 nextArrow: '<a href="#" class="slide-arrow next-arrow"><i class="fa fa-chevron-right gray"></i></a>',
302 speed: 1000,
303 index: 1,
304 focusOnSelect:false,
305 accessibility:false,
306 adaptiveHeight:false,
307 autoplay:false,
308 responsive: [{
309 breakpoint: 1200,
310 settings: {
311 slidesToShow: 4,
312 slidesToScroll: 4,
313 variableWidth: true,
314 infinite: false,
315 centerMode: false,
316 dots:true,
317 arrows: true
318 }
319 }, {
320 breakpoint: 768,
321 settings: {
322 slidesToShow: 1,
323 slidesToScroll: 1,
324 variableWidth: true,
325 infinite: false,
326 centerPadding: 0,
327 centerMode: false,
328 dots:false,
329 arrows: false
330 }
331 }]
332 });
333
334 sendViewItemList([<#list entries as curCPCatalogEntry>${curCPCatalogEntry.getCPDefinitionId()},</#list>])
335
336 });
337
338 if (typeof promoPrice !== 'undefined') {
339 promoPrice = document.getElementsByClassName("price");
340 }
341 else {
342 promoPrice = document.getElementsByClassName("price");
343 }
344
345 for (let i = 0; i < document.getElementsByClassName("price").length; i++) {
346 let carrossel = document.getElementsByClassName("price");
347
348 if(carrossel[i].children.length < 5) {
349 if (carrossel[i].children[0]) {
350 carrossel[i].children[0].innerText = "Por:"
351 }
352 if (carrossel[i].children[1]) {
353 carrossel[i].children[1].style.color = "#D2691E"
354 carrossel[i].children[1].style.marginLeft = ".5rem"
355 }
356
357 carrossel[i].style.marginTop = "24px"
358 }
359 else if (carrossel[i].children.length > 7){
360 if (carrossel[i].children[0]) {
361 carrossel[i].children[0].innerHTML = "<del>De:</del>"
362 carrossel[i].children[0].style.color = "#78849e"
363 }
364
365 if (carrossel[i].children[1]) {
366 carrossel[i].children[1].classList.remove("price-value-inactive")
367 let priceBefore = carrossel[i].children[1].innerText
368 carrossel[i].children[1].innerHTML = '<del>'+priceBefore+'</del>'
369 carrossel[i].children[1].style.color = "#78849e"
370 }
371
372 carrossel[i].children[2].style.display = "none"
373 carrossel[i].children[3].style.display = "none"
374 carrossel[i].children[4].innerText = "Por:"
375 carrossel[i].children[5].style.display = "none"
376 carrossel[i].children[6].style.display = "none"
377 carrossel[i].children[7].style.color = "#D2691E"
378 carrossel[i].children[7].style.marginLeft = ".5rem"
379 carrossel[i].style.marginTop = "10px"
380 }
381 else {
382 if (carrossel[i].children[0]) {
383 carrossel[i].children[0].innerHTML = "<del>De:</del>"
384 carrossel[i].children[0].style.color = "#78849e"
385 }
386 if (carrossel[i].children[1]) {
387 carrossel[i].children[1].classList.remove("price-value-inactive")
388 let priceBefore = carrossel[i].children[1].innerText
389 carrossel[i].children[1].innerHTML = '<del>'+priceBefore+'</del>'
390 carrossel[i].children[1].style.color = "#78849e"
391 }
392
393 carrossel[i].children[2].style.display = "none"
394 carrossel[i].children[3].style.display = "none"
395 carrossel[i].children[4].innerText = "Por:"
396 carrossel[i].children[5].style.color = "#D2691E"
397 carrossel[i].children[5].style.marginLeft = ".5rem"
398 carrossel[i].style.marginTop = "10px"
399 }
400 }
401
402 const slider4 = document.getElementsByClassName("slider4");
403
404 for (let i = 0; i < slider4.length; i++) {
405 slider4[i].style.display ='block';
406 }
407
408 $('.slider4.slider4semextracard').on('afterChange', function(event, slick, currentSlide) {
409 if (slick.$slides.length - 1 == currentSlide) {
410 $('.slider4.slider4semextracard .next-arrow').css('display', 'none');
411 }
412 else {
413 $('.slider4.slider4semextracard .next-arrow').css('display', 'flex');
414 }
415
416 if (0 == currentSlide) {
417 $('.slider4.slider4semextracard .prev-arrow').css('display', 'none');
418 }
419 else {
420 $('.slider4.slider4semextracard .prev-arrow').css('display', 'flex');
421 }
422 });
423
424 if (typeof promoPrice !== 'undefined') {
425 let promoPrice = document.getElementsByClassName("product-promo-price");
426 }
427 else{
428 promoPrice = document.getElementsByClassName("product-promo-price");
429 }
430
431 if(promoPrice.length > 0){
432 const productPrice = document.getElementsByClassName(".price-value-final");
433 for (let i = 0; i < productPrice.length; i++) {
434 $(productPrice[i]).attr('data-content','Por: ');
435 }
436 }else{
437 const valorCarrossel4 = document.getElementsByClassName("valorCarrossel4");
438 for (let i = 0; i < valorCarrossel4.length; i++) {
439 valorCarrossel4[i].style.marginTop='25px';
440 // valorCarrossel4[i].style.marginBottom='17px';
441 }
442 }
443
444 }, 2000);
445
446</script>
QUER FICAR POR DENTRO DE PROMOÇÕES E NOVIDADES?