Want to get this as ready made template with just 1 CLICK INSTALL?
Code Snippet for Hexagon Image Hover Effect:
<style>
.mdw-hexagonal-hover-effect{
--mobile-animation-wait: true;
}
.mdw-hexagonal-hover-effect .elementor-widget-image{
position: relative;
}
.mdw-hexagonal-hover-effect .elementor-widget-image:before{
content: '';
display: block;
padding-top: 100%;
}
.mdw-hexagonal-hover-effect .elementor-widget-image > *{
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
.mdw-hexagonal-hover-effect .elementor-widget-image a{
width: 100%;
height: 100%;
}
.mdw-hexagonal-hover-effect img{
filter: grayscale(0) sepia(0) brightness(1);
transition: all 1.5s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.mdw-hexagonal-hover-effect:hover img{
transform: scale(1.5);
filter: grayscale(0.5) sepia(0.75) brightness(0.75);
}
.mdw-hexagonal-hover-effect > .e-con{
pointer-events: none;
height: var(--min-height,50%);
}
html.elementor-html .mdw-hexagonal-hover-effect > .e-con{
pointer-events: unset;
}
.mdw-hexagonal-hover-effect > .e-con > .e-con{
opacity: 0;
transform: scale(0.75);
clip-path: polygon(0% 0px, 0px 0%, calc(100% - 50px) 0px, 100% 50px, 100% 100%,calc(100% - 0px) 100%, 50px 100%, 0px calc(100% - 50px));
backdrop-filter: blur(20px);
transition: all 1s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.mdw-hexagonal-hover-effect:hover > .e-con > .e-con,
html.elementor-html .mdw-hexagonal-hover-effect > .e-con > .e-con{
opacity: 1;
transform: scale(1);
}
.mdw-hexagonal-hover-effect span.letter{
opacity: 0;
transition: all 0.1s cubic-bezier(0.17, 0.67, 0.83, 0.67) calc(var(--delay) * 0.7s);
}
.mdw-hexagonal-hover-effect .mdw-hexagonal-hover-effect-heading span.letter{
transition: all 0.1s cubic-bezier(0.17, 0.67, 0.83, 0.67) calc(var(--delay) * 0.1s);
}
.mdw-hexagonal-hover-effect:hover span.letter{
opacity: 1;
}
</style>
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script>
if(!MDWNonce116){
var MDWNonce116 = true
;(function($){
var selector = '.mdw-hexagonal-hover-effect'
$(document).ready(function(){
function getCSS(el, prop, def){
var val = getComputedStyle(el[0]).getPropertyValue(prop).trim()
return val ? val.trim() : def
}
$(selector).each(function(){
var $this = $(this)
$this.find('.elementor-widget-heading').each(function(){
var heading = $(this).find('.elementor-heading-title'),
words = heading.text().trim().split(/\s+/),
len = heading.text().replace(/\s/g, "").length,
arr = [...Array(len)].map((_, i) => i),
randomArr = [],
randomIndex,
randomItem,
delay,
index = 0
while (arr.length > 0) {
randomIndex = Math.floor(Math.random() * arr.length),
randomItem = arr.splice(randomIndex, 1)[0]
randomArr.push(randomItem)
}
wrappedHTML = words.map(function(word){
var letters = word.split('').map(function(letter){
delay = randomArr[index]/(len-1)
index++
return `<span style="--delay: ${delay}" class="letter">${letter}</span>`
}).join('')
return `<span class="word">${letters}</span>`
}).join(' ')
heading.html(wrappedHTML)
})
$this.find('a').on('click', function(e){
var mobileWait = getCSS($this, '--mobile-animation-wait', 'false') == 'true'
if(mobileWait && $(window).width() < 768){
e.preventDefault()
link = $(this).attr('href')
setTimeout(function(){
window.location.href = link
},(0.7+0.1)*1000)
}
})
})
})
})(jQuery)
}
</script>


