teste teste
sadfafd
.slick-carousel-container {
max-width: 800px;
margin: 20px auto;
padding: 0 20px;
font-family: Arial, sans-serif;
}
.gallery-header {
padding: 15px 0 10px 0;
}
.gallery-header h3 {
color: #333;
font-size: 14px;
margin: 0;
}
/* === CARROSSEL PRINCIPAL (SLIDER-FOR) – COM SETAS === */
.slick-carousel-container [class*=”slider-for-“] {
margin-bottom: 20px;
text-align: center;
position: relative;
}
.slide-item {
position: relative;
text-align: center;
padding: 0;
}
.slide-image {
width: 600px;
height: 400px;
object-fit: cover;
border-radius: 8px;
box-shadow: 0 4px 15px rgba(0,0,0,0.1);
transition: all 0.3s ease;
margin: 0 auto;
display: block;
}
.slide-caption {
margin-top: 15px;
padding: 10px;
background: white;
color: black;
border-radius: 5px;
font-size: 14px;
line-height: 1.4;
max-width: 600px;
margin-left: auto;
margin-right: auto;
}
/* === SETAS PARA O CARROSSEL PRINCIPAL === */
.slick-carousel-container [class*=”slider-for-“] .slick-prev,
.slick-carousel-container [class*=”slider-for-“] .slick-next {
font-size: 0;
line-height: 0;
position: absolute;
top: 50%;
display: block;
width: 40px;
height: 40px;
padding: 0;
transform: translate(0, -50%);
cursor: pointer;
color: transparent;
border: none;
outline: none;
background: rgba(255,255,255,0.9);
border-radius: 50%;
box-shadow: 0 2px 12px rgba(0,0,0,0.4);
z-index: 10;
transition: all 0.3s ease;
}
.slick-carousel-container [class*=”slider-for-“] .slick-prev:hover,
.slick-carousel-container [class*=”slider-for-“] .slick-next:hover {
background: rgba(255,255,255,1);
box-shadow: 0 4px 16px rgba(0,0,0,0.5);
}
.slick-carousel-container [class*=”slider-for-“] .slick-prev:before,
.slick-carousel-container [class*=”slider-for-“] .slick-next:before {
font-family: Arial, sans-serif;
font-size: 18px;
line-height: 1;
color: #333;
opacity: 1;
font-weight: bold;
}
.slick-carousel-container [class*=”slider-for-“] .slick-prev {
left: 20px;
}
.slick-carousel-container [class*=”slider-for-“] .slick-next {
right: 20px;
}
.slick-carousel-container [class*=”slider-for-“] .slick-prev:before {
content: ‘‹’;
}
.slick-carousel-container [class*=”slider-for-“] .slick-next:before {
content: ‘›’;
}
/* === CARROSSEL DE NAVEGAÇÃO (SLIDER-NAV) – COM SETAS === */
.slick-carousel-container [class*=”slider-nav-“] {
position: relative;
padding: 0 30px;
}
.nav-item {
padding: 0 5px;
cursor: pointer;
transition: all 0.3s ease;
}
.nav-thumbnail {
width: 100%;
height: 80px;
object-fit: fill;
border-radius: 6px;
opacity: 0.6;
transition: all 0.3s ease;
border: 2px solid transparent;
}
.nav-item:hover .nav-thumbnail {
opacity: 0.8;
}
/* === SLICK ESPECÍFICO PARA NAVEGAÇÃO – SLIDE ATIVO === */
.slick-carousel-container [class*=”slider-nav-“] .slick-current .nav-thumbnail {
opacity: 1;
border-color: #007bff;
transform: scale(1.05);
box-shadow: 0 2px 8px rgba(0,123,255,0.3);
}
/* === SETAS CUSTOMIZADAS PARA AS THUMBNAILS === */
.slick-carousel-container [class*=”slider-nav-“] .slick-prev,
.slick-carousel-container [class*=”slider-nav-“] .slick-next {
font-size: 0;
line-height: 0;
position: absolute;
top: 50%;
display: block;
width: 30px;
height: 30px;
padding: 0;
transform: translate(0, -50%);
cursor: pointer;
color: transparent;
border: none;
outline: none;
background: rgba(255,255,255,0.9);
border-radius: 50%;
box-shadow: 0 2px 8px rgba(0,0,0,0.3);
z-index: 10;
}
.slick-carousel-container [class*=”slider-nav-“] .slick-prev:before,
.slick-carousel-container [class*=”slider-nav-“] .slick-next:before {
font-family: Arial, sans-serif;
font-size: 14px;
line-height: 1;
color: #333;
opacity: 1;
}
.slick-carousel-container [class*=”slider-nav-“] .slick-prev {
left: -15px;
}
.slick-carousel-container [class*=”slider-nav-“] .slick-next {
right: -15px;
}
.slick-carousel-container [class*=”slider-nav-“] .slick-prev:before {
content: ‘‹’;
}
.slick-carousel-container [class*=”slider-nav-“] .slick-next:before {
content: ‘›’;
}
/* === DOTS CUSTOMIZADOS === */
.slick-carousel-container [class*=”slider-nav-“] .slick-dots {
bottom: -30px;
text-align: center;
}
.slick-carousel-container [class*=”slider-nav-“] .slick-dots li button:before {
color: #007bff;
font-size: 12px;
}
.slick-carousel-container [class*=”slider-nav-“] .slick-dots li.slick-active button:before {
color: #0056b3;
}
/* === RESPONSIVE DESIGN === */
@media (max-width: 768px) {
.slick-carousel-container {
margin: 10px;
padding: 0 15px;
}
.slide-item {
padding: 0;
}
.slide-image {
width: 100%;
max-width: 600px;
height: auto;
aspect-ratio: 3/2;
}
.slide-caption {
font-size: 13px;
padding: 8px;
margin-top: 10px;
}
.nav-thumbnail {
height: 60px;
}
.gallery-header {
padding: 10px 0;
}
.gallery-header h3 {
font-size: 13px;
}
/* Ajustar setas principais para mobile */
.slick-carousel-container [class*=”slider-for-“] .slick-prev,
.slick-carousel-container [class*=”slider-for-“] .slick-next {
width: 35px;
height: 35px;
}
.slick-carousel-container [class*=”slider-for-“] .slick-prev {
left: 10px;
}
.slick-carousel-container [class*=”slider-for-“] .slick-next {
right: 10px;
}
}
@media (max-width: 640px) {
.slide-image {
width: 100%;
height: 250px;
aspect-ratio: unset;
}
.nav-thumbnail {
height: 50px;
}
.slide-caption {
font-size: 12px;
padding: 6px;
}
/* Ajustar setas para mobile pequeno */
.slick-carousel-container [class*=”slider-nav-“] .slick-prev {
left: -10px;
}
.slick-carousel-container [class*=”slider-nav-“] .slick-next {
right: -10px;
}
}
@media (max-width: 480px) {
.slick-carousel-container {
padding: 0 10px;
}
.slide-image {
height: 200px;
}
.nav-thumbnail {
height: 40px;
}
/* Setas menores para mobile muito pequeno */
.slick-carousel-container [class*=”slider-for-“] .slick-prev,
.slick-carousel-container [class*=”slider-for-“] .slick-next {
width: 30px;
height: 30px;
}
.slick-carousel-container [class*=”slider-for-“] .slick-prev:before,
.slick-carousel-container [class*=”slider-for-“] .slick-next:before {
font-size: 16px;
}
.slick-carousel-container [class*=”slider-for-“] .slick-prev {
left: 5px;
}
.slick-carousel-container [class*=”slider-for-“] .slick-next {
right: 5px;
}
}
/* === ANIMAÇÕES SUAVES === */
.slick-carousel-container [class*=”slider-for-“] .slick-slide {
opacity: 0;
transition: opacity 0.3s ease;
}
.slick-carousel-container [class*=”slider-for-“] .slick-active {
opacity: 1;
}
/* === BANNER FINAL === */
.banner-final-noticia {
margin: 25px auto 20px auto;
padding: 15px 0;
text-align: center;
width: 100%;
max-width: 800px;
border-top: 1px solid #e6e6e6;
border-bottom: 1px solid #f0f0f0;
}
.banner-final-noticia a {
display: inline-block;
width: 100%;
text-decoration: none;
transition: all 0.3s ease;
}
.banner-final-noticia a:hover {
transform: translateY(-1px);
box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
}
.banner-final-noticia .banner-image {
width: 100%;
height: auto;
min-height: 80px;
max-height: 150px;
object-fit: cover;
object-position: center;
border-radius: 6px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
transition: all 0.3s ease;
cursor: pointer;
}
.banner-final-noticia .banner-image:hover {
opacity: 0.9;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}
/* === RESPONSIVE BANNER === */
@media (max-width: 1024px) {
.banner-final-noticia {
margin: 20px auto 15px auto;
padding: 12px 10px;
max-width: 90%;
}
.banner-final-noticia .banner-image {
min-height: 70px;
max-height: 120px;
border-radius: 5px;
}
}
@media (max-width: 768px) {
.banner-final-noticia {
margin: 15px auto 12px auto;
padding: 10px 5px;
max-width: 95%;
}
.banner-final-noticia .banner-image {
min-height: 60px;
max-height: 100px;
border-radius: 4px;
}
.banner-final-noticia a:hover {
transform: none;
}
}
@media (max-width: 480px) {
.banner-final-noticia {
margin: 12px auto 10px auto;
padding: 8px 0;
}
.banner-final-noticia .banner-image {
min-height: 50px;
max-height: 80px;
}
}
// Script principal para inicialização global
$(document).ready(function() {
console.log(‘Carrosseis Slick Synced inicializados’);
// Event listeners globais para reordenação de campos
document.addEventListener(‘repeatableFieldReordered’, function(e) {
console.log(‘Campo reordenado detectado, reinicializando carrosseis…’);
setTimeout(function() {
// Destruir todos os carrosseis existentes
$(‘[class*=”slider-for-“], [class*=”slider-nav-“]’).each(function() {
if ($(this).hasClass(‘slick-initialized’)) {
$(this).slick(‘unslick’);
}
});
// Aguardar um pouco e reinicializar
setTimeout(function() {
initializeAllCarousels();
}, 200);
}, 100);
});
});
// Função para reinicializar todos os carrosseis
function initializeAllCarousels() {
console.log(‘Reinicializando todos os carrosseis…’);
// Encontrar todos os containers de carrossel
$(‘.slick-carousel-container’).each(function() {
const groupId = $(this).attr(‘data-gallery-group’);
const forSelector = `.slider-for-955023`;
const navSelector = `.slider-nav-955023`;
const $forSlider = $(forSelector);
const $navSlider = $(navSelector);
if ($forSlider.length && $navSlider.length) {
// Contar imagens para configurações responsivas
const imageCount = $navSlider.find(‘.nav-item’).length;
console.log(`Inicializando carrossel grupo 955023 com imagens`);
// Destruir se já existe
if ($forSlider.hasClass(‘slick-initialized’)) {
$forSlider.slick(‘unslick’);
}
if ($navSlider.hasClass(‘slick-initialized’)) {
$navSlider.slick(‘unslick’);
}
// Inicializar carrossel principal
$forSlider.slick({
slidesToShow: 1,
slidesToScroll: 1,
arrows: false,
fade: true,
asNavFor: navSelector,
adaptiveHeight: true
});
// Inicializar carrossel de navegação
$navSlider.slick({
slidesToShow: imageCount > 5 ? 5 : imageCount,
slidesToScroll: 1,
asNavFor: forSelector,
dots: imageCount > 5,
centerMode: imageCount > 3,
focusOnSelect: true,
variableWidth: false,
infinite: imageCount > 3,
responsive: [
{
breakpoint: 768,
settings: {
slidesToShow: imageCount > 3 ? 3 : imageCount,
centerMode: imageCount > 3
}
},
{
breakpoint: 480,
settings: {
slidesToShow: imageCount > 2 ? 2 : imageCount,
centerMode: false
}
}
]
});
}
});
}
// Observador para mudanças no DOM
const carouselObserver = new MutationObserver(function(mutations) {
let shouldReinitialize = false;
mutations.forEach(function(mutation) {
if (mutation.type === ‘childList’) {
mutation.addedNodes.forEach(function(node) {
if (node.nodeType === 1) {
if (node.classList && node.classList.contains(‘lfr-forms__form-view-field-repeatable-dnd’) ||
(node.querySelector && node.querySelector(‘.slick-carousel-container’))) {
shouldReinitialize = true;
}
}
});
mutation.removedNodes.forEach(function(node) {
if (node.nodeType === 1) {
if (node.classList && node.classList.contains(‘lfr-forms__form-view-field-repeatable-dnd’) ||
(node.querySelector && node.querySelector(‘.slick-carousel-container’))) {
shouldReinitialize = true;
}
}
});
}
});
if (shouldReinitialize) {
console.log(‘Mudança no DOM detectada, reinicializando carrosseis…’);
setTimeout(initializeAllCarousels, 300);
}
});
// Observar mudanças no body
carouselObserver.observe(document.body, {
childList: true,
subtree: true
});
// Função para lidar com redimensionamento da janela
$(window).on(‘resize’, function() {
clearTimeout(window.resizeTimer);
window.resizeTimer = setTimeout(function() {
console.log(‘Redimensionamento detectado, atualizando carrosseis…’);
$(‘[class*=”slider-for-“], [class*=”slider-nav-“]’).each(function() {
if ($(this).hasClass(‘slick-initialized’)) {
$(this).slick(‘setPosition’);
}
});
}, 250);
});
// Event listener para quando todos os portlets estão prontos
Liferay.on(“allPortletsReady”, function() {
$(‘#header_custom_print’).attr(‘href’, $(“[title*=’Imprimir’]”).children().attr(‘href’));
// Garantir que todos os carrosseis estão inicializados
setTimeout(function() {
console.log(‘Verificando carrosseis após carregamento completo…’);
$(‘.slick-carousel-container’).each(function() {
const groupId = $(this).attr(‘data-gallery-group’);
const forSelector = `.slider-for-955023`;
const navSelector = `.slider-nav-955023`;
if (!$(forSelector).hasClass(‘slick-initialized’) || !$(navSelector).hasClass(‘slick-initialized’)) {
console.log(`Carrossel grupo 955023 não inicializado, inicializando agora…`);
initializeAllCarousels();
}
});
}, 500);
});
Fonte CSTJ