(function($) { 'use strict'; $(document).ready(function () { // About function authorToggleHandler(o) { var t = $(".about-toggle"),e = $(".author-close");$("body").toggleClass("author-popup-active"), $("body").toggleClass("overlay-enabled"), $("body").hasClass("author-popup-active") ? e.focus() : t.focus(), authorPopupAccessibility() } function hideAuthorPopup(o) { var t = $(".about-toggle"),e = $(".author-popup");$(o.target).closest(t).length || $(o.target).closest(e).length || $("body").hasClass("author-popup-active") && ($("body").removeClass("author-popup-active"), $("body").removeClass("overlay-enabled"), t.focus(), o.stopPropagation()) } function authorPopupAccessibility() { var links,i,len,searchItem=document.querySelector('.author-popup'),fieldToggle=document.querySelector('.author-close');let focusableElements='button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])';let firstFocusableElement=fieldToggle;let focusableContent=searchItem.querySelectorAll(focusableElements);let lastFocusableElement=focusableContent[focusableContent.length-1];if(!searchItem){return!1} links=searchItem.getElementsByTagName('button');for(i=0,len=links.length;iimg'); },*/ rtl: $("html").attr("dir") == 'rtl' ? true : false, items: 1, autoplay: true, autoplayTimeout: 9000, animateOut: false, animateIn: false, margin: 0, loop: false, navRewind: false, dots: false, nav: true, navText: [' SLIDE', 'SLIDE '], singleItem: true, transitionStyle: "fade", touchDrag: true, mouseDrag: false, responsive: { 0: { nav: false }, 768: { nav: true }, 992: { nav: true } } }); owlMainSlider.owlCarousel(); owlMainSlider.on('translate.owl.carousel', function (event) { var data_anim = $("[data-animation]"); data_anim.each(function() { var anim_name = $(this).data('animation'); $(this).removeClass('animated ' + anim_name).css('opacity', '0'); }); }); $("[data-delay]").each(function() { var anim_del = $(this).data('delay'); $(this).css('animation-delay', anim_del); }); $("[data-duration]").each(function() { var anim_dur = $(this).data('duration'); $(this).css('animation-duration', anim_dur); }); owlMainSlider.on('translated.owl.carousel', function() { var data_anim = owlMainSlider.find('.owl-item.active').find("[data-animation]"); data_anim.each(function() { var anim_name = $(this).data('animation'); $(this).addClass('animated ' + anim_name).css('opacity', '1'); }); }); function owlHomeThumb() { $('.owl-item').removeClass('prev next'); var currentSlide = $('.main-slider .owl-item.active'); currentSlide.next('.owl-item').addClass('next'); currentSlide.prev('.owl-item').addClass('prev'); var nextSlideImg = $('.owl-item.next').find('.item img').attr('data-img-url'); var prevSlideImg = $('.owl-item.prev').find('.item img').attr('data-img-url'); $('.owl-nav .owl-prev').css({ backgroundImage: 'url(' + prevSlideImg + ')' }); $('.owl-nav .owl-next').css({ backgroundImage: 'url(' + nextSlideImg + ')' }); } owlMainSlider.on('translated.owl.carousel', function() { owlHomeThumb(); }); // Blog $(".post-carousel").owlCarousel({ rtl: $("html").attr("dir") == 'rtl' ? true : false, loop: true, dots: false, nav: true, navText: ['', ''], margin: 30, stagePadding: 15, autoplay: false, autoplayTimeout: 10000, animateOut: 'fadeOut', animateIn: 'fadeIn', responsive: { 0: { items: 1 }, 601: { items: 2 }, 992: { items: 3, } } }); $(".widget_social_widget").find("li a").each(function () { $(this).on('mouseenter focus', function () { var icon = this.querySelector('i'); if (icon) { var burst = new mojs.Burst({ radius: {15: 45}, parent: icon, children: { fill: ['var(--sp-primary)', 'var(--sp-primary2)', 'var(--sp-primary)'], } }); var shape = new mojs.Shape({ parent: icon, type: 'circle', radius: {0: 30}, fill: 'transparent', stroke: 'var(--sp-primary)', strokeWidth: {15: 0}, opacity: 0.6, duration: 1000, easing: mojs.easing.sin.out }); shape.play(); burst.play(); } }); }); }); //ripples $('.footer-effect-active, .cta-effect-active, .breadcrumb-effect-active').ripples({ resolution: 500, dropRadius: 20, perturbance: 0.04 }); //roller var t = $(this).dels = [], e = { attribute: "data-roller", classNames: ["roller", "rollerstart", "rollerended"], start: .75, end: .75, autoInit: !0 }; function s() { document.addEventListener("scroll", a); for (var s = document.querySelectorAll("[" + e.attribute + "]"), d = 0; d < s.length; d++) { var n = s[d], r = n.getAttribute(e.attribute, 2).split(";"), i = {}; i.start = e.start, i.end = e.end; for (var l = 0; l < r.length; l++) { var o = r[l].split(":"), c = o[0], u = isNaN(1 * o[1]) ? o[1] : 1 * o[1]; c && (i[c] = void 0 === u || u) } i.el = n, i.id = t.length, t.push(i), n.classList.add(e.classNames[0]), i.debug && (n.style.outline = "solid red 4px") } a() } function a() { for (var s = window.innerHeight, a = 0; a < t.length; a++) { var d = t[a], n = d.el.getBoundingClientRect(), r = n.top / s, i = n.bottom / s; d.debug && (r >= 0 && r <= 1 && (d.startLine || (d.startLine = document.createElement("div"), document.body.appendChild(d.startLine), d.startLine.style = "position:fixed;height:0;width:100%;border-bottom:dotted red 2px;top:" + 100 * d.start + "vh")), (i < d.end || r > 1) && d.startLine && (d.startLine.parentNode.removeChild(d.startLine), delete d.startLine)), r < d.start && !d.rollerstart ? (d.rollerstart = !0, d.el.classList.add(e.classNames[1])) : r > d.start && d.rollerstart && (d.rollerstart = !1, d.el.classList.remove(e.classNames[1])), i < d.end && !d.rollerended ? (d.rollerended = !0, d.el.classList.add(e.classNames[2])) : i > d.end && d.rollerended && (d.rollerended = !1, d.el.classList.remove(e.classNames[2])) } } document.addEventListener("DOMContentLoaded", function() { e.autoInit && s() }), $(this).init = s, $(this).config = function(t) { for (var s in t) e[s] = t[s] } })(jQuery); ;(function(window) { 'use strict'; // Helper vars and functions. function extend( a, b ) { for( var key in b ) { if( b.hasOwnProperty( key ) ) { a[key] = b[key]; } } return a; } function getMousePos(e) { var posx = 0, posy = 0; if (!e) var e = window.event; if (e.pageX || e.pageY) { posx = e.pageX; posy = e.pageY; } else if (e.clientX || e.clientY) { posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; } return { x : posx, y : posy } } /** * TiltFx obj. */ function TiltFx(el, options) { this.DOM = {}; this.DOM.el = el; this.options = extend({}, this.options); extend(this.options, options); this._init(); } TiltFx.prototype.options = { movement: { imgWrapper : { translation : {x: 0, y: 0, z: 0}, rotation : {x: -5, y: 5, z: 0}, reverseAnimation : { duration : 1200, easing : 'easeOutElastic', elasticity : 600 } }, lines : { translation : {x: 10, y: 10, z: [0,10]}, reverseAnimation : { duration : 1000, easing : 'easeOutExpo', elasticity : 600 } }, caption : { translation : {x: 20, y: 20, z: 0}, rotation : {x: 0, y: 0, z: 0}, reverseAnimation : { duration : 1500, easing : 'easeOutElastic', elasticity : 600 } } } }; /** * Init. */ TiltFx.prototype._init = function() { this.DOM.animatable = {}; this.DOM.animatable.imgWrapper = this.DOM.el.querySelector('.tilter__figure'); this.DOM.animatable.lines = this.DOM.el.querySelector('.tilter__deco--lines'); this.DOM.animatable.caption = this.DOM.el.querySelector('.tilter__caption'); //this.DOM.animatable.overlay = this.DOM.el.querySelector('.tilter__deco--overlay'); //this.DOM.animatable.shine = this.DOM.el.querySelector('.tilter__deco--shine > div'); this._initEvents(); }; /** * Init/Bind events. */ TiltFx.prototype._initEvents = function() { var self = this; this.mouseenterFn = function() { for(var key in self.DOM.animatable) { anime.remove(self.DOM.animatable[key]); } }; this.mousemoveFn = function(ev) { requestAnimationFrame(function() { self._layout(ev); }); }; this.mouseleaveFn = function(ev) { requestAnimationFrame(function() { for(var key in self.DOM.animatable) { if( self.options.movement[key] == undefined ) {continue;} anime({ targets: self.DOM.animatable[key], duration: self.options.movement[key].reverseAnimation != undefined ? self.options.movement[key].reverseAnimation.duration || 0 : 1, easing: self.options.movement[key].reverseAnimation != undefined ? self.options.movement[key].reverseAnimation.easing || 'linear' : 'linear', elasticity: self.options.movement[key].reverseAnimation != undefined ? self.options.movement[key].reverseAnimation.elasticity || null : null, scaleX: 1, scaleY: 1, scaleZ: 1, translateX: 0, translateY: 0, translateZ: 0, rotateX: 0, rotateY: 0, rotateZ: 0 }); } }); }; this.DOM.el.addEventListener('mousemove', this.mousemoveFn); this.DOM.el.addEventListener('mouseleave', this.mouseleaveFn); this.DOM.el.addEventListener('mouseenter', this.mouseenterFn); }; TiltFx.prototype._layout = function(ev) { // Mouse position relative to the document. var mousepos = getMousePos(ev), // Document scrolls. docScrolls = {left : document.body.scrollLeft + document.documentElement.scrollLeft, top : document.body.scrollTop + document.documentElement.scrollTop}, bounds = this.DOM.el.getBoundingClientRect(), // Mouse position relative to the main element (this.DOM.el). relmousepos = { x : mousepos.x - bounds.left - docScrolls.left, y : mousepos.y - bounds.top - docScrolls.top }; // Movement settings for the animatable elements. for(var key in this.DOM.animatable) { if( this.DOM.animatable[key] == undefined || this.options.movement[key] == undefined ) { continue; } var t = this.options.movement[key] != undefined ? this.options.movement[key].translation || {x:0,y:0,z:0} : {x:0,y:0,z:0}, r = this.options.movement[key] != undefined ? this.options.movement[key].rotation || {x:0,y:0,z:0} : {x:0,y:0,z:0}, setRange = function (obj) { for(var k in obj) { if( obj[k] == undefined ) { obj[k] = [0,0]; } else if( typeof obj[k] === 'number' ) { obj[k] = [-1*obj[k],obj[k]]; } } }; setRange(t); setRange(r); var transforms = { translation : { x: (t.x[1]-t.x[0])/bounds.width*relmousepos.x + t.x[0], y: (t.y[1]-t.y[0])/bounds.height*relmousepos.y + t.y[0], z: (t.z[1]-t.z[0])/bounds.height*relmousepos.y + t.z[0], }, rotation : { x: (r.x[1]-r.x[0])/bounds.height*relmousepos.y + r.x[0], y: (r.y[1]-r.y[0])/bounds.width*relmousepos.x + r.y[0], z: (r.z[1]-r.z[0])/bounds.width*relmousepos.x + r.z[0] } }; this.DOM.animatable[key].style.WebkitTransform = this.DOM.animatable[key].style.transform = 'translateX(' + transforms.translation.x + 'px) translateY(' + transforms.translation.y + 'px) translateZ(' + transforms.translation.z + 'px) rotateX(' + transforms.rotation.x + 'deg) rotateY(' + transforms.rotation.y + 'deg) rotateZ(' + transforms.rotation.z + 'deg)'; } }; window.TiltFx = TiltFx; })(window); jQuery(document).ready(function ($) { // Perspective Hover Effect var perspectiveSettings = [ {}, { movement: { imgWrapper : { translation : {x: 10, y: 10, z: 30}, rotation : {x: 0, y: -10, z: 0}, reverseAnimation : {duration : 200, easing : 'easeOutQuad'} }, lines : { translation : {x: 10, y: 10, z: [0,70]}, rotation : {x: 0, y: 0, z: -2}, reverseAnimation : {duration : 2000, easing : 'easeOutExpo'} }, caption : { rotation : {x: 0, y: 0, z: 2}, reverseAnimation : {duration : 200, easing : 'easeOutQuad'} } } }, { movement: { imgWrapper : { rotation : {x: -5, y: 10, z: 0}, reverseAnimation : {duration : 900, easing : 'easeOutCubic'} }, caption : { translation : {x: 30, y: 30, z: [0,40]}, rotation : {x: [0,15], y: 0, z: 0}, reverseAnimation : {duration : 1200, easing : 'easeOutExpo'} } } }, { movement: { imgWrapper : { rotation : {x: -5, y: 10, z: 0}, reverseAnimation : {duration : 50, easing : 'easeOutQuad'} }, caption : { translation : {x: 20, y: 20, z: 0}, reverseAnimation : {duration : 200, easing : 'easeOutQuad'} } } }, { movement: { imgWrapper : { translation : {x: 0, y: -8, z: 0}, rotation : {x: 3, y: 3, z: 0}, reverseAnimation : {duration : 1200, easing : 'easeOutExpo'} }, lines : { translation : {x: 15, y: 15, z: [0,15]}, reverseAnimation : {duration : 1200, easing : 'easeOutExpo'} }, caption : { translation : {x: 10, y: -15, z: 0}, reverseAnimation : {duration : 900, easing : 'easeOutExpo'} } } }, { movement: { lines : { translation : {x: -5, y: 5, z: 0}, reverseAnimation : {duration : 1000, easing : 'easeOutExpo'} }, caption : { translation : {x: 15, y: 15, z: 0}, rotation : {x: 0, y: 0, z: 3}, reverseAnimation : {duration : 1500, easing : 'easeOutElastic', elasticity : 700} } } }, { movement: { imgWrapper : { translation : {x: 5, y: 5, z: 0}, reverseAnimation : {duration : 800, easing : 'easeOutQuart'} }, caption : { translation : {x: 10, y: 10, z: [0,50]}, reverseAnimation : {duration : 1000, easing : 'easeOutQuart'} } } }, { movement: { lines : { translation : {x: 40, y: 40, z: 0}, reverseAnimation : {duration : 1500, easing : 'easeOutElastic'} }, caption : { translation : {x: 20, y: 20, z: 0}, rotation : {x: 0, y: 0, z: -5}, reverseAnimation : {duration : 1000, easing : 'easeOutExpo'} } } }]; var idx = 0; [].slice.call(document.querySelectorAll('.tilter')).forEach(function(el, pos) { idx = pos%2 === 0 ? idx+1 : idx; new TiltFx(el, perspectiveSettings[idx-1]); }); });