初始
4627
assets/css/main.css
Normal file
4
assets/fonts/fontawesome/font-awesome.min.css
vendored
Normal file
BIN
assets/fonts/fontawesome/fonts/fontawesome-webfont3e6e.eot
Normal file
2671
assets/fonts/fontawesome/fonts/fontawesome-webfont3e6e.svg
Normal file
|
After Width: | Height: | Size: 434 KiB |
BIN
assets/fonts/fontawesome/fonts/fontawesome-webfont3e6e.ttf
Normal file
BIN
assets/fonts/fontawesome/fonts/fontawesome-webfont3e6e.woff
Normal file
BIN
assets/fonts/fontawesome/fonts/fontawesome-webfont3e6e.woff2
Normal file
BIN
assets/fonts/fontawesome/fonts/fontawesome-webfontd41d.eot
Normal file
BIN
assets/fonts/themify-icons/fonts/themify9f24.eot
Normal file
362
assets/fonts/themify-icons/fonts/themify9f24.svg
Normal file
|
After Width: | Height: | Size: 229 KiB |
BIN
assets/fonts/themify-icons/fonts/themify9f24.ttf
Normal file
BIN
assets/fonts/themify-icons/fonts/themify9f24.woff
Normal file
BIN
assets/fonts/themify-icons/fonts/themifyd41d.eot
Normal file
1081
assets/fonts/themify-icons/themify-icons.css
Normal file
BIN
assets/img/404.jpg
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
assets/img/avatars/1.jpg
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
assets/img/avatars/2.jpg
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
assets/img/avatars/3.jpg
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
assets/img/avatars/4.jpg
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
assets/img/avatars/avatar-01.jpg
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
assets/img/avatars/avatar-02.jpg
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
assets/img/backgrounds/2.jpg
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
assets/img/backgrounds/3.jpg
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
assets/img/blogs/1.jpg
Normal file
|
After Width: | Height: | Size: 241 KiB |
BIN
assets/img/blogs/2.jpg
Normal file
|
After Width: | Height: | Size: 220 KiB |
BIN
assets/img/blogs/detail/1.jpg
Normal file
|
After Width: | Height: | Size: 228 KiB |
BIN
assets/img/blogs/detail/2.jpg
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
assets/img/blogs/detail/3.jpg
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
assets/img/blogs/detail/4.jpg
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
assets/img/blogs/related-1.jpg
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
assets/img/blogs/related-2.jpg
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
assets/img/blogs/related-3.jpg
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
assets/img/blogs/related-4.jpg
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
assets/img/brands/1.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
assets/img/brands/2.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
assets/img/brands/3.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
assets/img/brands/4.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
assets/img/brands/5.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
assets/img/image-01.jpg
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
assets/img/image-02.jpg
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
assets/img/logo.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
assets/img/projects/1.jpg
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
assets/img/projects/2.jpg
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
assets/img/projects/3.jpg
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
assets/img/projects/4.jpg
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
assets/img/projects/5.jpg
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
assets/img/projects/6.jpg
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
assets/img/projects/7.jpg
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
assets/img/projects/8.jpg
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
assets/img/projects/9.jpg
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
assets/img/projects/detail-1.jpg
Normal file
|
After Width: | Height: | Size: 288 KiB |
BIN
assets/img/projects/detail-2.jpg
Normal file
|
After Width: | Height: | Size: 129 KiB |
BIN
assets/img/projects/detail-3.jpg
Normal file
|
After Width: | Height: | Size: 153 KiB |
BIN
assets/img/projects/v-1.jpg
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
assets/img/projects/v-2.jpg
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
assets/img/projects/v-3.jpg
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
assets/img/projects/v-4.jpg
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
assets/img/services/1.jpg
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
assets/img/services/2.jpg
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
assets/img/services/3.jpg
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
assets/img/services/4.jpg
Normal file
|
After Width: | Height: | Size: 116 KiB |
BIN
assets/img/services/5.jpg
Normal file
|
After Width: | Height: | Size: 146 KiB |
BIN
assets/img/services/6.jpg
Normal file
|
After Width: | Height: | Size: 34 KiB |
5
assets/img/services/_notes/dwsync.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<dwsync>
|
||||
<file name="4.jpg" server="www.kaolinware.com//data/goldable/" local="133149718912127479" remote="133149719590000000" />
|
||||
<file name="5.jpg" server="www.kaolinware.com//data/goldable/" local="133149719493293278" remote="133149719600000000" />
|
||||
</dwsync>
|
||||
BIN
assets/img/slider.jpg
Normal file
|
After Width: | Height: | Size: 364 KiB |
BIN
assets/img/slider2.jpg
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
assets/img/slider3.jpg
Normal file
|
After Width: | Height: | Size: 210 KiB |
BIN
assets/img/slider4.jpg
Normal file
|
After Width: | Height: | Size: 159 KiB |
BIN
assets/img/slider5.jpg
Normal file
|
After Width: | Height: | Size: 300 KiB |
BIN
assets/img/slider6.jpg
Normal file
|
After Width: | Height: | Size: 302 KiB |
360
assets/js/main.js
Normal file
@@ -0,0 +1,360 @@
|
||||
(function($) {
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* [isMobile description]
|
||||
* @type {Object}
|
||||
*/
|
||||
window.isMobile = {
|
||||
Android: function() {
|
||||
return navigator.userAgent.match(/Android/i);
|
||||
},
|
||||
BlackBerry: function() {
|
||||
return navigator.userAgent.match(/BlackBerry/i);
|
||||
},
|
||||
iOS: function() {
|
||||
return navigator.userAgent.match(/iPhone|iPad|iPod/i);
|
||||
},
|
||||
Opera: function() {
|
||||
return navigator.userAgent.match(/Opera Mini/i);
|
||||
},
|
||||
Windows: function() {
|
||||
return navigator.userAgent.match(/IEMobile/i);
|
||||
},
|
||||
any: function() {
|
||||
return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
|
||||
}
|
||||
}
|
||||
window.isIE = /(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent);
|
||||
window.windowHeight = window.innerHeight;
|
||||
window.windowWidth = window.innerWidth;
|
||||
|
||||
/**
|
||||
* owlCarousel
|
||||
*/
|
||||
$('.carousel__element').each(function() {
|
||||
var self = $(this),
|
||||
optData = eval('(' + self.attr('data-options') + ')'),
|
||||
optDefault = {
|
||||
items: 1,
|
||||
nav: true,
|
||||
dot: true,
|
||||
loop: true
|
||||
},
|
||||
options = $.extend(optDefault, optData);
|
||||
|
||||
self.owlCarousel(options);
|
||||
});
|
||||
|
||||
var selectors = [
|
||||
'iframe[src*="player.vimeo.com"]',
|
||||
'iframe[src*="youtube.com"]',
|
||||
'iframe[src*="youtube-nocookie.com"]',
|
||||
'iframe[src*="kickstarter.com"][src*="video.html"]',
|
||||
'object',
|
||||
'embed'
|
||||
];
|
||||
var $allVideos = $('body').find(selectors.join(','));
|
||||
$allVideos.each(function() {
|
||||
var vid = $(this),
|
||||
vidWidth = vid.outerWidth(),
|
||||
vidHeight = vid.outerHeight(),
|
||||
ratio = (vidHeight / vidWidth) * 100;
|
||||
$allVideos
|
||||
.addClass('embed-responsive-item');
|
||||
if (ratio == 75) {
|
||||
$allVideos
|
||||
.wrap('<div class="embed-responsive embed-responsive-4by3"></div>');
|
||||
} else {
|
||||
$allVideos
|
||||
.wrap('<div class="embed-responsive embed-responsive-16by9"></div>');
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Match height
|
||||
*/
|
||||
$('.row-eq-height > [class*="col-"]').matchHeight();
|
||||
|
||||
var myEfficientFn = debounce(function() {
|
||||
$('.row-eq-height > [class*="col-"]').matchHeight();
|
||||
}, 250);
|
||||
|
||||
window.addEventListener('resize', myEfficientFn);
|
||||
|
||||
/**
|
||||
* [debounce description]
|
||||
* @param {[type]} func [description]
|
||||
* @param {[type]} wait [description]
|
||||
* @param {[type]} immediate [description]
|
||||
* @return {[type]} [description]
|
||||
*/
|
||||
function debounce(func, wait, immediate) {
|
||||
var timeout;
|
||||
return function() {
|
||||
var context = this, args = arguments;
|
||||
var later = function() {
|
||||
timeout = null;
|
||||
if (!immediate) func.apply(context, args);
|
||||
};
|
||||
var callNow = immediate && !timeout;
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(later, wait);
|
||||
if (callNow) func.apply(context, args);
|
||||
};
|
||||
}
|
||||
|
||||
$('.js-counter').countUp();
|
||||
|
||||
/**
|
||||
* Countdown
|
||||
*/
|
||||
$('.countdown__module').each(function() {
|
||||
var self = $(this),
|
||||
_date = self.attr('data-date'),
|
||||
_strf = self.html();
|
||||
self.countdown(_date, function(event) {
|
||||
self.html(event.strftime(_strf));
|
||||
}).removeClass("hide");
|
||||
});
|
||||
|
||||
// /**
|
||||
// * Dropdown
|
||||
// */
|
||||
$('[data-init="dropdown"]').each(function(index, el) {
|
||||
|
||||
$(el).find('a.dropdown__toggle').on('click', function(event) {
|
||||
event.preventDefault();
|
||||
$(el).find('.dropdown__content').toggleClass('open');
|
||||
$(el).toggleClass('open');
|
||||
});
|
||||
|
||||
$(document).on('click', function(event) {
|
||||
var $content = $(el).find('.dropdown__content');
|
||||
if ($.contains(el, event.target)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ($(el).hasClass('open')) {
|
||||
$(el).removeClass('open');
|
||||
}
|
||||
|
||||
if ($content.hasClass('open')) {
|
||||
$content.removeClass('open');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function consultForm(argument) {
|
||||
var _hForm = $('.js-consult-form .js-consult-form__content').outerHeight() / 2;
|
||||
var _paddingTop = _hForm + 50;
|
||||
|
||||
if(windowWidth > 1200) {
|
||||
var _paddingTop = _hForm + 200;
|
||||
}
|
||||
|
||||
$('.js-consult-form .js-consult-form__content').css('bottom', - _hForm);
|
||||
|
||||
if(windowWidth > 768) {
|
||||
$('.js-consult-form + *').css('padding-top', _paddingTop);
|
||||
}
|
||||
}
|
||||
|
||||
consultForm();
|
||||
var myEfficientFn = debounce(function() {
|
||||
consultForm();
|
||||
}, 250);
|
||||
|
||||
window.addEventListener('resize', myEfficientFn);
|
||||
/**
|
||||
* Masonry
|
||||
*/
|
||||
$('.grid__inner').masonry({
|
||||
itemSelector: '.grid-item',
|
||||
columnWidth: '.grid-sizer',
|
||||
});
|
||||
|
||||
/**
|
||||
* grid css
|
||||
*/
|
||||
|
||||
$.fn.reCalWidth = function() {
|
||||
var $self = $(this);
|
||||
$self.on('reCalWidth', function() {
|
||||
var _self = $(this);
|
||||
_self.css('width', '');
|
||||
var width = Math.floor(_self.width());
|
||||
_self.css('width', width + 'px');
|
||||
var height = Math.floor(_self.parent().children('.wide').width()/2);
|
||||
_self.parent().children('.wide').css('height', height + 'px');
|
||||
});
|
||||
$(window).on('resize', function() {
|
||||
$self.trigger('reCalWidth');
|
||||
});
|
||||
}
|
||||
function work() {
|
||||
$('.grid-css').each(function() {
|
||||
var workWrapper = $(this),
|
||||
workContainer = $('.grid__inner', workWrapper),
|
||||
filters = $('.filter', workWrapper),
|
||||
filterCurrent = $('.current a', filters),
|
||||
filterLiCurrent = $('.current', filters),
|
||||
duration = 0.3;
|
||||
workContainer.imagesLoaded( function() {
|
||||
workContainer.isotope({
|
||||
layoutMode: 'masonry',
|
||||
itemSelector: '.grid-item',
|
||||
transitionDuration: duration + 's',
|
||||
masonry: {
|
||||
columnWidth: '.grid-sizer'
|
||||
},
|
||||
// hiddenStyle: {},
|
||||
// visibleStyle: {}
|
||||
});
|
||||
});
|
||||
filters.on('click', 'a', function(e) {
|
||||
e.preventDefault();
|
||||
var $el = $(this);
|
||||
var selector = $el.attr('data-filter');
|
||||
filters.find('.current').removeClass('current');
|
||||
$el.parent().addClass('current');
|
||||
workContainer.isotope({
|
||||
filter: selector
|
||||
});
|
||||
});
|
||||
$('.grid-item', workWrapper).reCalWidth();
|
||||
});
|
||||
}
|
||||
work();
|
||||
|
||||
$('.js-post-effect').each(function() {
|
||||
var contentHeight = $(this).find('.post-02__content').height() + 30;
|
||||
|
||||
if(windowWidth > 768) {
|
||||
var contentHeight = $(this).find('.post-02__content').height() + 50;
|
||||
}
|
||||
|
||||
$(this).find('.post-02__body').css('transform', 'translateY(' + contentHeight + 'px)');
|
||||
|
||||
$(this).hover(function() {
|
||||
$(this).find('.post-02__body').css('transform', 'translateY(' + 0 + 'px)');
|
||||
}, function() {
|
||||
$(this).find('.post-02__body').css('transform', 'translateY(' + contentHeight + 'px)');
|
||||
});
|
||||
});
|
||||
$(document).ready(function(){
|
||||
$('a[href^="#"].clickScroll').on('click',function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
var target = this.hash;
|
||||
var $target = $(target);
|
||||
|
||||
$('html, body').stop().animate({
|
||||
'scrollTop': $target.offset().top
|
||||
}, 900, 'swing', function() {
|
||||
window.location.hash = target;
|
||||
});
|
||||
});
|
||||
});
|
||||
$('[data-init="video"]').each(function(index, el) {
|
||||
var el = $(this);
|
||||
var iframe = $(this).find('iframe');
|
||||
|
||||
$(this).find('.video-button').click(function(e) {
|
||||
|
||||
el.addClass('play-video');
|
||||
iframe[0].src += "?enablejsapi=1&autoplay=1";
|
||||
e.preventDefault();
|
||||
});
|
||||
});
|
||||
|
||||
$('#back-to-top').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
$('html,body').animate({
|
||||
scrollTop: 0
|
||||
}, 700);
|
||||
});
|
||||
/**
|
||||
* Menu
|
||||
*/
|
||||
$('.consult-nav').dropdownMenu({
|
||||
menuClass: 'consult-menu',
|
||||
breakpoint: 992,
|
||||
toggleClass: 'active',
|
||||
classButtonToggle: 'navbar-toggle',
|
||||
subMenu: {
|
||||
class: 'sub-menu',
|
||||
parentClass: 'menu-item-has-children',
|
||||
toggleClass: 'active'
|
||||
}
|
||||
});
|
||||
|
||||
$(window).scroll(function() {
|
||||
if ($(document).scrollTop() > 100) {
|
||||
$('.header').addClass('shrink');
|
||||
} else {
|
||||
$('.header').removeClass('shrink');
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Event click navbar-toggle
|
||||
*/
|
||||
$('.navbar-toggle').each(function(index, el) {
|
||||
$(el).on('click', function(event) {
|
||||
event.preventDefault();
|
||||
$(el).toggleClass('open');
|
||||
});
|
||||
|
||||
$(document).on('click', function(event) {
|
||||
var $content = $(el);
|
||||
if ($.contains(el, event.target)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ($(el).hasClass('open')) {
|
||||
$(el).removeClass('open');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* Event click search-form
|
||||
*/
|
||||
$('.search-form').each(function(index, el) {
|
||||
$(el).on('click', function(event) {
|
||||
event.preventDefault();
|
||||
$(el).addClass('open');
|
||||
});
|
||||
|
||||
$(document).on('click', function(event) {
|
||||
var $content = $(el);
|
||||
if ($.contains(el, event.target)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ($(el).hasClass('open')) {
|
||||
$(el).removeClass('open');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function slider() {
|
||||
var windowWidth = $(window).innerWidth();
|
||||
var containerWidth = $('.container').width();
|
||||
var outerPadding = (windowWidth - containerWidth)/2;
|
||||
|
||||
if(windowWidth > 1200) {
|
||||
$('.js-consult-slider').css('marginRight', - outerPadding);
|
||||
}
|
||||
}
|
||||
|
||||
slider();
|
||||
var myEfficientFn = debounce(function() {
|
||||
slider();
|
||||
}, 250);
|
||||
|
||||
window.addEventListener('resize', myEfficientFn);
|
||||
|
||||
})(jQuery);
|
||||
|
||||
4
assets/vendors/_jquery/jquery.min.js
vendored
Normal file
7
assets/vendors/bootstrap4/bootstrap-grid.min.css
vendored
Normal file
487
assets/vendors/imagesloaded/imagesloaded.pkgd.js
vendored
Normal file
@@ -0,0 +1,487 @@
|
||||
/*!
|
||||
* imagesLoaded PACKAGED v4.1.2
|
||||
* JavaScript is all like "You images are done yet or what?"
|
||||
* MIT License
|
||||
*/
|
||||
|
||||
/**
|
||||
* EvEmitter v1.0.3
|
||||
* Lil' event emitter
|
||||
* MIT License
|
||||
*/
|
||||
|
||||
/* jshint unused: true, undef: true, strict: true */
|
||||
|
||||
( function( global, factory ) {
|
||||
// universal module definition
|
||||
/* jshint strict: false */ /* globals define, module, window */
|
||||
if ( typeof define == 'function' && define.amd ) {
|
||||
// AMD - RequireJS
|
||||
define( 'ev-emitter/ev-emitter',factory );
|
||||
} else if ( typeof module == 'object' && module.exports ) {
|
||||
// CommonJS - Browserify, Webpack
|
||||
module.exports = factory();
|
||||
} else {
|
||||
// Browser globals
|
||||
global.EvEmitter = factory();
|
||||
}
|
||||
|
||||
}( typeof window != 'undefined' ? window : this, function() {
|
||||
|
||||
|
||||
|
||||
function EvEmitter() {}
|
||||
|
||||
var proto = EvEmitter.prototype;
|
||||
|
||||
proto.on = function( eventName, listener ) {
|
||||
if ( !eventName || !listener ) {
|
||||
return;
|
||||
}
|
||||
// set events hash
|
||||
var events = this._events = this._events || {};
|
||||
// set listeners array
|
||||
var listeners = events[ eventName ] = events[ eventName ] || [];
|
||||
// only add once
|
||||
if ( listeners.indexOf( listener ) == -1 ) {
|
||||
listeners.push( listener );
|
||||
}
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
proto.once = function( eventName, listener ) {
|
||||
if ( !eventName || !listener ) {
|
||||
return;
|
||||
}
|
||||
// add event
|
||||
this.on( eventName, listener );
|
||||
// set once flag
|
||||
// set onceEvents hash
|
||||
var onceEvents = this._onceEvents = this._onceEvents || {};
|
||||
// set onceListeners object
|
||||
var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};
|
||||
// set flag
|
||||
onceListeners[ listener ] = true;
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
proto.off = function( eventName, listener ) {
|
||||
var listeners = this._events && this._events[ eventName ];
|
||||
if ( !listeners || !listeners.length ) {
|
||||
return;
|
||||
}
|
||||
var index = listeners.indexOf( listener );
|
||||
if ( index != -1 ) {
|
||||
listeners.splice( index, 1 );
|
||||
}
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
proto.emitEvent = function( eventName, args ) {
|
||||
var listeners = this._events && this._events[ eventName ];
|
||||
if ( !listeners || !listeners.length ) {
|
||||
return;
|
||||
}
|
||||
var i = 0;
|
||||
var listener = listeners[i];
|
||||
args = args || [];
|
||||
// once stuff
|
||||
var onceListeners = this._onceEvents && this._onceEvents[ eventName ];
|
||||
|
||||
while ( listener ) {
|
||||
var isOnce = onceListeners && onceListeners[ listener ];
|
||||
if ( isOnce ) {
|
||||
// remove listener
|
||||
// remove before trigger to prevent recursion
|
||||
this.off( eventName, listener );
|
||||
// unset once flag
|
||||
delete onceListeners[ listener ];
|
||||
}
|
||||
// trigger listener
|
||||
listener.apply( this, args );
|
||||
// get next listener
|
||||
i += isOnce ? 0 : 1;
|
||||
listener = listeners[i];
|
||||
}
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
return EvEmitter;
|
||||
|
||||
}));
|
||||
|
||||
/*!
|
||||
* imagesLoaded v4.1.2
|
||||
* JavaScript is all like "You images are done yet or what?"
|
||||
* MIT License
|
||||
*/
|
||||
|
||||
( function( window, factory ) { 'use strict';
|
||||
// universal module definition
|
||||
|
||||
/*global define: false, module: false, require: false */
|
||||
|
||||
if ( typeof define == 'function' && define.amd ) {
|
||||
// AMD
|
||||
define( [
|
||||
'ev-emitter/ev-emitter'
|
||||
], function( EvEmitter ) {
|
||||
return factory( window, EvEmitter );
|
||||
});
|
||||
} else if ( typeof module == 'object' && module.exports ) {
|
||||
// CommonJS
|
||||
module.exports = factory(
|
||||
window,
|
||||
require('ev-emitter')
|
||||
);
|
||||
} else {
|
||||
// browser global
|
||||
window.imagesLoaded = factory(
|
||||
window,
|
||||
window.EvEmitter
|
||||
);
|
||||
}
|
||||
|
||||
})( typeof window !== 'undefined' ? window : this,
|
||||
|
||||
// -------------------------- factory -------------------------- //
|
||||
|
||||
function factory( window, EvEmitter ) {
|
||||
|
||||
|
||||
|
||||
var $ = window.jQuery;
|
||||
var console = window.console;
|
||||
|
||||
// -------------------------- helpers -------------------------- //
|
||||
|
||||
// extend objects
|
||||
function extend( a, b ) {
|
||||
for ( var prop in b ) {
|
||||
a[ prop ] = b[ prop ];
|
||||
}
|
||||
return a;
|
||||
}
|
||||
|
||||
// turn element or nodeList into an array
|
||||
function makeArray( obj ) {
|
||||
var ary = [];
|
||||
if ( Array.isArray( obj ) ) {
|
||||
// use object if already an array
|
||||
ary = obj;
|
||||
} else if ( typeof obj.length == 'number' ) {
|
||||
// convert nodeList to array
|
||||
for ( var i=0; i < obj.length; i++ ) {
|
||||
ary.push( obj[i] );
|
||||
}
|
||||
} else {
|
||||
// array of single index
|
||||
ary.push( obj );
|
||||
}
|
||||
return ary;
|
||||
}
|
||||
|
||||
// -------------------------- imagesLoaded -------------------------- //
|
||||
|
||||
/**
|
||||
* @param {Array, Element, NodeList, String} elem
|
||||
* @param {Object or Function} options - if function, use as callback
|
||||
* @param {Function} onAlways - callback function
|
||||
*/
|
||||
function ImagesLoaded( elem, options, onAlways ) {
|
||||
// coerce ImagesLoaded() without new, to be new ImagesLoaded()
|
||||
if ( !( this instanceof ImagesLoaded ) ) {
|
||||
return new ImagesLoaded( elem, options, onAlways );
|
||||
}
|
||||
// use elem as selector string
|
||||
if ( typeof elem == 'string' ) {
|
||||
elem = document.querySelectorAll( elem );
|
||||
}
|
||||
|
||||
this.elements = makeArray( elem );
|
||||
this.options = extend( {}, this.options );
|
||||
|
||||
if ( typeof options == 'function' ) {
|
||||
onAlways = options;
|
||||
} else {
|
||||
extend( this.options, options );
|
||||
}
|
||||
|
||||
if ( onAlways ) {
|
||||
this.on( 'always', onAlways );
|
||||
}
|
||||
|
||||
this.getImages();
|
||||
|
||||
if ( $ ) {
|
||||
// add jQuery Deferred object
|
||||
this.jqDeferred = new $.Deferred();
|
||||
}
|
||||
|
||||
// HACK check async to allow time to bind listeners
|
||||
setTimeout( function() {
|
||||
this.check();
|
||||
}.bind( this ));
|
||||
}
|
||||
|
||||
ImagesLoaded.prototype = Object.create( EvEmitter.prototype );
|
||||
|
||||
ImagesLoaded.prototype.options = {};
|
||||
|
||||
ImagesLoaded.prototype.getImages = function() {
|
||||
this.images = [];
|
||||
|
||||
// filter & find items if we have an item selector
|
||||
this.elements.forEach( this.addElementImages, this );
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {Node} element
|
||||
*/
|
||||
ImagesLoaded.prototype.addElementImages = function( elem ) {
|
||||
// filter siblings
|
||||
if ( elem.nodeName == 'IMG' ) {
|
||||
this.addImage( elem );
|
||||
}
|
||||
// get background image on element
|
||||
if ( this.options.background === true ) {
|
||||
this.addElementBackgroundImages( elem );
|
||||
}
|
||||
|
||||
// find children
|
||||
// no non-element nodes, #143
|
||||
var nodeType = elem.nodeType;
|
||||
if ( !nodeType || !elementNodeTypes[ nodeType ] ) {
|
||||
return;
|
||||
}
|
||||
var childImgs = elem.querySelectorAll('img');
|
||||
// concat childElems to filterFound array
|
||||
for ( var i=0; i < childImgs.length; i++ ) {
|
||||
var img = childImgs[i];
|
||||
this.addImage( img );
|
||||
}
|
||||
|
||||
// get child background images
|
||||
if ( typeof this.options.background == 'string' ) {
|
||||
var children = elem.querySelectorAll( this.options.background );
|
||||
for ( i=0; i < children.length; i++ ) {
|
||||
var child = children[i];
|
||||
this.addElementBackgroundImages( child );
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var elementNodeTypes = {
|
||||
1: true,
|
||||
9: true,
|
||||
11: true
|
||||
};
|
||||
|
||||
ImagesLoaded.prototype.addElementBackgroundImages = function( elem ) {
|
||||
var style = getComputedStyle( elem );
|
||||
if ( !style ) {
|
||||
// Firefox returns null if in a hidden iframe https://bugzil.la/548397
|
||||
return;
|
||||
}
|
||||
// get url inside url("...")
|
||||
var reURL = /url\((['"])?(.*?)\1\)/gi;
|
||||
var matches = reURL.exec( style.backgroundImage );
|
||||
while ( matches !== null ) {
|
||||
var url = matches && matches[2];
|
||||
if ( url ) {
|
||||
this.addBackground( url, elem );
|
||||
}
|
||||
matches = reURL.exec( style.backgroundImage );
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {Image} img
|
||||
*/
|
||||
ImagesLoaded.prototype.addImage = function( img ) {
|
||||
var loadingImage = new LoadingImage( img );
|
||||
this.images.push( loadingImage );
|
||||
};
|
||||
|
||||
ImagesLoaded.prototype.addBackground = function( url, elem ) {
|
||||
var background = new Background( url, elem );
|
||||
this.images.push( background );
|
||||
};
|
||||
|
||||
ImagesLoaded.prototype.check = function() {
|
||||
var _this = this;
|
||||
this.progressedCount = 0;
|
||||
this.hasAnyBroken = false;
|
||||
// complete if no images
|
||||
if ( !this.images.length ) {
|
||||
this.complete();
|
||||
return;
|
||||
}
|
||||
|
||||
function onProgress( image, elem, message ) {
|
||||
// HACK - Chrome triggers event before object properties have changed. #83
|
||||
setTimeout( function() {
|
||||
_this.progress( image, elem, message );
|
||||
});
|
||||
}
|
||||
|
||||
this.images.forEach( function( loadingImage ) {
|
||||
loadingImage.once( 'progress', onProgress );
|
||||
loadingImage.check();
|
||||
});
|
||||
};
|
||||
|
||||
ImagesLoaded.prototype.progress = function( image, elem, message ) {
|
||||
this.progressedCount++;
|
||||
this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded;
|
||||
// progress event
|
||||
this.emitEvent( 'progress', [ this, image, elem ] );
|
||||
if ( this.jqDeferred && this.jqDeferred.notify ) {
|
||||
this.jqDeferred.notify( this, image );
|
||||
}
|
||||
// check if completed
|
||||
if ( this.progressedCount == this.images.length ) {
|
||||
this.complete();
|
||||
}
|
||||
|
||||
if ( this.options.debug && console ) {
|
||||
console.log( 'progress: ' + message, image, elem );
|
||||
}
|
||||
};
|
||||
|
||||
ImagesLoaded.prototype.complete = function() {
|
||||
var eventName = this.hasAnyBroken ? 'fail' : 'done';
|
||||
this.isComplete = true;
|
||||
this.emitEvent( eventName, [ this ] );
|
||||
this.emitEvent( 'always', [ this ] );
|
||||
if ( this.jqDeferred ) {
|
||||
var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve';
|
||||
this.jqDeferred[ jqMethod ]( this );
|
||||
}
|
||||
};
|
||||
|
||||
// -------------------------- -------------------------- //
|
||||
|
||||
function LoadingImage( img ) {
|
||||
this.img = img;
|
||||
}
|
||||
|
||||
LoadingImage.prototype = Object.create( EvEmitter.prototype );
|
||||
|
||||
LoadingImage.prototype.check = function() {
|
||||
// If complete is true and browser supports natural sizes,
|
||||
// try to check for image status manually.
|
||||
var isComplete = this.getIsImageComplete();
|
||||
if ( isComplete ) {
|
||||
// report based on naturalWidth
|
||||
this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
|
||||
return;
|
||||
}
|
||||
|
||||
// If none of the checks above matched, simulate loading on detached element.
|
||||
this.proxyImage = new Image();
|
||||
this.proxyImage.addEventListener( 'load', this );
|
||||
this.proxyImage.addEventListener( 'error', this );
|
||||
// bind to image as well for Firefox. #191
|
||||
this.img.addEventListener( 'load', this );
|
||||
this.img.addEventListener( 'error', this );
|
||||
this.proxyImage.src = this.img.src;
|
||||
};
|
||||
|
||||
LoadingImage.prototype.getIsImageComplete = function() {
|
||||
return this.img.complete && this.img.naturalWidth !== undefined;
|
||||
};
|
||||
|
||||
LoadingImage.prototype.confirm = function( isLoaded, message ) {
|
||||
this.isLoaded = isLoaded;
|
||||
this.emitEvent( 'progress', [ this, this.img, message ] );
|
||||
};
|
||||
|
||||
// ----- events ----- //
|
||||
|
||||
// trigger specified handler for event type
|
||||
LoadingImage.prototype.handleEvent = function( event ) {
|
||||
var method = 'on' + event.type;
|
||||
if ( this[ method ] ) {
|
||||
this[ method ]( event );
|
||||
}
|
||||
};
|
||||
|
||||
LoadingImage.prototype.onload = function() {
|
||||
this.confirm( true, 'onload' );
|
||||
this.unbindEvents();
|
||||
};
|
||||
|
||||
LoadingImage.prototype.onerror = function() {
|
||||
this.confirm( false, 'onerror' );
|
||||
this.unbindEvents();
|
||||
};
|
||||
|
||||
LoadingImage.prototype.unbindEvents = function() {
|
||||
this.proxyImage.removeEventListener( 'load', this );
|
||||
this.proxyImage.removeEventListener( 'error', this );
|
||||
this.img.removeEventListener( 'load', this );
|
||||
this.img.removeEventListener( 'error', this );
|
||||
};
|
||||
|
||||
// -------------------------- Background -------------------------- //
|
||||
|
||||
function Background( url, element ) {
|
||||
this.url = url;
|
||||
this.element = element;
|
||||
this.img = new Image();
|
||||
}
|
||||
|
||||
// inherit LoadingImage prototype
|
||||
Background.prototype = Object.create( LoadingImage.prototype );
|
||||
|
||||
Background.prototype.check = function() {
|
||||
this.img.addEventListener( 'load', this );
|
||||
this.img.addEventListener( 'error', this );
|
||||
this.img.src = this.url;
|
||||
// check if image is already complete
|
||||
var isComplete = this.getIsImageComplete();
|
||||
if ( isComplete ) {
|
||||
this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
|
||||
this.unbindEvents();
|
||||
}
|
||||
};
|
||||
|
||||
Background.prototype.unbindEvents = function() {
|
||||
this.img.removeEventListener( 'load', this );
|
||||
this.img.removeEventListener( 'error', this );
|
||||
};
|
||||
|
||||
Background.prototype.confirm = function( isLoaded, message ) {
|
||||
this.isLoaded = isLoaded;
|
||||
this.emitEvent( 'progress', [ this, this.element, message ] );
|
||||
};
|
||||
|
||||
// -------------------------- jQuery -------------------------- //
|
||||
|
||||
ImagesLoaded.makeJQueryPlugin = function( jQuery ) {
|
||||
jQuery = jQuery || window.jQuery;
|
||||
if ( !jQuery ) {
|
||||
return;
|
||||
}
|
||||
// set local variable
|
||||
$ = jQuery;
|
||||
// $().imagesLoaded()
|
||||
$.fn.imagesLoaded = function( options, callback ) {
|
||||
var instance = new ImagesLoaded( this, options, callback );
|
||||
return instance.jqDeferred.promise( $(this) );
|
||||
};
|
||||
};
|
||||
// try making plugin
|
||||
ImagesLoaded.makeJQueryPlugin();
|
||||
|
||||
// -------------------------- -------------------------- //
|
||||
|
||||
return ImagesLoaded;
|
||||
|
||||
});
|
||||
|
||||
3558
assets/vendors/isotope-layout/isotope.pkgd.js
vendored
Normal file
1
assets/vendors/jquery.countTo/jquery.countTo.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t("object"==typeof exports?require("jquery"):jQuery)}(function(t){var e=function(o,i){this.$element=t(o),this.options=t.extend({},e.DEFAULTS,this.dataOptions(),i),this.init()};e.DEFAULTS={from:0,to:0,speed:1e3,refreshInterval:100,decimals:0,formatter:function(t,e){return t.toFixed(e.decimals)},onUpdate:null,onComplete:null},e.prototype.init=function(){this.value=this.options.from,this.loops=Math.ceil(this.options.speed/this.options.refreshInterval),this.loopCount=0,this.increment=(this.options.to-this.options.from)/this.loops},e.prototype.dataOptions=function(){var t={from:this.$element.data("from"),to:this.$element.data("to"),speed:this.$element.data("speed"),refreshInterval:this.$element.data("refresh-interval"),decimals:this.$element.data("decimals")},e=Object.keys(t);for(var o in e){var i=e[o];void 0===t[i]&&delete t[i]}return t},e.prototype.update=function(){this.value+=this.increment,this.loopCount++,this.render(),"function"==typeof this.options.onUpdate&&this.options.onUpdate.call(this.$element,this.value),this.loopCount>=this.loops&&(clearInterval(this.interval),this.value=this.options.to,"function"==typeof this.options.onComplete&&this.options.onComplete.call(this.$element,this.value))},e.prototype.render=function(){var t=this.options.formatter.call(this.$element,this.value,this.options);this.$element.text(t)},e.prototype.restart=function(){this.stop(),this.init(),this.start()},e.prototype.start=function(){this.stop(),this.render(),this.interval=setInterval(this.update.bind(this),this.options.refreshInterval)},e.prototype.stop=function(){this.interval&&clearInterval(this.interval)},e.prototype.toggle=function(){this.interval?this.stop():this.start()},t.fn.countTo=function(o){return this.each(function(){var i=t(this),n=i.data("countTo"),s=!n||"object"==typeof o,r="object"==typeof o?o:{},a="string"==typeof o?o:"start";s&&(n&&n.stop(),i.data("countTo",n=new e(this,r))),n[a].call(n)})}});
|
||||
1
assets/vendors/jquery.countUp/jquery.countup.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
!function(t){"use strict";t.fn.countUp=function(e){var a=t.extend({time:2e3,delay:10},e);return this.each(function(){var e=t(this),n=a,u=function(){e.data("counterupTo")||e.data("counterupTo",e.text());var t=parseInt(e.data("counter-time"))>0?parseInt(e.data("counter-time")):n.time,a=parseInt(e.data("counter-delay"))>0?parseInt(e.data("counter-delay")):n.delay,u=t/a,r=e.data("counterupTo"),o=[r],c=/[0-9]+,[0-9]+/.test(r);r=r.replace(/,/g,"");for(var d=(/^[0-9]+$/.test(r),/^[0-9]+\.[0-9]+$/.test(r)),s=d?(r.split(".")[1]||[]).length:0,p=u;p>=1;p--){var i=parseInt(Math.round(r/u*p));if(d&&(i=parseFloat(r/u*p).toFixed(s)),c)for(;/(\d+)(\d{3})/.test(i.toString());)i=i.toString().replace(/(\d+)(\d{3})/,"$1,$2");o.unshift(i)}if(e.data("counterup-nums",o),e.data("counterup-nums")){e.text("0");var f=function(){e.data("counterup-nums")&&(e.text(e.data("counterup-nums").shift()),e.data("counterup-nums").length?setTimeout(e.data("counterup-func"),n.delay):(delete e.data("counterup-nums"),e.data("counterup-nums",null),e.data("counterup-func",null)))};e.data("counterup-func",f),setTimeout(e.data("counterup-func"),a)}};e.waypoint(u,{offset:"100%",triggerOnce:!0})})}}(jQuery);
|
||||
5
assets/vendors/jquery.countdown/jquery.countdown.min.js
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
/*!
|
||||
* The Final Countdown for jQuery v2.2.0 (http://hilios.github.io/jQuery.countdown/)
|
||||
* Copyright (c) 2016 Edson Hilios
|
||||
*/
|
||||
!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){"use strict";function b(a){if(a instanceof Date)return a;if(String(a).match(g))return String(a).match(/^[0-9]*$/)&&(a=Number(a)),String(a).match(/\-/)&&(a=String(a).replace(/\-/g,"/")),new Date(a);throw new Error("Couldn't cast `"+a+"` to a date object.")}function c(a){var b=a.toString().replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1");return new RegExp(b)}function d(a){return function(b){var d=b.match(/%(-|!)?[A-Z]{1}(:[^;]+;)?/gi);if(d)for(var f=0,g=d.length;f<g;++f){var h=d[f].match(/%(-|!)?([a-zA-Z]{1})(:[^;]+;)?/),j=c(h[0]),k=h[1]||"",l=h[3]||"",m=null;h=h[2],i.hasOwnProperty(h)&&(m=i[h],m=Number(a[m])),null!==m&&("!"===k&&(m=e(l,m)),""===k&&m<10&&(m="0"+m.toString()),b=b.replace(j,m.toString()))}return b=b.replace(/%%/,"%")}}function e(a,b){var c="s",d="";return a&&(a=a.replace(/(:|;|\s)/gi,"").split(/\,/),1===a.length?c=a[0]:(d=a[0],c=a[1])),Math.abs(b)>1?c:d}var f=[],g=[],h={precision:100,elapse:!1,defer:!1};g.push(/^[0-9]*$/.source),g.push(/([0-9]{1,2}\/){2}[0-9]{4}( [0-9]{1,2}(:[0-9]{2}){2})?/.source),g.push(/[0-9]{4}([\/\-][0-9]{1,2}){2}( [0-9]{1,2}(:[0-9]{2}){2})?/.source),g=new RegExp(g.join("|"));var i={Y:"years",m:"months",n:"daysToMonth",d:"daysToWeek",w:"weeks",W:"weeksToMonth",H:"hours",M:"minutes",S:"seconds",D:"totalDays",I:"totalHours",N:"totalMinutes",T:"totalSeconds"},j=function(b,c,d){this.el=b,this.$el=a(b),this.interval=null,this.offset={},this.options=a.extend({},h),this.instanceNumber=f.length,f.push(this),this.$el.data("countdown-instance",this.instanceNumber),d&&("function"==typeof d?(this.$el.on("update.countdown",d),this.$el.on("stoped.countdown",d),this.$el.on("finish.countdown",d)):this.options=a.extend({},h,d)),this.setFinalDate(c),this.options.defer===!1&&this.start()};a.extend(j.prototype,{start:function(){null!==this.interval&&clearInterval(this.interval);var a=this;this.update(),this.interval=setInterval(function(){a.update.call(a)},this.options.precision)},stop:function(){clearInterval(this.interval),this.interval=null,this.dispatchEvent("stoped")},toggle:function(){this.interval?this.stop():this.start()},pause:function(){this.stop()},resume:function(){this.start()},remove:function(){this.stop.call(this),f[this.instanceNumber]=null,delete this.$el.data().countdownInstance},setFinalDate:function(a){this.finalDate=b(a)},update:function(){if(0===this.$el.closest("html").length)return void this.remove();var b,c=void 0!==a._data(this.el,"events"),d=new Date;b=this.finalDate.getTime()-d.getTime(),b=Math.ceil(b/1e3),b=!this.options.elapse&&b<0?0:Math.abs(b),this.totalSecsLeft!==b&&c&&(this.totalSecsLeft=b,this.elapsed=d>=this.finalDate,this.offset={seconds:this.totalSecsLeft%60,minutes:Math.floor(this.totalSecsLeft/60)%60,hours:Math.floor(this.totalSecsLeft/60/60)%24,days:Math.floor(this.totalSecsLeft/60/60/24)%7,daysToWeek:Math.floor(this.totalSecsLeft/60/60/24)%7,daysToMonth:Math.floor(this.totalSecsLeft/60/60/24%30.4368),weeks:Math.floor(this.totalSecsLeft/60/60/24/7),weeksToMonth:Math.floor(this.totalSecsLeft/60/60/24/7)%4,months:Math.floor(this.totalSecsLeft/60/60/24/30.4368),years:Math.abs(this.finalDate.getFullYear()-d.getFullYear()),totalDays:Math.floor(this.totalSecsLeft/60/60/24),totalHours:Math.floor(this.totalSecsLeft/60/60),totalMinutes:Math.floor(this.totalSecsLeft/60),totalSeconds:this.totalSecsLeft},this.options.elapse||0!==this.totalSecsLeft?this.dispatchEvent("update"):(this.stop(),this.dispatchEvent("finish")))},dispatchEvent:function(b){var c=a.Event(b+".countdown");c.finalDate=this.finalDate,c.elapsed=this.elapsed,c.offset=a.extend({},this.offset),c.strftime=d(this.offset),this.$el.trigger(c)}}),a.fn.countdown=function(){var b=Array.prototype.slice.call(arguments,0);return this.each(function(){var c=a(this).data("countdown-instance");if(void 0!==c){var d=f[c],e=b[0];j.prototype.hasOwnProperty(e)?d[e].apply(d,b.slice(1)):null===String(e).match(/^[$A-Z_][0-9A-Z_$]*$/i)?(d.setFinalDate.call(d,e),d.start()):a.error("Method %s does not exist on jQuery.countdown".replace(/\%s/gi,e))}else new j(this,b[0],b[1])})}});
|
||||
1
assets/vendors/jquery.matchHeight/jquery.matchHeight.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):t(jQuery)}(function(t){var e=-1,o=-1,a=function(t){return parseFloat(t)||0},n=function(e){var o=null,n=[];return t(e).each(function(){var e=t(this),i=e.offset().top-a(e.css("margin-top")),r=n.length>0?n[n.length-1]:null;null===r?n.push(e):Math.floor(Math.abs(o-i))<=1?n[n.length-1]=r.add(e):n.push(e),o=i}),n},i=function(e){var o={byRow:!0,property:"height",target:null,remove:!1};return"object"==typeof e?t.extend(o,e):("boolean"==typeof e?o.byRow=e:"remove"===e&&(o.remove=!0),o)},r=t.fn.matchHeight=function(e){var o=i(e);if(o.remove){var a=this;return this.css(o.property,""),t.each(r._groups,function(t,e){e.elements=e.elements.not(a)}),this}return this.length<=1&&!o.target?this:(r._groups.push({elements:this,options:o}),r._apply(this,o),this)};r.version="master",r._groups=[],r._throttle=80,r._maintainScroll=!1,r._beforeUpdate=null,r._afterUpdate=null,r._rows=n,r._parse=a,r._parseOptions=i,r._apply=function(e,o){var s=i(o),h=t(e),l=[h],c=t(window).scrollTop(),p=t("html").outerHeight(!0),u=h.parents().filter(":hidden");return u.each(function(){var e=t(this);e.data("style-cache",e.attr("style"))}),u.css("display","block"),s.byRow&&!s.target&&(h.each(function(){var e=t(this),o=e.css("display");"inline-block"!==o&&"flex"!==o&&"inline-flex"!==o&&(o="block"),e.data("style-cache",e.attr("style")),e.css({display:o,"padding-top":"0","padding-bottom":"0","margin-top":"0","margin-bottom":"0","border-top-width":"0","border-bottom-width":"0",height:"100px",overflow:"hidden"})}),l=n(h),h.each(function(){var e=t(this);e.attr("style",e.data("style-cache")||"")})),t.each(l,function(e,o){var n=t(o),i=0;if(s.target)i=s.target.outerHeight(!1);else{if(s.byRow&&n.length<=1)return void n.css(s.property,"");n.each(function(){var e=t(this),o=e.attr("style"),a=e.css("display");"inline-block"!==a&&"flex"!==a&&"inline-flex"!==a&&(a="block");var n={display:a};n[s.property]="",e.css(n),e.outerHeight(!1)>i&&(i=e.outerHeight(!1)),o?e.attr("style",o):e.css("display","")})}n.each(function(){var e=t(this),o=0;s.target&&e.is(s.target)||("border-box"!==e.css("box-sizing")&&(o+=a(e.css("border-top-width"))+a(e.css("border-bottom-width")),o+=a(e.css("padding-top"))+a(e.css("padding-bottom"))),e.css(s.property,i-o+"px"))})}),u.each(function(){var e=t(this);e.attr("style",e.data("style-cache")||null)}),r._maintainScroll&&t(window).scrollTop(c/p*t("html").outerHeight(!0)),this},r._applyDataApi=function(){var e={};t("[data-match-height], [data-mh]").each(function(){var o=t(this),a=o.attr("data-mh")||o.attr("data-match-height");e[a]=a in e?e[a].add(o):o}),t.each(e,function(){this.matchHeight(!0)})};var s=function(e){r._beforeUpdate&&r._beforeUpdate(e,r._groups),t.each(r._groups,function(){r._apply(this.elements,this.options)}),r._afterUpdate&&r._afterUpdate(e,r._groups)};r._update=function(a,n){if(n&&"resize"===n.type){var i=t(window).width();if(i===e)return;e=i}a?-1===o&&(o=setTimeout(function(){s(n),o=-1},r._throttle)):s(n)},t(r._applyDataApi);var h=t.fn.on?"on":"bind";t(window)[h]("load",function(t){r._update(!1,t)}),t(window)[h]("resize orientationchange",function(t){r._update(!0,t)})});
|
||||
9
assets/vendors/jquery.mb.ytplayer/jquery.mb.YTPlayer.min.js
vendored
Normal file
7
assets/vendors/jquery.waypoints/jquery.waypoints.min.js
vendored
Normal file
4
assets/vendors/magnific-popup/jquery.magnific-popup.min.js
vendored
Normal file
1
assets/vendors/magnific-popup/magnific-popup.min.css
vendored
Normal file
2499
assets/vendors/masonry-layout/masonry.pkgd.js
vendored
Normal file
1
assets/vendors/menu/menu.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
$.fn.dropdownMenu=function(n){return $(this).each(function(){var e=$(this),s={menuClass:"dropdown-menu-list",breakpoint:1e3,toggleClass:"active",classButtonToggle:"toggle-menu",subMenu:{class:"sub-menu",parentClass:"menu-item-has-children",toggleClass:"active"}},o=$.extend({},s,n);e.on("dropdownMenu",function(){$("."+o.classButtonToggle,e).on("click",function(n){n.stopPropagation(),$("."+o.menuClass,e).toggleClass(o.toggleClass)}),$("."+o.subMenu.parentClass,e).on("click","> a",function(n){n.preventDefault();var e=$(this);e.next("."+o.subMenu.class).slideToggle(400),e.parent().toggleClass(o.subMenu.toggleClass)}),$(document).on("click",function(){$("."+o.menuClass,e).removeClass(o.toggleClass),$("."+o.subMenu.parentClass,e).removeClass(o.subMenu.toggleClass),$("."+o.subMenu.class,e).hide()}),$("."+o.menuClass).on("click",function(n){n.stopPropagation()})}),window.innerWidth<=o.breakpoint&&e.trigger("dropdownMenu"),$(window).resize(function(){window.innerWidth<=o.breakpoint?e.trigger("dropdownMenu"):($("."+o.classButtonToggle,e).off("click"),$("."+o.subMenu.parentClass,e).off("click","> a"),$("html, body").off("click"),$("."+o.menuClass).off("click"))})})};
|
||||
173
assets/vendors/owl.carousel/owl.carousel.css
vendored
Normal file
@@ -0,0 +1,173 @@
|
||||
/**
|
||||
* Owl Carousel v2.2.0
|
||||
* Copyright 2013-2016 David Deutsch
|
||||
* Licensed under MIT (https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE)
|
||||
*/
|
||||
/*
|
||||
* Owl Carousel - Core
|
||||
*/
|
||||
.owl-carousel {
|
||||
display: none;
|
||||
width: 100%;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
/* position relative and z-index fix webkit rendering fonts issue */
|
||||
position: relative;
|
||||
z-index: 1; }
|
||||
.owl-carousel .owl-stage {
|
||||
position: relative;
|
||||
-ms-touch-action: pan-Y; }
|
||||
.owl-carousel .owl-stage:after {
|
||||
content: ".";
|
||||
display: block;
|
||||
clear: both;
|
||||
visibility: hidden;
|
||||
line-height: 0;
|
||||
height: 0; }
|
||||
.owl-carousel .owl-stage-outer {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
/* fix for flashing background */
|
||||
-webkit-transform: translate3d(0px, 0px, 0px); }
|
||||
.owl-carousel .owl-item {
|
||||
position: relative;
|
||||
min-height: 1px;
|
||||
float: left;
|
||||
-webkit-backface-visibility: hidden;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
-webkit-touch-callout: none; }
|
||||
.owl-carousel .owl-item img {
|
||||
display: block;
|
||||
width: 100%;
|
||||
-webkit-transform-style: preserve-3d; }
|
||||
.owl-carousel .owl-nav.disabled,
|
||||
.owl-carousel .owl-dots.disabled {
|
||||
display: none; }
|
||||
.owl-carousel .owl-nav .owl-prev,
|
||||
.owl-carousel .owl-nav .owl-next,
|
||||
.owl-carousel .owl-dot {
|
||||
cursor: pointer;
|
||||
cursor: hand;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none; }
|
||||
.owl-carousel.owl-loaded {
|
||||
display: block; }
|
||||
.owl-carousel.owl-loading {
|
||||
opacity: 0;
|
||||
display: block; }
|
||||
.owl-carousel.owl-hidden {
|
||||
opacity: 0; }
|
||||
.owl-carousel.owl-refresh .owl-item {
|
||||
visibility: hidden; }
|
||||
.owl-carousel.owl-drag .owl-item {
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none; }
|
||||
.owl-carousel.owl-grab {
|
||||
cursor: move;
|
||||
cursor: grab; }
|
||||
.owl-carousel.owl-rtl {
|
||||
direction: rtl; }
|
||||
.owl-carousel.owl-rtl .owl-item {
|
||||
float: right; }
|
||||
|
||||
/* No Js */
|
||||
.no-js .owl-carousel {
|
||||
display: block; }
|
||||
|
||||
/*
|
||||
* Owl Carousel - Animate Plugin
|
||||
*/
|
||||
.owl-carousel .animated {
|
||||
-webkit-animation-duration: 1000ms;
|
||||
animation-duration: 1000ms;
|
||||
-webkit-animation-fill-mode: both;
|
||||
animation-fill-mode: both; }
|
||||
|
||||
.owl-carousel .owl-animated-in {
|
||||
z-index: 0; }
|
||||
|
||||
.owl-carousel .owl-animated-out {
|
||||
z-index: 1; }
|
||||
|
||||
.owl-carousel .fadeOut {
|
||||
-webkit-animation-name: fadeOut;
|
||||
animation-name: fadeOut; }
|
||||
|
||||
@-webkit-keyframes fadeOut {
|
||||
0% {
|
||||
opacity: 1; }
|
||||
100% {
|
||||
opacity: 0; } }
|
||||
|
||||
@keyframes fadeOut {
|
||||
0% {
|
||||
opacity: 1; }
|
||||
100% {
|
||||
opacity: 0; } }
|
||||
|
||||
/*
|
||||
* Owl Carousel - Auto Height Plugin
|
||||
*/
|
||||
.owl-height {
|
||||
transition: height 500ms ease-in-out; }
|
||||
|
||||
/*
|
||||
* Owl Carousel - Lazy Load Plugin
|
||||
*/
|
||||
.owl-carousel .owl-item .owl-lazy {
|
||||
opacity: 0;
|
||||
transition: opacity 400ms ease; }
|
||||
|
||||
.owl-carousel .owl-item img.owl-lazy {
|
||||
-webkit-transform-style: preserve-3d;
|
||||
transform-style: preserve-3d; }
|
||||
|
||||
/*
|
||||
* Owl Carousel - Video Plugin
|
||||
*/
|
||||
.owl-carousel .owl-video-wrapper {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
background: #000; }
|
||||
|
||||
.owl-carousel .owl-video-play-icon {
|
||||
position: absolute;
|
||||
height: 80px;
|
||||
width: 80px;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
margin-left: -40px;
|
||||
margin-top: -40px;
|
||||
background: url("owl.video.play.png") no-repeat;
|
||||
cursor: pointer;
|
||||
z-index: 1;
|
||||
-webkit-backface-visibility: hidden;
|
||||
transition: -webkit-transform 100ms ease;
|
||||
transition: transform 100ms ease; }
|
||||
|
||||
.owl-carousel .owl-video-play-icon:hover {
|
||||
-webkit-transform: scale(1.3, 1.3);
|
||||
-ms-transform: scale(1.3, 1.3);
|
||||
transform: scale(1.3, 1.3); }
|
||||
|
||||
.owl-carousel .owl-video-playing .owl-video-tn,
|
||||
.owl-carousel .owl-video-playing .owl-video-play-icon {
|
||||
display: none; }
|
||||
|
||||
.owl-carousel .owl-video-tn {
|
||||
opacity: 0;
|
||||
height: 100%;
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
transition: opacity 400ms ease; }
|
||||
|
||||
.owl-carousel .owl-video-frame {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
height: 100%;
|
||||
width: 100%; }
|
||||
3273
assets/vendors/owl.carousel/owl.carousel.js
vendored
Normal file
BIN
assets/vendors/owl.carousel/owl.video.play.png
vendored
Normal file
|
After Width: | Height: | Size: 4.9 KiB |