tag on yout theme's header.php
Read the detailed step-by-step at https://humbertosilva.com/visual-composer-infinite-image-carousel/
*/
// auxiliary code to create triggers for the add and remove class for later use
(function($){
$.each(["addClass","removeClass"],function(i,methodname){
var oldmethod = $.fn[methodname];
$.fn[methodname] = function(){
oldmethod.apply( this, arguments );
this.trigger(methodname+"change");
return this;
}
});
})(jQuery);
// main function for the infinite loop
function vc_custominfiniteloop_init(vc_cil_element_id){
var vc_element = '#' + vc_cil_element_id; // because we're using this more than once let's create a variable for it
window.maxItens = jQuery(vc_element).data('per-view'); // max visible items defined
window.addedItens = 0; // auxiliary counter for added itens to the end
// go to slides and duplicate them to the end to fill space
jQuery(vc_element).find('.vc_carousel-slideline-inner').find('.vc_item').each(function(){
// we only need to duplicate the first visible images
if (window.addedItens < window.maxItens) {
if (window.addedItens == 0 ) {
// the fisrt added slide will need a trigger so we know it ended and make it "restart" without animation
jQuery(this).clone().addClass('vc_custominfiniteloop_restart').removeClass('vc_active').appendTo(jQuery(this).parent());
} else {
jQuery(this).clone().removeClass('vc_active').appendTo(jQuery(this).parent());
}
window.addedItens++;
}
});
// add the trigger so we know when to "restart" the animation without the knowing about it
jQuery('.vc_custominfiniteloop_restart').bind('addClasschange', null, function(){
// navigate to the carousel element , I know, its ugly ...
var vc_carousel = jQuery(this).parent().parent().parent().parent();
// first we temporarily change the animation speed to zero
jQuery(vc_carousel).data('vc.carousel').transition_speed = 0;
// make the slider go to the first slide without animation and because the fist set of images shown
// are the same that are being shown now the slider is now "restarted" without that being visible
jQuery(vc_carousel).data('vc.carousel').to(0);
// allow the carousel to go to the first image and restore the original speed
setTimeout("vc_cil_restore_transition_speed('"+jQuery(vc_carousel).prop('id')+"')",100);
});
}
// restore original speed setting of vc_carousel
function vc_cil_restore_transition_speed(element_id){
// after inspecting the original source code the value of 600 is defined there so we put back the original here
jQuery('#' + element_id).data('vc.carousel').transition_speed = 600;
}
// init
jQuery(document).ready(function(){
// find all vc_carousel with the defined class and turn them into infine loop
jQuery('.vc_custominfiniteloop').find('div[data-ride="vc_carousel"]').each(function(){
// allow time for the slider to be built on the page
// because the slider is "long" we can wait a bit before adding images and events needed
var vc_cil_element = jQuery(this).prop("id");
if (window.innerWidth <= 480) {
// jQuery(vc_element).attr('data-per-view',1);
jQuery('.vc_item').each(function(){
this.style.width = '25%'
this.style.height = 'auto'
})
} else {
setTimeout("vc_custominfiniteloop_init('"+vc_cil_element+"')",2000);
}
});
});
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-TZHJ474');
var interval1 = setInterval(function(){
//console.log('ou no interval');
jQuery('.box-news .vc_gitem-zone-a').each(function() {
if((!jQuery(this).css('background-image').includes('vc_gitem_image'))) {
jQuery(this).css('background-image','none')
}
})
jQuery('.box-news .vc_gitem-zone-a a').each(function() {
jQuery(this).attr('data-hover','Leia mais')
})
}, 1000);
setTimeout(function() {
clearInterval(interval1);
},5000);
@font-face {
font-family: "FontAwesome";
src: url("/local/fonts/fa-brands-400.eot"),
url("/local/fonts/fa-brands-400.eot?#iefix") format("embedded-opentype"),
url("/local/fonts/fa-brands-400.woff2") format("woff2"),
url("/local/fonts/fa-brands-400.woff") format("woff"),
url("/local/fonts/fa-brands-400.ttf") format("truetype"),
url("/local/fonts/fa-brands-400.svg#fontawesome") format("svg");
}
@font-face {
font-family: "FontAwesome";
src: url("/local/fonts/fa-solid-900.eot"),
url("/local/fonts/fa-solid-900.eot?#iefix") format("embedded-opentype"),
url("/local/fonts/fa-solid-900.woff2") format("woff2"),
url("/local/fonts/fa-solid-900.woff") format("woff"),
url("/local/fonts/fa-solid-900.ttf") format("truetype"),
url("/local/fonts/fa-solid-900.svg#fontawesome") format("svg");
}
@font-face {
font-family: "FontAwesome";
src: url("/local/fonts/fa-regular-400.eot"),
url("/local/fonts/fa-regular-400.eot?#iefix") format("embedded-opentype"),
url("/local/fonts/fa-regular-400.woff2") format("woff2"),
url("/local/fonts/fa-regular-400.woff") format("woff"),
url("/local/fonts/fa-regular-400.ttf") format("truetype"),
url("/local/fonts/fa-regular-400.svg#fontawesome") format("svg");
unicode-range: U+F004-F005,U+F007,U+F017,U+F022,U+F024,U+F02E,U+F03E,U+F044,U+F057-F059,U+F06E,U+F070,U+F075,U+F07B-F07C,U+F080,U+F086,U+F089,U+F094,U+F09D,U+F0A0,U+F0A4-F0A7,U+F0C5,U+F0C7-F0C8,U+F0E0,U+F0EB,U+F0F3,U+F0F8,U+F0FE,U+F111,U+F118-F11A,U+F11C,U+F133,U+F144,U+F146,U+F14A,U+F14D-F14E,U+F150-F152,U+F15B-F15C,U+F164-F165,U+F185-F186,U+F191-F192,U+F1AD,U+F1C1-F1C9,U+F1CD,U+F1D8,U+F1E3,U+F1EA,U+F1F6,U+F1F9,U+F20A,U+F247-F249,U+F24D,U+F254-F25B,U+F25D,U+F267,U+F271-F274,U+F279,U+F28B,U+F28D,U+F2B5-F2B6,U+F2B9,U+F2BB,U+F2BD,U+F2C1-F2C2,U+F2D0,U+F2D2,U+F2DC,U+F2ED,U+F328,U+F358-F35B,U+F3A5,U+F3D1,U+F410,U+F4AD;
}
jQuery(document).ready(function(){
jQuery('.single-item').slick({
centerMode: true,
centerPadding: '60px',
slidesToShow: 5,
variableWidth: true,
autoplay: true,
autoplaySpeed: 2000,
responsive: [
{
breakpoint: 768,
settings: {
arrows: false,
centerMode: true,
centerPadding: '40px',
slidesToShow: 3
}
},
{
breakpoint: 520,
settings: {
arrows: false,
centerMode: true,
centerPadding: '40px',
slidesToShow: 1
}
}
]
});
});
.single-item img {
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
}
.single-item img:hover {
-webkit-filter: grayscale(0);
filter: grayscale(0);
}
422n14
Comunicadores e ONGs lançam primeira plataforma de ativismo ambiental do Brasil u5q4k
Hoje, dia 7 de novembro, entra no ar a primeira plataforma de ativismo digital do Brasil voltada para o meio ambiente: a www.revela.org.br. Baseada na tecnologia da plataforma Ushahidi, de software livre, utilizada para o mapeamento de situações de perigo, em emergências ou calamidades (usada pela Cruz Vermelha no terremoto do Haiti, por exemplo), a Revela permite a inclusão de informações simultâneas, e em tempo real, por qualquer pessoa que disponha naquele momento, de um telefone ou computador.
Com isso, a intenção é construir, de forma colaborativa, um grande mapa georreferenciado, que alerte para informações sobre desmatamento, queimadas, contaminações de rios, de solos, ameaças às espécies em extinção, para citar alguns exemplos.
A iniciativa partiu de um grupo de comunicadores e artistas que ganhou o apoio das ONGs Instituto de Manejo e Certificação Florestal e Agrícola – Imaflora e do Instituto do Homem e Meio Ambiente da Amazônia – Imazon e de David Kobia, o desenvolvedor da Ushahidi, listado pela revista Technology Review, do MIT, como uma das 35 pessoas mais inovadoras do mundo. O lançamento da plataforma será acompanhado de três filmes que estarão nas redes sociais, web e na MTV, para explicar como funciona a plataforma, e mobilizar o público jovem. Os roteiros são de Caco Galhardo e direção de Bia Guedes e Gustavo Guimarães.
“Queremos tocar principalmente o público jovem, muito sensível às causas socioambientais, mas que tem poucos canais para exercer seu ativismo e colocar suas propostas”, diz uma das idealizadoras da plataforma, Maria Zulmira de Souza, jornalista especializada na área e conselheira de sustentabilidade em empresas privadas e ONGs.
Contexto – A Revela chega em um momento muito desafiador para o Brasil: no ano que vem teremos a Rio+ 20, que mobilizará representantes do mundo todo em torno da discussão de temas fundamentais ao futuro do Planeta. Logo mais, o Código Florestal será votado no Senado, sem falar no avanço das fronteiras agrícolas sobre as matas, a redução de biomas, o desequilíbrio de ecossistemas, além das questões que estão postas no dia a dia de cada um: a reciclagem do lixo, o saturamento dos aterros sanitários, a poluição atmosférica, entre outros.
Todos esses problemas e também as boas práticas, os bons exemplos, as soluções encontradas, poderão constar do mapa do Revela, bastando um torpedo, um e-mail, uma fotografia tirada de um aparelho celular. “O que estamos propondo é que as pessoas usem a tecnologia para participar da construção da informação e, dessa forma, fortalecer a cidadania e a democracia” explica Luís Fernando Guedes Pinto, gerente de certificação do Imaflora e articulador institucional da iniciativa.
Participação – O georreferenciamento da Revela será feito pelo Imazon: “A plataforma REVELA vem para integrar o conhecimento de campo, que será enviado pelas pessoas, com as informações extraídas de dados de satélite. Dessa forma vamos poder entender melhor as pressões ambientais e as soluções que estão sendo aplicadas para resolver os danos” explica Carlos Souza Jr, coordenador e pesquisador sênior do Instituto.
Ser um colaborador digital é extremamente simples: Ao ar o www.revela.org.br, ele encontra o mapa do Brasil, onde poderá postar informações de texto, fotos ou vídeos, por SMS, diretamente no site ou por aplicativos. A Revela poderá ser acompanhada por meio da mídias móveis, twitter, facebook e outras redes sociais. As informações serão filtradas, estarão identificadas por “verificadas” e “ não verificadas” , serão dispostas em formas de gráficos e poderão ser localizadas no site por temas ou localizações geográficas.