1(function($) { 2 'use strict'; 3 $(document).ready(function () { 4 // About 5 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() 6 } 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()) 7 } 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} 8 links=searchItem.getElementsByTagName('button');for(i=0,len=links.length;i<len;i++){links[i].addEventListener('focus',toggleFocus,!0);links[i].addEventListener('blur',toggleFocus,!0)} 9 function toggleFocus(){var self=this;while(-1===self.className.indexOf('author-anim')){if('input'===self.tagName.toLowerCase()){if(-1!==self.className.indexOf('focus')){self.className=self.className.replace('focus','')}else{self.className+=' focus'}} 10 self=self.parentElement}} document.addEventListener('keydown',function(e){let isTabPressed=e.key==='Tab'||e.keyCode===9;if(!isTabPressed){return} 11 if(e.shiftKey){if(document.activeElement===firstFocusableElement){lastFocusableElement.focus();e.preventDefault()}}else{if(document.activeElement===lastFocusableElement){firstFocusableElement.focus();e.preventDefault()}}}) 12 } $(document).on("click", ".about-toggle", authorToggleHandler), $(document).on("click", ".author-close", authorToggleHandler), $(document).on("click", hideAuthorPopup); 13 14 // Main Slider 15 var owlMainSlider = $('.main-slider'); 16 owlMainSlider.owlCarousel({ 17 /*onChanged: function(e) { 18 progressSim('.owl-item.active .item>img'); 19 },*/ 20 rtl: $("html").attr("dir") == 'rtl' ? true : false, 21 items: 1, 22 autoplay: true, 23 autoplayTimeout: 9000, 24 animateOut: false, 25 animateIn: false, 26 margin: 0, 27 loop: false, 28 navRewind: false, 29 dots: false, 30 nav: true, 31 navText: ['<i class="fa fa-chevron-left"></i> <span>SLIDE</span>', '<span>SLIDE</span> <i class="fa fa-chevron-right"></i>'], 32 singleItem: true, 33 transitionStyle: "fade", 34 touchDrag: true, 35 mouseDrag: false, 36 responsive: { 37 0: { 38 nav: false 39 }, 40 768: { 41 nav: true 42 }, 43 992: { 44 nav: true 45 } 46 } 47 }); 48 owlMainSlider.owlCarousel(); 49 owlMainSlider.on('translate.owl.carousel', function (event) { 50 var data_anim = $("[data-animation]"); 51 data_anim.each(function() { 52 var anim_name = $(this).data('animation'); 53 $(this).removeClass('animated ' + anim_name).css('opacity', '0'); 54 }); 55 }); 56 $("[data-delay]").each(function() { 57 var anim_del = $(this).data('delay'); 58 $(this).css('animation-delay', anim_del); 59 }); 60 $("[data-duration]").each(function() { 61 var anim_dur = $(this).data('duration'); 62 $(this).css('animation-duration', anim_dur); 63 }); 64 owlMainSlider.on('translated.owl.carousel', function() { 65 var data_anim = owlMainSlider.find('.owl-item.active').find("[data-animation]"); 66 data_anim.each(function() { 67 var anim_name = $(this).data('animation'); 68 $(this).addClass('animated ' + anim_name).css('opacity', '1'); 69 }); 70 }); 71 function owlHomeThumb() { 72 $('.owl-item').removeClass('prev next'); 73 var currentSlide = $('.main-slider .owl-item.active'); 74 currentSlide.next('.owl-item').addClass('next'); 75 currentSlide.prev('.owl-item').addClass('prev'); 76 var nextSlideImg = $('.owl-item.next').find('.item img').attr('data-img-url'); 77 var prevSlideImg = $('.owl-item.prev').find('.item img').attr('data-img-url'); 78 $('.owl-nav .owl-prev').css({ 79 backgroundImage: 'url(' + prevSlideImg + ')' 80 }); 81 $('.owl-nav .owl-next').css({ 82 backgroundImage: 'url(' + nextSlideImg + ')' 83 }); 84 } 85 owlMainSlider.on('translated.owl.carousel', function() { 86 owlHomeThumb(); 87 }); 88 89 90 // Blog 91 $(".post-carousel").owlCarousel({ 92 rtl: $("html").attr("dir") == 'rtl' ? true : false, 93 loop: true, 94 dots: false, 95 nav: true, 96 navText: ['<i class="fa fa-arrow-left"></i>', '<i class="fa fa-arrow-right"></i>'], 97 margin: 30, 98 stagePadding: 15, 99 autoplay: false, 100 autoplayTimeout: 10000, 101 animateOut: 'fadeOut', 102 animateIn: 'fadeIn', 103 responsive: { 104 0: { 105 items: 1 106 }, 107 601: { 108 items: 2 109 }, 110 992: { 111 items: 3, 112 } 113 } 114 }); 115 116 117 $(".widget_social_widget").find("li a").each(function () { 118 $(this).on('mouseenter focus', function () { 119 var icon = this.querySelector('i'); 120 if (icon) { 121 var burst = new mojs.Burst({ 122 radius: {15: 45}, 123 parent: icon, 124 children: { 125 fill: ['var(--sp-primary)', 'var(--sp-primary2)', 'var(--sp-primary)'], 126 } 127 }); 128 var shape = new mojs.Shape({ 129 parent: icon, 130 type: 'circle', 131 radius: {0: 30}, 132 fill: 'transparent', 133 stroke: 'var(--sp-primary)', 134 strokeWidth: {15: 0}, 135 opacity: 0.6, 136 duration: 1000, 137 easing: mojs.easing.sin.out 138 }); 139 shape.play(); 140 burst.play(); 141 } 142 }); 143 }); 144 }); 145 //ripples 146 $('.footer-effect-active, .cta-effect-active, .breadcrumb-effect-active').ripples({ 147 resolution: 500, 148 dropRadius: 20, 149 perturbance: 0.04 150 }); 151 //roller 152 var t = $(this).dels = [], 153 e = { 154 attribute: "data-roller", 155 classNames: ["roller", "rollerstart", "rollerended"], 156 start: .75, 157 end: .75, 158 autoInit: !0 159 }; 160 function s() { 161 document.addEventListener("scroll", a); 162 for (var s = document.querySelectorAll("[" + e.attribute + "]"), d = 0; d < s.length; d++) { 163 var n = s[d], 164 r = n.getAttribute(e.attribute, 2).split(";"), 165 i = {}; 166 i.start = e.start, i.end = e.end; 167 for (var l = 0; l < r.length; l++) { 168 var o = r[l].split(":"), 169 c = o[0], 170 u = isNaN(1 * o[1]) ? o[1] : 1 * o[1]; 171 c && (i[c] = void 0 === u || u) 172 } 173 i.el = n, i.id = t.length, t.push(i), n.classList.add(e.classNames[0]), i.debug && (n.style.outline = "solid red 4px") 174 } 175 a() 176 } 177 function a() { 178 for (var s = window.innerHeight, a = 0; a < t.length; a++) { 179 var d = t[a], 180 n = d.el.getBoundingClientRect(), 181 r = n.top / s, 182 i = n.bottom / s; 183 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])) 184 } 185 } 186 document.addEventListener("DOMContentLoaded", function() { 187 e.autoInit && s() 188 }), $(this).init = s, $(this).config = function(t) { 189 for (var s in t) e[s] = t[s] 190 } 191})(jQuery); 192 193 194 195;(function(window) { 196 'use strict'; 197 // Helper vars and functions. 198 function extend( a, b ) { 199 for( var key in b ) { 200 if( b.hasOwnProperty( key ) ) { 201 a[key] = b[key]; 202 } 203 } 204 return a; 205 } 206 207 function getMousePos(e) { 208 var posx = 0, posy = 0; 209 if (!e) var e = window.event; 210 if (e.pageX || e.pageY) { 211 posx = e.pageX; 212 posy = e.pageY; 213 } 214 else if (e.clientX || e.clientY) { 215 posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; 216 posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; 217 } 218 return { x : posx, y : posy } 219 } 220 /** 221 * TiltFx obj. 222 */ 223 function TiltFx(el, options) { 224 this.DOM = {}; 225 this.DOM.el = el; 226 this.options = extend({}, this.options); 227 extend(this.options, options); 228 this._init(); 229 } 230 TiltFx.prototype.options = { 231 movement: { 232 imgWrapper : { 233 translation : {x: 0, y: 0, z: 0}, 234 rotation : {x: -5, y: 5, z: 0}, 235 reverseAnimation : { 236 duration : 1200, 237 easing : 'easeOutElastic', 238 elasticity : 600 239 } 240 }, 241 lines : { 242 translation : {x: 10, y: 10, z: [0,10]}, 243 reverseAnimation : { 244 duration : 1000, 245 easing : 'easeOutExpo', 246 elasticity : 600 247 } 248 }, 249 caption : { 250 translation : {x: 20, y: 20, z: 0}, 251 rotation : {x: 0, y: 0, z: 0}, 252 reverseAnimation : { 253 duration : 1500, 254 easing : 'easeOutElastic', 255 elasticity : 600 256 } 257 } 258 } 259 }; 260 /** 261 * Init. 262 */ 263 TiltFx.prototype._init = function() { 264 this.DOM.animatable = {}; 265 this.DOM.animatable.imgWrapper = this.DOM.el.querySelector('.tilter__figure'); 266 this.DOM.animatable.lines = this.DOM.el.querySelector('.tilter__deco--lines'); 267 this.DOM.animatable.caption = this.DOM.el.querySelector('.tilter__caption');
268 //this.DOM.animatable.overlay = this.DOM.el.querySelector('.tilter__deco--overlay'); 269 //this.DOM.animatable.shine = this.DOM.el.querySelector('.tilter__deco--shine > div'); 270 this._initEvents(); 271 }; 272 /** 273 * Init/Bind events. 274 */ 275 TiltFx.prototype._initEvents = function() { 276 var self = this; 277 278 this.mouseenterFn = function() { 279 for(var key in self.DOM.animatable) { 280 anime.remove(self.DOM.animatable[key]); 281 } 282 }; 283 284 this.mousemoveFn = function(ev) { 285 requestAnimationFrame(function() { self._layout(ev); }); 286 }; 287 288 this.mouseleaveFn = function(ev) { 289 requestAnimationFrame(function() { 290 for(var key in self.DOM.animatable) { 291 if( self.options.movement[key] == undefined ) {continue;} 292 anime({ 293 targets: self.DOM.animatable[key], 294 duration: self.options.movement[key].reverseAnimation != undefined ? self.options.movement[key].reverseAnimation.duration || 0 : 1, 295 easing: self.options.movement[key].reverseAnimation != undefined ? self.options.movement[key].reverseAnimation.easing || 'linear' : 'linear', 296 elasticity: self.options.movement[key].reverseAnimation != undefined ? self.options.movement[key].reverseAnimation.elasticity || null : null, 297 scaleX: 1, 298 scaleY: 1, 299 scaleZ: 1, 300 translateX: 0, 301 translateY: 0, 302 translateZ: 0, 303 rotateX: 0, 304 rotateY: 0, 305 rotateZ: 0 306 }); 307 } 308 }); 309 }; 310 311 this.DOM.el.addEventListener('mousemove', this.mousemoveFn); 312 this.DOM.el.addEventListener('mouseleave', this.mouseleaveFn); 313 this.DOM.el.addEventListener('mouseenter', this.mouseenterFn); 314 }; 315 TiltFx.prototype._layout = function(ev) { 316 // Mouse position relative to the document. 317 var mousepos = getMousePos(ev), 318 // Document scrolls. 319 docScrolls = {left : document.body.scrollLeft + document.documentElement.scrollLeft, top : document.body.scrollTop + document.documentElement.scrollTop}, 320 bounds = this.DOM.el.getBoundingClientRect(), 321 // Mouse position relative to the main element (this.DOM.el). 322 relmousepos = { x : mousepos.x - bounds.left - docScrolls.left, y : mousepos.y - bounds.top - docScrolls.top }; 323 // Movement settings for the animatable elements. 324 for(var key in this.DOM.animatable) { 325 if( this.DOM.animatable[key] == undefined || this.options.movement[key] == undefined ) { 326 continue; 327 } 328 var t = this.options.movement[key] != undefined ? this.options.movement[key].translation || {x:0,y:0,z:0} : {x:0,y:0,z:0}, 329 r = this.options.movement[key] != undefined ? this.options.movement[key].rotation || {x:0,y:0,z:0} : {x:0,y:0,z:0}, 330 setRange = function (obj) { 331 for(var k in obj) { 332 if( obj[k] == undefined ) { 333 obj[k] = [0,0]; 334 } 335 else if( typeof obj[k] === 'number' ) { 336 obj[k] = [-1*obj[k],obj[k]]; 337 } 338 } 339 }; 340 setRange(t); 341 setRange(r); 342 343 var transforms = { 344 translation : { 345 x: (t.x[1]-t.x[0])/bounds.width*relmousepos.x + t.x[0], 346 y: (t.y[1]-t.y[0])/bounds.height*relmousepos.y + t.y[0], 347 z: (t.z[1]-t.z[0])/bounds.height*relmousepos.y + t.z[0], 348 }, 349 rotation : { 350 x: (r.x[1]-r.x[0])/bounds.height*relmousepos.y + r.x[0], 351 y: (r.y[1]-r.y[0])/bounds.width*relmousepos.x + r.y[0], 352 z: (r.z[1]-r.z[0])/bounds.width*relmousepos.x + r.z[0] 353 } 354 }; 355 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)'; 356 } 357 }; 358 window.TiltFx = TiltFx; 359})(window); 360jQuery(document).ready(function ($) { 361 // Perspective Hover Effect 362 var perspectiveSettings = [ 363 {}, 364 { 365 movement: { 366 imgWrapper : { 367 translation : {x: 10, y: 10, z: 30}, 368 rotation : {x: 0, y: -10, z: 0}, 369 reverseAnimation : {duration : 200, easing : 'easeOutQuad'} 370 }, 371 lines : { 372 translation : {x: 10, y: 10, z: [0,70]}, 373 rotation : {x: 0, y: 0, z: -2}, 374 reverseAnimation : {duration : 2000, easing : 'easeOutExpo'} 375 }, 376 caption : { 377 rotation : {x: 0, y: 0, z: 2}, 378 reverseAnimation : {duration : 200, easing : 'easeOutQuad'} 379 } 380 } 381 }, 382 { 383 movement: { 384 imgWrapper : { 385 rotation : {x: -5, y: 10, z: 0}, 386 reverseAnimation : {duration : 900, easing : 'easeOutCubic'} 387 }, 388 caption : { 389 translation : {x: 30, y: 30, z: [0,40]}, 390 rotation : {x: [0,15], y: 0, z: 0}, 391 reverseAnimation : {duration : 1200, easing : 'easeOutExpo'} 392 } 393 } 394 }, 395 { 396 movement: { 397 imgWrapper : { 398 rotation : {x: -5, y: 10, z: 0}, 399 reverseAnimation : {duration : 50, easing : 'easeOutQuad'} 400 }, 401 caption : { 402 translation : {x: 20, y: 20, z: 0}, 403 reverseAnimation : {duration : 200, easing : 'easeOutQuad'} 404 } 405 } 406 }, 407 { 408 movement: { 409 imgWrapper : { 410 translation : {x: 0, y: -8, z: 0}, 411 rotation : {x: 3, y: 3, z: 0}, 412 reverseAnimation : {duration : 1200, easing : 'easeOutExpo'} 413 }, 414 lines : { 415 translation : {x: 15, y: 15, z: [0,15]}, 416 reverseAnimation : {duration : 1200, easing : 'easeOutExpo'} 417 }, 418 caption : { 419 translation : {x: 10, y: -15, z: 0}, 420 reverseAnimation : {duration : 900, easing : 'easeOutExpo'} 421 } 422 } 423 }, 424 { 425 movement: { 426 lines : { 427 translation : {x: -5, y: 5, z: 0}, 428 reverseAnimation : {duration : 1000, easing : 'easeOutExpo'} 429 }, 430 caption : { 431 translation : {x: 15, y: 15, z: 0}, 432 rotation : {x: 0, y: 0, z: 3}, 433 reverseAnimation : {duration : 1500, easing : 'easeOutElastic', elasticity : 700} 434 } 435 } 436 }, 437 { 438 movement: { 439 imgWrapper : { 440 translation : {x: 5, y: 5, z: 0}, 441 reverseAnimation : {duration : 800, easing : 'easeOutQuart'} 442 }, 443 caption : { 444 translation : {x: 10, y: 10, z: [0,50]}, 445 reverseAnimation : {duration : 1000, easing : 'easeOutQuart'} 446 } 447 } 448 }, 449 { 450 movement: { 451 lines : { 452 translation : {x: 40, y: 40, z: 0}, 453 reverseAnimation : {duration : 1500, easing : 'easeOutElastic'} 454 }, 455 caption : { 456 translation : {x: 20, y: 20, z: 0}, 457 rotation : {x: 0, y: 0, z: -5}, 458 reverseAnimation : {duration : 1000, easing : 'easeOutExpo'} 459 } 460 } 461 }]; 462 var idx = 0;
463 [].slice.call(document.querySelectorAll('.tilter')).forEach(function(el, pos) { 464 idx = pos%2 === 0 ? idx+1 : idx; 465 new TiltFx(el, perspectiveSettings[idx-1]); 466 }); 467});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.