').addClass(settings.dotsClass).appendTo(this.$element)).addClass('disabled');
+
+ this._controls.$absolute.on('click', 'div', $.proxy(function(e) {
+ var index = $(e.target).parent().is(this._controls.$absolute)
+ ? $(e.target).index() : $(e.target).parent().index();
+
+ e.preventDefault();
+
+ this.to(index, settings.dotsSpeed);
+ }, this));
+
+ // override public methods of the carousel
+ for (override in this._overrides) {
+ this._core[override] = $.proxy(this[override], this);
+ }
+ };
+
+ /**
+ * Destroys the plugin.
+ * @protected
+ */
+ Navigation.prototype.destroy = function() {
+ var handler, control, property, override;
+
+ for (handler in this._handlers) {
+ this.$element.off(handler, this._handlers[handler]);
+ }
+ for (control in this._controls) {
+ this._controls[control].remove();
+ }
+ for (override in this.overides) {
+ this._core[override] = this._overrides[override];
+ }
+ for (property in Object.getOwnPropertyNames(this)) {
+ typeof this[property] != 'function' && (this[property] = null);
+ }
+ };
+
+ /**
+ * Updates the internal state.
+ * @protected
+ */
+ Navigation.prototype.update = function() {
+ var i, j, k,
+ lower = this._core.clones().length / 2,
+ upper = lower + this._core.items().length,
+ maximum = this._core.maximum(true),
+ settings = this._core.settings,
+ size = settings.center || settings.autoWidth || settings.dotsData
+ ? 1 : settings.dotsEach || settings.items;
+
+ if (settings.slideBy !== 'page') {
+ settings.slideBy = Math.min(settings.slideBy, settings.items);
+ }
+
+ if (settings.dots || settings.slideBy == 'page') {
+ this._pages = [];
+
+ for (i = lower, j = 0, k = 0; i < upper; i++) {
+ if (j >= size || j === 0) {
+ this._pages.push({
+ start: Math.min(maximum, i - lower),
+ end: i - lower + size - 1
+ });
+ if (Math.min(maximum, i - lower) === maximum) {
+ break;
+ }
+ j = 0, ++k;
+ }
+ j += this._core.mergers(this._core.relative(i));
+ }
+ }
+ };
+
+ /**
+ * Draws the user interface.
+ * @todo The option `dotsData` wont work.
+ * @protected
+ */
+ Navigation.prototype.draw = function() {
+ var difference,
+ settings = this._core.settings,
+ disabled = this._core.items().length <= settings.items,
+ index = this._core.relative(this._core.current()),
+ loop = settings.loop || settings.rewind;
+
+ this._controls.$relative.toggleClass('disabled', !settings.nav || disabled);
+
+ if (settings.nav) {
+ this._controls.$previous.toggleClass('disabled', !loop && index <= this._core.minimum(true));
+ this._controls.$next.toggleClass('disabled', !loop && index >= this._core.maximum(true));
+ }
+
+ this._controls.$absolute.toggleClass('disabled', !settings.dots || disabled);
+
+ if (settings.dots) {
+ difference = this._pages.length - this._controls.$absolute.children().length;
+
+ if (settings.dotsData && difference !== 0) {
+ this._controls.$absolute.html(this._templates.join(''));
+ } else if (difference > 0) {
+ this._controls.$absolute.append(new Array(difference + 1).join(this._templates[0]));
+ } else if (difference < 0) {
+ this._controls.$absolute.children().slice(difference).remove();
+ }
+
+ this._controls.$absolute.find('.active').removeClass('active');
+ this._controls.$absolute.children().eq($.inArray(this.current(), this._pages)).addClass('active');
+ }
+ };
+
+ /**
+ * Extends event data.
+ * @protected
+ * @param {Event} event - The event object which gets thrown.
+ */
+ Navigation.prototype.onTrigger = function(event) {
+ var settings = this._core.settings;
+
+ event.page = {
+ index: $.inArray(this.current(), this._pages),
+ count: this._pages.length,
+ size: settings && (settings.center || settings.autoWidth || settings.dotsData
+ ? 1 : settings.dotsEach || settings.items)
+ };
+ };
+
+ /**
+ * Gets the current page position of the carousel.
+ * @protected
+ * @returns {Number}
+ */
+ Navigation.prototype.current = function() {
+ var current = this._core.relative(this._core.current());
+ return $.grep(this._pages, $.proxy(function(page, index) {
+ return page.start <= current && page.end >= current;
+ }, this)).pop();
+ };
+
+ /**
+ * Gets the current succesor/predecessor position.
+ * @protected
+ * @returns {Number}
+ */
+ Navigation.prototype.getPosition = function(successor) {
+ var position, length,
+ settings = this._core.settings;
+
+ if (settings.slideBy == 'page') {
+ position = $.inArray(this.current(), this._pages);
+ length = this._pages.length;
+ successor ? ++position : --position;
+ position = this._pages[((position % length) + length) % length].start;
+ } else {
+ position = this._core.relative(this._core.current());
+ length = this._core.items().length;
+ successor ? position += settings.slideBy : position -= settings.slideBy;
+ }
+
+ return position;
+ };
+
+ /**
+ * Slides to the next item or page.
+ * @public
+ * @param {Number} [speed=false] - The time in milliseconds for the transition.
+ */
+ Navigation.prototype.next = function(speed) {
+ $.proxy(this._overrides.to, this._core)(this.getPosition(true), speed);
+ };
+
+ /**
+ * Slides to the previous item or page.
+ * @public
+ * @param {Number} [speed=false] - The time in milliseconds for the transition.
+ */
+ Navigation.prototype.prev = function(speed) {
+ $.proxy(this._overrides.to, this._core)(this.getPosition(false), speed);
+ };
+
+ /**
+ * Slides to the specified item or page.
+ * @public
+ * @param {Number} position - The position of the item or page.
+ * @param {Number} [speed] - The time in milliseconds for the transition.
+ * @param {Boolean} [standard=false] - Whether to use the standard behaviour or not.
+ */
+ Navigation.prototype.to = function(position, speed, standard) {
+ var length;
+
+ if (!standard && this._pages.length) {
+ length = this._pages.length;
+ $.proxy(this._overrides.to, this._core)(this._pages[((position % length) + length) % length].start, speed);
+ } else {
+ $.proxy(this._overrides.to, this._core)(position, speed);
+ }
+ };
+
+ $.fn.owlCarousel.Constructor.Plugins.Navigation = Navigation;
+
+})(window.Zepto || window.jQuery, window, document);
+
+/**
+ * Hash Plugin
+ * @version 2.1.0
+ * @author Artus Kolanowski
+ * @author David Deutsch
+ * @license The MIT License (MIT)
+ */
+;(function($, window, document, undefined) {
+ 'use strict';
+
+ /**
+ * Creates the hash plugin.
+ * @class The Hash Plugin
+ * @param {Owl} carousel - The Owl Carousel
+ */
+ var Hash = function(carousel) {
+ /**
+ * Reference to the core.
+ * @protected
+ * @type {Owl}
+ */
+ this._core = carousel;
+
+ /**
+ * Hash index for the items.
+ * @protected
+ * @type {Object}
+ */
+ this._hashes = {};
+
+ /**
+ * The carousel element.
+ * @type {jQuery}
+ */
+ this.$element = this._core.$element;
+
+ /**
+ * All event handlers.
+ * @protected
+ * @type {Object}
+ */
+ this._handlers = {
+ 'initialized.owl.carousel': $.proxy(function(e) {
+ if (e.namespace && this._core.settings.startPosition === 'URLHash') {
+ $(window).trigger('hashchange.owl.navigation');
+ }
+ }, this),
+ 'prepared.owl.carousel': $.proxy(function(e) {
+ if (e.namespace) {
+ var hash = $(e.content).find('[data-hash]').addBack('[data-hash]').attr('data-hash');
+
+ if (!hash) {
+ return;
+ }
+
+ this._hashes[hash] = e.content;
+ }
+ }, this),
+ 'changed.owl.carousel': $.proxy(function(e) {
+ if (e.namespace && e.property.name === 'position') {
+ var current = this._core.items(this._core.relative(this._core.current())),
+ hash = $.map(this._hashes, function(item, hash) {
+ return item === current ? hash : null;
+ }).join();
+
+ if (!hash || window.location.hash.slice(1) === hash) {
+ return;
+ }
+
+ window.location.hash = hash;
+ }
+ }, this)
+ };
+
+ // set default options
+ this._core.options = $.extend({}, Hash.Defaults, this._core.options);
+
+ // register the event handlers
+ this.$element.on(this._handlers);
+
+ // register event listener for hash navigation
+ $(window).on('hashchange.owl.navigation', $.proxy(function(e) {
+ var hash = window.location.hash.substring(1),
+ items = this._core.$stage.children(),
+ position = this._hashes[hash] && items.index(this._hashes[hash]);
+
+ if (position === undefined || position === this._core.current()) {
+ return;
+ }
+
+ this._core.to(this._core.relative(position), false, true);
+ }, this));
+ };
+
+ /**
+ * Default options.
+ * @public
+ */
+ Hash.Defaults = {
+ URLhashListener: false
+ };
+
+ /**
+ * Destroys the plugin.
+ * @public
+ */
+ Hash.prototype.destroy = function() {
+ var handler, property;
+
+ $(window).off('hashchange.owl.navigation');
+
+ for (handler in this._handlers) {
+ this._core.$element.off(handler, this._handlers[handler]);
+ }
+ for (property in Object.getOwnPropertyNames(this)) {
+ typeof this[property] != 'function' && (this[property] = null);
+ }
+ };
+
+ $.fn.owlCarousel.Constructor.Plugins.Hash = Hash;
+
+})(window.Zepto || window.jQuery, window, document);
+
+/**
+ * Support Plugin
+ *
+ * @version 2.1.0
+ * @author Vivid Planet Software GmbH
+ * @author Artus Kolanowski
+ * @author David Deutsch
+ * @license The MIT License (MIT)
+ */
+;(function($, window, document, undefined) {
+
+ var style = $('
').get(0).style,
+ prefixes = 'Webkit Moz O ms'.split(' '),
+ events = {
+ transition: {
+ end: {
+ WebkitTransition: 'webkitTransitionEnd',
+ MozTransition: 'transitionend',
+ OTransition: 'oTransitionEnd',
+ transition: 'transitionend'
+ }
+ },
+ animation: {
+ end: {
+ WebkitAnimation: 'webkitAnimationEnd',
+ MozAnimation: 'animationend',
+ OAnimation: 'oAnimationEnd',
+ animation: 'animationend'
+ }
+ }
+ },
+ tests = {
+ csstransforms: function() {
+ return !!test('transform');
+ },
+ csstransforms3d: function() {
+ return !!test('perspective');
+ },
+ csstransitions: function() {
+ return !!test('transition');
+ },
+ cssanimations: function() {
+ return !!test('animation');
+ }
+ };
+
+ function test(property, prefixed) {
+ var result = false,
+ upper = property.charAt(0).toUpperCase() + property.slice(1);
+
+ $.each((property + ' ' + prefixes.join(upper + ' ') + upper).split(' '), function(i, property) {
+ if (style[property] !== undefined) {
+ result = prefixed ? property : true;
+ return false;
+ }
+ });
+
+ return result;
+ }
+
+ function prefixed(property) {
+ return test(property, true);
+ }
+
+ if (tests.csstransitions()) {
+ /* jshint -W053 */
+ $.support.transition = new String(prefixed('transition'))
+ $.support.transition.end = events.transition.end[ $.support.transition ];
+ }
+
+ if (tests.cssanimations()) {
+ /* jshint -W053 */
+ $.support.animation = new String(prefixed('animation'))
+ $.support.animation.end = events.animation.end[ $.support.animation ];
+ }
+
+ if (tests.csstransforms()) {
+ /* jshint -W053 */
+ $.support.transform = new String(prefixed('transform'));
+ $.support.transform3d = tests.csstransforms3d();
+ }
+
+})(window.Zepto || window.jQuery, window, document);
diff --git a/task_webDev/Ananya_Mohapatra_2102070007/lib/owlcarousel/owl.carousel.min.js b/task_webDev/Ananya_Mohapatra_2102070007/lib/owlcarousel/owl.carousel.min.js
new file mode 100644
index 0000000..9b9566f
--- /dev/null
+++ b/task_webDev/Ananya_Mohapatra_2102070007/lib/owlcarousel/owl.carousel.min.js
@@ -0,0 +1,7 @@
+/**
+ * Owl Carousel v2.2.1
+ * Copyright 2013-2017 David Deutsch
+ * Licensed under ()
+ */
+!function(a,b,c,d){function e(b,c){this.settings=null,this.options=a.extend({},e.Defaults,c),this.$element=a(b),this._handlers={},this._plugins={},this._supress={},this._current=null,this._speed=null,this._coordinates=[],this._breakpoint=null,this._width=null,this._items=[],this._clones=[],this._mergers=[],this._widths=[],this._invalidated={},this._pipe=[],this._drag={time:null,target:null,pointer:null,stage:{start:null,current:null},direction:null},this._states={current:{},tags:{initializing:["busy"],animating:["busy"],dragging:["interacting"]}},a.each(["onResize","onThrottledResize"],a.proxy(function(b,c){this._handlers[c]=a.proxy(this[c],this)},this)),a.each(e.Plugins,a.proxy(function(a,b){this._plugins[a.charAt(0).toLowerCase()+a.slice(1)]=new b(this)},this)),a.each(e.Workers,a.proxy(function(b,c){this._pipe.push({filter:c.filter,run:a.proxy(c.run,this)})},this)),this.setup(),this.initialize()}e.Defaults={items:3,loop:!1,center:!1,rewind:!1,mouseDrag:!0,touchDrag:!0,pullDrag:!0,freeDrag:!1,margin:0,stagePadding:0,merge:!1,mergeFit:!0,autoWidth:!1,startPosition:0,rtl:!1,smartSpeed:250,fluidSpeed:!1,dragEndSpeed:!1,responsive:{},responsiveRefreshRate:200,responsiveBaseElement:b,fallbackEasing:"swing",info:!1,nestedItemSelector:!1,itemElement:"div",stageElement:"div",refreshClass:"owl-refresh",loadedClass:"owl-loaded",loadingClass:"owl-loading",rtlClass:"owl-rtl",responsiveClass:"owl-responsive",dragClass:"owl-drag",itemClass:"owl-item",stageClass:"owl-stage",stageOuterClass:"owl-stage-outer",grabClass:"owl-grab"},e.Width={Default:"default",Inner:"inner",Outer:"outer"},e.Type={Event:"event",State:"state"},e.Plugins={},e.Workers=[{filter:["width","settings"],run:function(){this._width=this.$element.width()}},{filter:["width","items","settings"],run:function(a){a.current=this._items&&this._items[this.relative(this._current)]}},{filter:["items","settings"],run:function(){this.$stage.children(".cloned").remove()}},{filter:["width","items","settings"],run:function(a){var b=this.settings.margin||"",c=!this.settings.autoWidth,d=this.settings.rtl,e={width:"auto","margin-left":d?b:"","margin-right":d?"":b};!c&&this.$stage.children().css(e),a.css=e}},{filter:["width","items","settings"],run:function(a){var b=(this.width()/this.settings.items).toFixed(3)-this.settings.margin,c=null,d=this._items.length,e=!this.settings.autoWidth,f=[];for(a.items={merge:!1,width:b};d--;)c=this._mergers[d],c=this.settings.mergeFit&&Math.min(c,this.settings.items)||c,a.items.merge=c>1||a.items.merge,f[d]=e?b*c:this._items[d].width();this._widths=f}},{filter:["items","settings"],run:function(){var b=[],c=this._items,d=this.settings,e=Math.max(2*d.items,4),f=2*Math.ceil(c.length/2),g=d.loop&&c.length?d.rewind?e:Math.max(e,f):0,h="",i="";for(g/=2;g--;)b.push(this.normalize(b.length/2,!0)),h+=c[b[b.length-1]][0].outerHTML,b.push(this.normalize(c.length-1-(b.length-1)/2,!0)),i=c[b[b.length-1]][0].outerHTML+i;this._clones=b,a(h).addClass("cloned").appendTo(this.$stage),a(i).addClass("cloned").prependTo(this.$stage)}},{filter:["width","items","settings"],run:function(){for(var a=this.settings.rtl?1:-1,b=this._clones.length+this._items.length,c=-1,d=0,e=0,f=[];++c",h)||this.op(b,"<",g)&&this.op(b,">",h))&&i.push(c);this.$stage.children(".active").removeClass("active"),this.$stage.children(":eq("+i.join("), :eq(")+")").addClass("active"),this.settings.center&&(this.$stage.children(".center").removeClass("center"),this.$stage.children().eq(this.current()).addClass("center"))}}],e.prototype.initialize=function(){if(this.enter("initializing"),this.trigger("initialize"),this.$element.toggleClass(this.settings.rtlClass,this.settings.rtl),this.settings.autoWidth&&!this.is("pre-loading")){var b,c,e;b=this.$element.find("img"),c=this.settings.nestedItemSelector?"."+this.settings.nestedItemSelector:d,e=this.$element.children(c).width(),b.length&&e<=0&&this.preloadAutoWidthImages(b)}this.$element.addClass(this.options.loadingClass),this.$stage=a("<"+this.settings.stageElement+' class="'+this.settings.stageClass+'"/>').wrap('
'),this.$element.append(this.$stage.parent()),this.replace(this.$element.children().not(this.$stage.parent())),this.$element.is(":visible")?this.refresh():this.invalidate("width"),this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass),this.registerEventHandlers(),this.leave("initializing"),this.trigger("initialized")},e.prototype.setup=function(){var b=this.viewport(),c=this.options.responsive,d=-1,e=null;c?(a.each(c,function(a){a<=b&&a>d&&(d=Number(a))}),e=a.extend({},this.options,c[d]),"function"==typeof e.stagePadding&&(e.stagePadding=e.stagePadding()),delete e.responsive,e.responsiveClass&&this.$element.attr("class",this.$element.attr("class").replace(new RegExp("("+this.options.responsiveClass+"-)\\S+\\s","g"),"$1"+d))):e=a.extend({},this.options),this.trigger("change",{property:{name:"settings",value:e}}),this._breakpoint=d,this.settings=e,this.invalidate("settings"),this.trigger("changed",{property:{name:"settings",value:this.settings}})},e.prototype.optionsLogic=function(){this.settings.autoWidth&&(this.settings.stagePadding=!1,this.settings.merge=!1)},e.prototype.prepare=function(b){var c=this.trigger("prepare",{content:b});return c.data||(c.data=a("<"+this.settings.itemElement+"/>").addClass(this.options.itemClass).append(b)),this.trigger("prepared",{content:c.data}),c.data},e.prototype.update=function(){for(var b=0,c=this._pipe.length,d=a.proxy(function(a){return this[a]},this._invalidated),e={};b0)&&this._pipe[b].run(e),b++;this._invalidated={},!this.is("valid")&&this.enter("valid")},e.prototype.width=function(a){switch(a=a||e.Width.Default){case e.Width.Inner:case e.Width.Outer:return this._width;default:return this._width-2*this.settings.stagePadding+this.settings.margin}},e.prototype.refresh=function(){this.enter("refreshing"),this.trigger("refresh"),this.setup(),this.optionsLogic(),this.$element.addClass(this.options.refreshClass),this.update(),this.$element.removeClass(this.options.refreshClass),this.leave("refreshing"),this.trigger("refreshed")},e.prototype.onThrottledResize=function(){b.clearTimeout(this.resizeTimer),this.resizeTimer=b.setTimeout(this._handlers.onResize,this.settings.responsiveRefreshRate)},e.prototype.onResize=function(){return!!this._items.length&&(this._width!==this.$element.width()&&(!!this.$element.is(":visible")&&(this.enter("resizing"),this.trigger("resize").isDefaultPrevented()?(this.leave("resizing"),!1):(this.invalidate("width"),this.refresh(),this.leave("resizing"),void this.trigger("resized")))))},e.prototype.registerEventHandlers=function(){a.support.transition&&this.$stage.on(a.support.transition.end+".owl.core",a.proxy(this.onTransitionEnd,this)),this.settings.responsive!==!1&&this.on(b,"resize",this._handlers.onThrottledResize),this.settings.mouseDrag&&(this.$element.addClass(this.options.dragClass),this.$stage.on("mousedown.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("dragstart.owl.core selectstart.owl.core",function(){return!1})),this.settings.touchDrag&&(this.$stage.on("touchstart.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("touchcancel.owl.core",a.proxy(this.onDragEnd,this)))},e.prototype.onDragStart=function(b){var d=null;3!==b.which&&(a.support.transform?(d=this.$stage.css("transform").replace(/.*\(|\)| /g,"").split(","),d={x:d[16===d.length?12:4],y:d[16===d.length?13:5]}):(d=this.$stage.position(),d={x:this.settings.rtl?d.left+this.$stage.width()-this.width()+this.settings.margin:d.left,y:d.top}),this.is("animating")&&(a.support.transform?this.animate(d.x):this.$stage.stop(),this.invalidate("position")),this.$element.toggleClass(this.options.grabClass,"mousedown"===b.type),this.speed(0),this._drag.time=(new Date).getTime(),this._drag.target=a(b.target),this._drag.stage.start=d,this._drag.stage.current=d,this._drag.pointer=this.pointer(b),a(c).on("mouseup.owl.core touchend.owl.core",a.proxy(this.onDragEnd,this)),a(c).one("mousemove.owl.core touchmove.owl.core",a.proxy(function(b){var d=this.difference(this._drag.pointer,this.pointer(b));a(c).on("mousemove.owl.core touchmove.owl.core",a.proxy(this.onDragMove,this)),Math.abs(d.x)0^this.settings.rtl?"left":"right";a(c).off(".owl.core"),this.$element.removeClass(this.options.grabClass),(0!==d.x&&this.is("dragging")||!this.is("valid"))&&(this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed),this.current(this.closest(e.x,0!==d.x?f:this._drag.direction)),this.invalidate("position"),this.update(),this._drag.direction=f,(Math.abs(d.x)>3||(new Date).getTime()-this._drag.time>300)&&this._drag.target.one("click.owl.core",function(){return!1})),this.is("dragging")&&(this.leave("dragging"),this.trigger("dragged"))},e.prototype.closest=function(b,c){var d=-1,e=30,f=this.width(),g=this.coordinates();return this.settings.freeDrag||a.each(g,a.proxy(function(a,h){return"left"===c&&b>h-e&&bh-f-e&&b",g[a+1]||h-f)&&(d="left"===c?a+1:a),d===-1},this)),this.settings.loop||(this.op(b,">",g[this.minimum()])?d=b=this.minimum():this.op(b,"<",g[this.maximum()])&&(d=b=this.maximum())),d},e.prototype.animate=function(b){var c=this.speed()>0;this.is("animating")&&this.onTransitionEnd(),c&&(this.enter("animating"),this.trigger("translate")),a.support.transform3d&&a.support.transition?this.$stage.css({transform:"translate3d("+b+"px,0px,0px)",transition:this.speed()/1e3+"s"}):c?this.$stage.animate({left:b+"px"},this.speed(),this.settings.fallbackEasing,a.proxy(this.onTransitionEnd,this)):this.$stage.css({left:b+"px"})},e.prototype.is=function(a){return this._states.current[a]&&this._states.current[a]>0},e.prototype.current=function(a){if(a===d)return this._current;if(0===this._items.length)return d;if(a=this.normalize(a),this._current!==a){var b=this.trigger("change",{property:{name:"position",value:a}});b.data!==d&&(a=this.normalize(b.data)),this._current=a,this.invalidate("position"),this.trigger("changed",{property:{name:"position",value:this._current}})}return this._current},e.prototype.invalidate=function(b){return"string"===a.type(b)&&(this._invalidated[b]=!0,this.is("valid")&&this.leave("valid")),a.map(this._invalidated,function(a,b){return b})},e.prototype.reset=function(a){a=this.normalize(a),a!==d&&(this._speed=0,this._current=a,this.suppress(["translate","translated"]),this.animate(this.coordinates(a)),this.release(["translate","translated"]))},e.prototype.normalize=function(a,b){var c=this._items.length,e=b?0:this._clones.length;return!this.isNumeric(a)||c<1?a=d:(a<0||a>=c+e)&&(a=((a-e/2)%c+c)%c+e/2),a},e.prototype.relative=function(a){return a-=this._clones.length/2,this.normalize(a,!0)},e.prototype.maximum=function(a){var b,c,d,e=this.settings,f=this._coordinates.length;if(e.loop)f=this._clones.length/2+this._items.length-1;else if(e.autoWidth||e.merge){for(b=this._items.length,c=this._items[--b].width(),d=this.$element.width();b--&&(c+=this._items[b].width()+this.settings.margin,!(c>d)););f=b+1}else f=e.center?this._items.length-1:this._items.length-e.items;return a&&(f-=this._clones.length/2),Math.max(f,0)},e.prototype.minimum=function(a){return a?0:this._clones.length/2},e.prototype.items=function(a){return a===d?this._items.slice():(a=this.normalize(a,!0),this._items[a])},e.prototype.mergers=function(a){return a===d?this._mergers.slice():(a=this.normalize(a,!0),this._mergers[a])},e.prototype.clones=function(b){var c=this._clones.length/2,e=c+this._items.length,f=function(a){return a%2===0?e+a/2:c-(a+1)/2};return b===d?a.map(this._clones,function(a,b){return f(b)}):a.map(this._clones,function(a,c){return a===b?f(c):null})},e.prototype.speed=function(a){return a!==d&&(this._speed=a),this._speed},e.prototype.coordinates=function(b){var c,e=1,f=b-1;return b===d?a.map(this._coordinates,a.proxy(function(a,b){return this.coordinates(b)},this)):(this.settings.center?(this.settings.rtl&&(e=-1,f=b+1),c=this._coordinates[b],c+=(this.width()-c+(this._coordinates[f]||0))/2*e):c=this._coordinates[f]||0,c=Math.ceil(c))},e.prototype.duration=function(a,b,c){return 0===c?0:Math.min(Math.max(Math.abs(b-a),1),6)*Math.abs(c||this.settings.smartSpeed)},e.prototype.to=function(a,b){var c=this.current(),d=null,e=a-this.relative(c),f=(e>0)-(e<0),g=this._items.length,h=this.minimum(),i=this.maximum();this.settings.loop?(!this.settings.rewind&&Math.abs(e)>g/2&&(e+=f*-1*g),a=c+e,d=((a-h)%g+g)%g+h,d!==a&&d-e<=i&&d-e>0&&(c=d-e,a=d,this.reset(c))):this.settings.rewind?(i+=1,a=(a%i+i)%i):a=Math.max(h,Math.min(i,a)),this.speed(this.duration(c,a,b)),this.current(a),this.$element.is(":visible")&&this.update()},e.prototype.next=function(a){a=a||!1,this.to(this.relative(this.current())+1,a)},e.prototype.prev=function(a){a=a||!1,this.to(this.relative(this.current())-1,a)},e.prototype.onTransitionEnd=function(a){if(a!==d&&(a.stopPropagation(),(a.target||a.srcElement||a.originalTarget)!==this.$stage.get(0)))return!1;this.leave("animating"),this.trigger("translated")},e.prototype.viewport=function(){var d;return this.options.responsiveBaseElement!==b?d=a(this.options.responsiveBaseElement).width():b.innerWidth?d=b.innerWidth:c.documentElement&&c.documentElement.clientWidth?d=c.documentElement.clientWidth:console.warn("Can not detect viewport width."),d},e.prototype.replace=function(b){this.$stage.empty(),this._items=[],b&&(b=b instanceof jQuery?b:a(b)),this.settings.nestedItemSelector&&(b=b.find("."+this.settings.nestedItemSelector)),b.filter(function(){return 1===this.nodeType}).each(a.proxy(function(a,b){b=this.prepare(b),this.$stage.append(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)},this)),this.reset(this.isNumeric(this.settings.startPosition)?this.settings.startPosition:0),this.invalidate("items")},e.prototype.add=function(b,c){var e=this.relative(this._current);c=c===d?this._items.length:this.normalize(c,!0),b=b instanceof jQuery?b:a(b),this.trigger("add",{content:b,position:c}),b=this.prepare(b),0===this._items.length||c===this._items.length?(0===this._items.length&&this.$stage.append(b),0!==this._items.length&&this._items[c-1].after(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)):(this._items[c].before(b),this._items.splice(c,0,b),this._mergers.splice(c,0,1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)),this._items[e]&&this.reset(this._items[e].index()),this.invalidate("items"),this.trigger("added",{content:b,position:c})},e.prototype.remove=function(a){a=this.normalize(a,!0),a!==d&&(this.trigger("remove",{content:this._items[a],position:a}),this._items[a].remove(),this._items.splice(a,1),this._mergers.splice(a,1),this.invalidate("items"),this.trigger("removed",{content:null,position:a}))},e.prototype.preloadAutoWidthImages=function(b){b.each(a.proxy(function(b,c){this.enter("pre-loading"),c=a(c),a(new Image).one("load",a.proxy(function(a){c.attr("src",a.target.src),c.css("opacity",1),this.leave("pre-loading"),!this.is("pre-loading")&&!this.is("initializing")&&this.refresh()},this)).attr("src",c.attr("src")||c.attr("data-src")||c.attr("data-src-retina"))},this))},e.prototype.destroy=function(){this.$element.off(".owl.core"),this.$stage.off(".owl.core"),a(c).off(".owl.core"),this.settings.responsive!==!1&&(b.clearTimeout(this.resizeTimer),this.off(b,"resize",this._handlers.onThrottledResize));for(var d in this._plugins)this._plugins[d].destroy();this.$stage.children(".cloned").remove(),this.$stage.unwrap(),this.$stage.children().contents().unwrap(),this.$stage.children().unwrap(),this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr("class",this.$element.attr("class").replace(new RegExp(this.options.responsiveClass+"-\\S+\\s","g"),"")).removeData("owl.carousel")},e.prototype.op=function(a,b,c){var d=this.settings.rtl;switch(b){case"<":return d?a>c:a":return d?ac;case">=":return d?a<=c:a>=c;case"<=":return d?a>=c:a<=c}},e.prototype.on=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d):a.attachEvent&&a.attachEvent("on"+b,c)},e.prototype.off=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,d):a.detachEvent&&a.detachEvent("on"+b,c)},e.prototype.trigger=function(b,c,d,f,g){var h={item:{count:this._items.length,index:this.current()}},i=a.camelCase(a.grep(["on",b,d],function(a){return a}).join("-").toLowerCase()),j=a.Event([b,"owl",d||"carousel"].join(".").toLowerCase(),a.extend({relatedTarget:this},h,c));return this._supress[b]||(a.each(this._plugins,function(a,b){b.onTrigger&&b.onTrigger(j)}),this.register({type:e.Type.Event,name:b}),this.$element.trigger(j),this.settings&&"function"==typeof this.settings[i]&&this.settings[i].call(this,j)),j},e.prototype.enter=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]===d&&(this._states.current[b]=0),this._states.current[b]++},this))},e.prototype.leave=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]--},this))},e.prototype.register=function(b){if(b.type===e.Type.Event){if(a.event.special[b.name]||(a.event.special[b.name]={}),!a.event.special[b.name].owl){var c=a.event.special[b.name]._default;a.event.special[b.name]._default=function(a){return!c||!c.apply||a.namespace&&a.namespace.indexOf("owl")!==-1?a.namespace&&a.namespace.indexOf("owl")>-1:c.apply(this,arguments)},a.event.special[b.name].owl=!0}}else b.type===e.Type.State&&(this._states.tags[b.name]?this._states.tags[b.name]=this._states.tags[b.name].concat(b.tags):this._states.tags[b.name]=b.tags,this._states.tags[b.name]=a.grep(this._states.tags[b.name],a.proxy(function(c,d){return a.inArray(c,this._states.tags[b.name])===d},this)))},e.prototype.suppress=function(b){a.each(b,a.proxy(function(a,b){this._supress[b]=!0},this))},e.prototype.release=function(b){a.each(b,a.proxy(function(a,b){delete this._supress[b]},this))},e.prototype.pointer=function(a){var c={x:null,y:null};return a=a.originalEvent||a||b.event,a=a.touches&&a.touches.length?a.touches[0]:a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:a,a.pageX?(c.x=a.pageX,c.y=a.pageY):(c.x=a.clientX,c.y=a.clientY),c},e.prototype.isNumeric=function(a){return!isNaN(parseFloat(a))},e.prototype.difference=function(a,b){return{x:a.x-b.x,y:a.y-b.y}},a.fn.owlCarousel=function(b){var c=Array.prototype.slice.call(arguments,1);return this.each(function(){var d=a(this),f=d.data("owl.carousel");f||(f=new e(this,"object"==typeof b&&b),d.data("owl.carousel",f),a.each(["next","prev","to","destroy","refresh","replace","add","remove"],function(b,c){f.register({type:e.Type.Event,name:c}),f.$element.on(c+".owl.carousel.core",a.proxy(function(a){a.namespace&&a.relatedTarget!==this&&(this.suppress([c]),f[c].apply(this,[].slice.call(arguments,1)),this.release([c]))},f))})),"string"==typeof b&&"_"!==b.charAt(0)&&f[b].apply(f,c)})},a.fn.owlCarousel.Constructor=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._interval=null,this._visible=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoRefresh&&this.watch()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoRefresh:!0,autoRefreshInterval:500},e.prototype.watch=function(){this._interval||(this._visible=this._core.$element.is(":visible"),this._interval=b.setInterval(a.proxy(this.refresh,this),this._core.settings.autoRefreshInterval))},e.prototype.refresh=function(){this._core.$element.is(":visible")!==this._visible&&(this._visible=!this._visible,this._core.$element.toggleClass("owl-hidden",!this._visible),this._visible&&this._core.invalidate("width")&&this._core.refresh())},e.prototype.destroy=function(){var a,c;b.clearInterval(this._interval);for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoRefresh=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._loaded=[],this._handlers={"initialized.owl.carousel change.owl.carousel resized.owl.carousel":a.proxy(function(b){if(b.namespace&&this._core.settings&&this._core.settings.lazyLoad&&(b.property&&"position"==b.property.name||"initialized"==b.type))for(var c=this._core.settings,e=c.center&&Math.ceil(c.items/2)||c.items,f=c.center&&e*-1||0,g=(b.property&&b.property.value!==d?b.property.value:this._core.current())+f,h=this._core.clones().length,i=a.proxy(function(a,b){this.load(b)},this);f++-1||(e.each(a.proxy(function(c,d){var e,f=a(d),g=b.devicePixelRatio>1&&f.attr("data-src-retina")||f.attr("data-src");this._core.trigger("load",{element:f,url:g},"lazy"),f.is("img")?f.one("load.owl.lazy",a.proxy(function(){f.css("opacity",1),this._core.trigger("loaded",{element:f,url:g},"lazy")},this)).attr("src",g):(e=new Image,e.onload=a.proxy(function(){f.css({"background-image":'url("'+g+'")',opacity:"1"}),this._core.trigger("loaded",{element:f,url:g},"lazy")},this),e.src=g)},this)),this._loaded.push(d.get(0)))},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this._core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Lazy=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._handlers={"initialized.owl.carousel refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&this.update()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&"position"==a.property.name&&this.update()},this),"loaded.owl.lazy":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&a.element.closest("."+this._core.settings.itemClass).index()===this._core.current()&&this.update()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoHeight:!1,autoHeightClass:"owl-height"},e.prototype.update=function(){var b=this._core._current,c=b+this._core.settings.items,d=this._core.$stage.children().toArray().slice(b,c),e=[],f=0;a.each(d,function(b,c){e.push(a(c).height())}),f=Math.max.apply(null,e),this._core.$stage.parent().height(f).addClass(this._core.settings.autoHeightClass)},e.prototype.destroy=function(){var a,b;for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoHeight=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._videos={},this._playing=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.register({type:"state",name:"playing",tags:["interacting"]})},this),"resize.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.video&&this.isInFullScreen()&&a.preventDefault()},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.is("resizing")&&this._core.$stage.find(".cloned .owl-video-frame").remove()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"===a.property.name&&this._playing&&this.stop()},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find(".owl-video");c.length&&(c.css("display","none"),this.fetch(c,a(b.content)))}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._core.$element.on("click.owl.video",".owl-video-play-icon",a.proxy(function(a){this.play(a)},this))};e.Defaults={video:!1,videoHeight:!1,videoWidth:!1},e.prototype.fetch=function(a,b){var c=function(){return a.attr("data-vimeo-id")?"vimeo":a.attr("data-vzaar-id")?"vzaar":"youtube"}(),d=a.attr("data-vimeo-id")||a.attr("data-youtube-id")||a.attr("data-vzaar-id"),e=a.attr("data-width")||this._core.settings.videoWidth,f=a.attr("data-height")||this._core.settings.videoHeight,g=a.attr("href");if(!g)throw new Error("Missing video URL.");if(d=g.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/),d[3].indexOf("youtu")>-1)c="youtube";else if(d[3].indexOf("vimeo")>-1)c="vimeo";else{if(!(d[3].indexOf("vzaar")>-1))throw new Error("Video URL not supported.");c="vzaar"}d=d[6],this._videos[g]={type:c,id:d,width:e,height:f},b.attr("data-video",g),this.thumbnail(a,this._videos[g])},e.prototype.thumbnail=function(b,c){var d,e,f,g=c.width&&c.height?'style="width:'+c.width+"px;height:"+c.height+'px;"':"",h=b.find("img"),i="src",j="",k=this._core.settings,l=function(a){e='
',d=k.lazyLoad?'
':'
',b.after(d),b.after(e)};if(b.wrap('
"),this._core.settings.lazyLoad&&(i="data-src",j="owl-lazy"),h.length)return l(h.attr(i)),h.remove(),!1;"youtube"===c.type?(f="//img.youtube.com/vi/"+c.id+"/hqdefault.jpg",l(f)):"vimeo"===c.type?a.ajax({type:"GET",url:"//vimeo.com/api/v2/video/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a[0].thumbnail_large,l(f)}}):"vzaar"===c.type&&a.ajax({type:"GET",url:"//vzaar.com/api/videos/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a.framegrab_url,l(f)}})},e.prototype.stop=function(){this._core.trigger("stop",null,"video"),this._playing.find(".owl-video-frame").remove(),this._playing.removeClass("owl-video-playing"),this._playing=null,this._core.leave("playing"),this._core.trigger("stopped",null,"video")},e.prototype.play=function(b){var c,d=a(b.target),e=d.closest("."+this._core.settings.itemClass),f=this._videos[e.attr("data-video")],g=f.width||"100%",h=f.height||this._core.$stage.height();this._playing||(this._core.enter("playing"),this._core.trigger("play",null,"video"),e=this._core.items(this._core.relative(e.index())),this._core.reset(e.index()),"youtube"===f.type?c='':"vimeo"===f.type?c='':"vzaar"===f.type&&(c=''),a(''+c+"
").insertAfter(e.find(".owl-video")),this._playing=e.addClass("owl-video-playing"))},e.prototype.isInFullScreen=function(){var b=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;return b&&a(b).parent().hasClass("owl-video-frame")},e.prototype.destroy=function(){var a,b;this._core.$element.off("click.owl.video");for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Video=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this.core=b,this.core.options=a.extend({},e.Defaults,this.core.options),this.swapping=!0,this.previous=d,this.next=d,this.handlers={"change.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&(this.previous=this.core.current(),this.next=a.property.value)},this),"drag.owl.carousel dragged.owl.carousel translated.owl.carousel":a.proxy(function(a){a.namespace&&(this.swapping="translated"==a.type)},this),"translate.owl.carousel":a.proxy(function(a){a.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.$element.on(this.handlers)};e.Defaults={animateOut:!1,animateIn:!1},e.prototype.swap=function(){if(1===this.core.settings.items&&a.support.animation&&a.support.transition){this.core.speed(0);var b,c=a.proxy(this.clear,this),d=this.core.$stage.children().eq(this.previous),e=this.core.$stage.children().eq(this.next),f=this.core.settings.animateIn,g=this.core.settings.animateOut;this.core.current()!==this.previous&&(g&&(b=this.core.coordinates(this.previous)-this.core.coordinates(this.next),d.one(a.support.animation.end,c).css({left:b+"px"}).addClass("animated owl-animated-out").addClass(g)),f&&e.one(a.support.animation.end,c).addClass("animated owl-animated-in").addClass(f))}},e.prototype.clear=function(b){a(b.target).css({left:""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.onTransitionEnd()},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this.core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},
+a.fn.owlCarousel.Constructor.Plugins.Animate=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._timeout=null,this._paused=!1,this._handlers={"changed.owl.carousel":a.proxy(function(a){a.namespace&&"settings"===a.property.name?this._core.settings.autoplay?this.play():this.stop():a.namespace&&"position"===a.property.name&&this._core.settings.autoplay&&this._setAutoPlayInterval()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoplay&&this.play()},this),"play.owl.autoplay":a.proxy(function(a,b,c){a.namespace&&this.play(b,c)},this),"stop.owl.autoplay":a.proxy(function(a){a.namespace&&this.stop()},this),"mouseover.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"mouseleave.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.play()},this),"touchstart.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"touchend.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this.play()},this)},this._core.$element.on(this._handlers),this._core.options=a.extend({},e.Defaults,this._core.options)};e.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},e.prototype.play=function(a,b){this._paused=!1,this._core.is("rotating")||(this._core.enter("rotating"),this._setAutoPlayInterval())},e.prototype._getNextTimeout=function(d,e){return this._timeout&&b.clearTimeout(this._timeout),b.setTimeout(a.proxy(function(){this._paused||this._core.is("busy")||this._core.is("interacting")||c.hidden||this._core.next(e||this._core.settings.autoplaySpeed)},this),d||this._core.settings.autoplayTimeout)},e.prototype._setAutoPlayInterval=function(){this._timeout=this._getNextTimeout()},e.prototype.stop=function(){this._core.is("rotating")&&(b.clearTimeout(this._timeout),this._core.leave("rotating"))},e.prototype.pause=function(){this._core.is("rotating")&&(this._paused=!0)},e.prototype.destroy=function(){var a,b;this.stop();for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.autoplay=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(b){this._core=b,this._initialized=!1,this._pages=[],this._controls={},this._templates=[],this.$element=this._core.$element,this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to},this._handlers={"prepared.owl.carousel":a.proxy(function(b){b.namespace&&this._core.settings.dotsData&&this._templates.push(''+a(b.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot")+"
")},this),"added.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,0,this._templates.pop())},this),"remove.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,1)},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&this.draw()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&!this._initialized&&(this._core.trigger("initialize",null,"navigation"),this.initialize(),this.update(),this.draw(),this._initialized=!0,this._core.trigger("initialized",null,"navigation"))},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._initialized&&(this._core.trigger("refresh",null,"navigation"),this.update(),this.draw(),this._core.trigger("refreshed",null,"navigation"))},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers)};e.Defaults={nav:!1,navText:["prev","next"],navSpeed:!1,navElement:"div",navContainer:!1,navContainerClass:"owl-nav",navClass:["owl-prev","owl-next"],slideBy:1,dotClass:"owl-dot",dotsClass:"owl-dots",dots:!0,dotsEach:!1,dotsData:!1,dotsSpeed:!1,dotsContainer:!1},e.prototype.initialize=function(){var b,c=this._core.settings;this._controls.$relative=(c.navContainer?a(c.navContainer):a("").addClass(c.navContainerClass).appendTo(this.$element)).addClass("disabled"),this._controls.$previous=a("<"+c.navElement+">").addClass(c.navClass[0]).html(c.navText[0]).prependTo(this._controls.$relative).on("click",a.proxy(function(a){this.prev(c.navSpeed)},this)),this._controls.$next=a("<"+c.navElement+">").addClass(c.navClass[1]).html(c.navText[1]).appendTo(this._controls.$relative).on("click",a.proxy(function(a){this.next(c.navSpeed)},this)),c.dotsData||(this._templates=[a("
").addClass(c.dotClass).append(a("
")).prop("outerHTML")]),this._controls.$absolute=(c.dotsContainer?a(c.dotsContainer):a("").addClass(c.dotsClass).appendTo(this.$element)).addClass("disabled"),this._controls.$absolute.on("click","div",a.proxy(function(b){var d=a(b.target).parent().is(this._controls.$absolute)?a(b.target).index():a(b.target).parent().index();b.preventDefault(),this.to(d,c.dotsSpeed)},this));for(b in this._overrides)this._core[b]=a.proxy(this[b],this)},e.prototype.destroy=function(){var a,b,c,d;for(a in this._handlers)this.$element.off(a,this._handlers[a]);for(b in this._controls)this._controls[b].remove();for(d in this.overides)this._core[d]=this._overrides[d];for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},e.prototype.update=function(){var a,b,c,d=this._core.clones().length/2,e=d+this._core.items().length,f=this._core.maximum(!0),g=this._core.settings,h=g.center||g.autoWidth||g.dotsData?1:g.dotsEach||g.items;if("page"!==g.slideBy&&(g.slideBy=Math.min(g.slideBy,g.items)),g.dots||"page"==g.slideBy)for(this._pages=[],a=d,b=0,c=0;a
=h||0===b){if(this._pages.push({start:Math.min(f,a-d),end:a-d+h-1}),Math.min(f,a-d)===f)break;b=0,++c}b+=this._core.mergers(this._core.relative(a))}},e.prototype.draw=function(){var b,c=this._core.settings,d=this._core.items().length<=c.items,e=this._core.relative(this._core.current()),f=c.loop||c.rewind;this._controls.$relative.toggleClass("disabled",!c.nav||d),c.nav&&(this._controls.$previous.toggleClass("disabled",!f&&e<=this._core.minimum(!0)),this._controls.$next.toggleClass("disabled",!f&&e>=this._core.maximum(!0))),this._controls.$absolute.toggleClass("disabled",!c.dots||d),c.dots&&(b=this._pages.length-this._controls.$absolute.children().length,c.dotsData&&0!==b?this._controls.$absolute.html(this._templates.join("")):b>0?this._controls.$absolute.append(new Array(b+1).join(this._templates[0])):b<0&&this._controls.$absolute.children().slice(b).remove(),this._controls.$absolute.find(".active").removeClass("active"),this._controls.$absolute.children().eq(a.inArray(this.current(),this._pages)).addClass("active"))},e.prototype.onTrigger=function(b){var c=this._core.settings;b.page={index:a.inArray(this.current(),this._pages),count:this._pages.length,size:c&&(c.center||c.autoWidth||c.dotsData?1:c.dotsEach||c.items)}},e.prototype.current=function(){var b=this._core.relative(this._core.current());return a.grep(this._pages,a.proxy(function(a,c){return a.start<=b&&a.end>=b},this)).pop()},e.prototype.getPosition=function(b){var c,d,e=this._core.settings;return"page"==e.slideBy?(c=a.inArray(this.current(),this._pages),d=this._pages.length,b?++c:--c,c=this._pages[(c%d+d)%d].start):(c=this._core.relative(this._core.current()),d=this._core.items().length,b?c+=e.slideBy:c-=e.slideBy),c},e.prototype.next=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!0),b)},e.prototype.prev=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!1),b)},e.prototype.to=function(b,c,d){var e;!d&&this._pages.length?(e=this._pages.length,a.proxy(this._overrides.to,this._core)(this._pages[(b%e+e)%e].start,c)):a.proxy(this._overrides.to,this._core)(b,c)},a.fn.owlCarousel.Constructor.Plugins.Navigation=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(c){this._core=c,this._hashes={},this.$element=this._core.$element,this._handlers={"initialized.owl.carousel":a.proxy(function(c){c.namespace&&"URLHash"===this._core.settings.startPosition&&a(b).trigger("hashchange.owl.navigation")},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find("[data-hash]").addBack("[data-hash]").attr("data-hash");if(!c)return;this._hashes[c]=b.content}},this),"changed.owl.carousel":a.proxy(function(c){if(c.namespace&&"position"===c.property.name){var d=this._core.items(this._core.relative(this._core.current())),e=a.map(this._hashes,function(a,b){return a===d?b:null}).join();if(!e||b.location.hash.slice(1)===e)return;b.location.hash=e}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers),a(b).on("hashchange.owl.navigation",a.proxy(function(a){var c=b.location.hash.substring(1),e=this._core.$stage.children(),f=this._hashes[c]&&e.index(this._hashes[c]);f!==d&&f!==this._core.current()&&this._core.to(this._core.relative(f),!1,!0)},this))};e.Defaults={URLhashListener:!1},e.prototype.destroy=function(){var c,d;a(b).off("hashchange.owl.navigation");for(c in this._handlers)this._core.$element.off(c,this._handlers[c]);for(d in Object.getOwnPropertyNames(this))"function"!=typeof this[d]&&(this[d]=null)},a.fn.owlCarousel.Constructor.Plugins.Hash=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){function e(b,c){var e=!1,f=b.charAt(0).toUpperCase()+b.slice(1);return a.each((b+" "+h.join(f+" ")+f).split(" "),function(a,b){if(g[b]!==d)return e=!c||b,!1}),e}function f(a){return e(a,!0)}var g=a("").get(0).style,h="Webkit Moz O ms".split(" "),i={transition:{end:{WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"}},animation:{end:{WebkitAnimation:"webkitAnimationEnd",MozAnimation:"animationend",OAnimation:"oAnimationEnd",animation:"animationend"}}},j={csstransforms:function(){return!!e("transform")},csstransforms3d:function(){return!!e("perspective")},csstransitions:function(){return!!e("transition")},cssanimations:function(){return!!e("animation")}};j.csstransitions()&&(a.support.transition=new String(f("transition")),a.support.transition.end=i.transition.end[a.support.transition]),j.cssanimations()&&(a.support.animation=new String(f("animation")),a.support.animation.end=i.animation.end[a.support.animation]),j.csstransforms()&&(a.support.transform=new String(f("transform")),a.support.transform3d=j.csstransforms3d())}(window.Zepto||window.jQuery,window,document);
\ No newline at end of file
diff --git a/task_webDev/Ananya_Mohapatra_2102070007/lib/typed/typed.js b/task_webDev/Ananya_Mohapatra_2102070007/lib/typed/typed.js
new file mode 100644
index 0000000..dc5ab53
--- /dev/null
+++ b/task_webDev/Ananya_Mohapatra_2102070007/lib/typed/typed.js
@@ -0,0 +1,1051 @@
+/*!
+ *
+ * typed.js - A JavaScript Typing Animation Library
+ * Author: Matt Boldt
+ * Version: v2.0.11
+ * Url: https://github.com/mattboldt/typed.js
+ * License(s): MIT
+ *
+ */
+(function webpackUniversalModuleDefinition(root, factory) {
+ if(typeof exports === 'object' && typeof module === 'object')
+ module.exports = factory();
+ else if(typeof define === 'function' && define.amd)
+ define([], factory);
+ else if(typeof exports === 'object')
+ exports["Typed"] = factory();
+ else
+ root["Typed"] = factory();
+})(this, function() {
+return /******/ (function(modules) { // webpackBootstrap
+/******/ // The module cache
+/******/ var installedModules = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/
+/******/ // Check if module is in cache
+/******/ if(installedModules[moduleId])
+/******/ return installedModules[moduleId].exports;
+/******/
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = installedModules[moduleId] = {
+/******/ exports: {},
+/******/ id: moduleId,
+/******/ loaded: false
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ // Flag the module as loaded
+/******/ module.loaded = true;
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/******/
+/******/ // expose the modules object (__webpack_modules__)
+/******/ __webpack_require__.m = modules;
+/******/
+/******/ // expose the module cache
+/******/ __webpack_require__.c = installedModules;
+/******/
+/******/ // __webpack_public_path__
+/******/ __webpack_require__.p = "";
+/******/
+/******/ // Load entry module and return exports
+/******/ return __webpack_require__(0);
+/******/ })
+/************************************************************************/
+/******/ ([
+/* 0 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ 'use strict';
+
+ Object.defineProperty(exports, '__esModule', {
+ value: true
+ });
+
+ var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
+
+ var _initializerJs = __webpack_require__(1);
+
+ var _htmlParserJs = __webpack_require__(3);
+
+ /**
+ * Welcome to Typed.js!
+ * @param {string} elementId HTML element ID _OR_ HTML element
+ * @param {object} options options object
+ * @returns {object} a new Typed object
+ */
+
+ var Typed = (function () {
+ function Typed(elementId, options) {
+ _classCallCheck(this, Typed);
+
+ // Initialize it up
+ _initializerJs.initializer.load(this, options, elementId);
+ // All systems go!
+ this.begin();
+ }
+
+ /**
+ * Toggle start() and stop() of the Typed instance
+ * @public
+ */
+
+ _createClass(Typed, [{
+ key: 'toggle',
+ value: function toggle() {
+ this.pause.status ? this.start() : this.stop();
+ }
+
+ /**
+ * Stop typing / backspacing and enable cursor blinking
+ * @public
+ */
+ }, {
+ key: 'stop',
+ value: function stop() {
+ if (this.typingComplete) return;
+ if (this.pause.status) return;
+ this.toggleBlinking(true);
+ this.pause.status = true;
+ this.options.onStop(this.arrayPos, this);
+ }
+
+ /**
+ * Start typing / backspacing after being stopped
+ * @public
+ */
+ }, {
+ key: 'start',
+ value: function start() {
+ if (this.typingComplete) return;
+ if (!this.pause.status) return;
+ this.pause.status = false;
+ if (this.pause.typewrite) {
+ this.typewrite(this.pause.curString, this.pause.curStrPos);
+ } else {
+ this.backspace(this.pause.curString, this.pause.curStrPos);
+ }
+ this.options.onStart(this.arrayPos, this);
+ }
+
+ /**
+ * Destroy this instance of Typed
+ * @public
+ */
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ this.reset(false);
+ this.options.onDestroy(this);
+ }
+
+ /**
+ * Reset Typed and optionally restarts
+ * @param {boolean} restart
+ * @public
+ */
+ }, {
+ key: 'reset',
+ value: function reset() {
+ var restart = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+
+ clearInterval(this.timeout);
+ this.replaceText('');
+ if (this.cursor && this.cursor.parentNode) {
+ this.cursor.parentNode.removeChild(this.cursor);
+ this.cursor = null;
+ }
+ this.strPos = 0;
+ this.arrayPos = 0;
+ this.curLoop = 0;
+ if (restart) {
+ this.insertCursor();
+ this.options.onReset(this);
+ this.begin();
+ }
+ }
+
+ /**
+ * Begins the typing animation
+ * @private
+ */
+ }, {
+ key: 'begin',
+ value: function begin() {
+ var _this = this;
+
+ this.options.onBegin(this);
+ this.typingComplete = false;
+ this.shuffleStringsIfNeeded(this);
+ this.insertCursor();
+ if (this.bindInputFocusEvents) this.bindFocusEvents();
+ this.timeout = setTimeout(function () {
+ // Check if there is some text in the element, if yes start by backspacing the default message
+ if (!_this.currentElContent || _this.currentElContent.length === 0) {
+ _this.typewrite(_this.strings[_this.sequence[_this.arrayPos]], _this.strPos);
+ } else {
+ // Start typing
+ _this.backspace(_this.currentElContent, _this.currentElContent.length);
+ }
+ }, this.startDelay);
+ }
+
+ /**
+ * Called for each character typed
+ * @param {string} curString the current string in the strings array
+ * @param {number} curStrPos the current position in the curString
+ * @private
+ */
+ }, {
+ key: 'typewrite',
+ value: function typewrite(curString, curStrPos) {
+ var _this2 = this;
+
+ if (this.fadeOut && this.el.classList.contains(this.fadeOutClass)) {
+ this.el.classList.remove(this.fadeOutClass);
+ if (this.cursor) this.cursor.classList.remove(this.fadeOutClass);
+ }
+
+ var humanize = this.humanizer(this.typeSpeed);
+ var numChars = 1;
+
+ if (this.pause.status === true) {
+ this.setPauseStatus(curString, curStrPos, true);
+ return;
+ }
+
+ // contain typing function in a timeout humanize'd delay
+ this.timeout = setTimeout(function () {
+ // skip over any HTML chars
+ curStrPos = _htmlParserJs.htmlParser.typeHtmlChars(curString, curStrPos, _this2);
+
+ var pauseTime = 0;
+ var substr = curString.substr(curStrPos);
+ // check for an escape character before a pause value
+ // format: \^\d+ .. eg: ^1000 .. should be able to print the ^ too using ^^
+ // single ^ are removed from string
+ if (substr.charAt(0) === '^') {
+ if (/^\^\d+/.test(substr)) {
+ var skip = 1; // skip at least 1
+ substr = /\d+/.exec(substr)[0];
+ skip += substr.length;
+ pauseTime = parseInt(substr);
+ _this2.temporaryPause = true;
+ _this2.options.onTypingPaused(_this2.arrayPos, _this2);
+ // strip out the escape character and pause value so they're not printed
+ curString = curString.substring(0, curStrPos) + curString.substring(curStrPos + skip);
+ _this2.toggleBlinking(true);
+ }
+ }
+
+ // check for skip characters formatted as
+ // "this is a `string to print NOW` ..."
+ if (substr.charAt(0) === '`') {
+ while (curString.substr(curStrPos + numChars).charAt(0) !== '`') {
+ numChars++;
+ if (curStrPos + numChars > curString.length) break;
+ }
+ // strip out the escape characters and append all the string in between
+ var stringBeforeSkip = curString.substring(0, curStrPos);
+ var stringSkipped = curString.substring(stringBeforeSkip.length + 1, curStrPos + numChars);
+ var stringAfterSkip = curString.substring(curStrPos + numChars + 1);
+ curString = stringBeforeSkip + stringSkipped + stringAfterSkip;
+ numChars--;
+ }
+
+ // timeout for any pause after a character
+ _this2.timeout = setTimeout(function () {
+ // Accounts for blinking while paused
+ _this2.toggleBlinking(false);
+
+ // We're done with this sentence!
+ if (curStrPos >= curString.length) {
+ _this2.doneTyping(curString, curStrPos);
+ } else {
+ _this2.keepTyping(curString, curStrPos, numChars);
+ }
+ // end of character pause
+ if (_this2.temporaryPause) {
+ _this2.temporaryPause = false;
+ _this2.options.onTypingResumed(_this2.arrayPos, _this2);
+ }
+ }, pauseTime);
+
+ // humanized value for typing
+ }, humanize);
+ }
+
+ /**
+ * Continue to the next string & begin typing
+ * @param {string} curString the current string in the strings array
+ * @param {number} curStrPos the current position in the curString
+ * @private
+ */
+ }, {
+ key: 'keepTyping',
+ value: function keepTyping(curString, curStrPos, numChars) {
+ // call before functions if applicable
+ if (curStrPos === 0) {
+ this.toggleBlinking(false);
+ this.options.preStringTyped(this.arrayPos, this);
+ }
+ // start typing each new char into existing string
+ // curString: arg, this.el.html: original text inside element
+ curStrPos += numChars;
+ var nextString = curString.substr(0, curStrPos);
+ this.replaceText(nextString);
+ // loop the function
+ this.typewrite(curString, curStrPos);
+ }
+
+ /**
+ * We're done typing the current string
+ * @param {string} curString the current string in the strings array
+ * @param {number} curStrPos the current position in the curString
+ * @private
+ */
+ }, {
+ key: 'doneTyping',
+ value: function doneTyping(curString, curStrPos) {
+ var _this3 = this;
+
+ // fires callback function
+ this.options.onStringTyped(this.arrayPos, this);
+ this.toggleBlinking(true);
+ // is this the final string
+ if (this.arrayPos === this.strings.length - 1) {
+ // callback that occurs on the last typed string
+ this.complete();
+ // quit if we wont loop back
+ if (this.loop === false || this.curLoop === this.loopCount) {
+ return;
+ }
+ }
+ this.timeout = setTimeout(function () {
+ _this3.backspace(curString, curStrPos);
+ }, this.backDelay);
+ }
+
+ /**
+ * Backspaces 1 character at a time
+ * @param {string} curString the current string in the strings array
+ * @param {number} curStrPos the current position in the curString
+ * @private
+ */
+ }, {
+ key: 'backspace',
+ value: function backspace(curString, curStrPos) {
+ var _this4 = this;
+
+ if (this.pause.status === true) {
+ this.setPauseStatus(curString, curStrPos, true);
+ return;
+ }
+ if (this.fadeOut) return this.initFadeOut();
+
+ this.toggleBlinking(false);
+ var humanize = this.humanizer(this.backSpeed);
+
+ this.timeout = setTimeout(function () {
+ curStrPos = _htmlParserJs.htmlParser.backSpaceHtmlChars(curString, curStrPos, _this4);
+ // replace text with base text + typed characters
+ var curStringAtPosition = curString.substr(0, curStrPos);
+ _this4.replaceText(curStringAtPosition);
+
+ // if smartBack is enabled
+ if (_this4.smartBackspace) {
+ // the remaining part of the current string is equal of the same part of the new string
+ var nextString = _this4.strings[_this4.arrayPos + 1];
+ if (nextString && curStringAtPosition === nextString.substr(0, curStrPos)) {
+ _this4.stopNum = curStrPos;
+ } else {
+ _this4.stopNum = 0;
+ }
+ }
+
+ // if the number (id of character in current string) is
+ // less than the stop number, keep going
+ if (curStrPos > _this4.stopNum) {
+ // subtract characters one by one
+ curStrPos--;
+ // loop the function
+ _this4.backspace(curString, curStrPos);
+ } else if (curStrPos <= _this4.stopNum) {
+ // if the stop number has been reached, increase
+ // array position to next string
+ _this4.arrayPos++;
+ // When looping, begin at the beginning after backspace complete
+ if (_this4.arrayPos === _this4.strings.length) {
+ _this4.arrayPos = 0;
+ _this4.options.onLastStringBackspaced();
+ _this4.shuffleStringsIfNeeded();
+ _this4.begin();
+ } else {
+ _this4.typewrite(_this4.strings[_this4.sequence[_this4.arrayPos]], curStrPos);
+ }
+ }
+ // humanized value for typing
+ }, humanize);
+ }
+
+ /**
+ * Full animation is complete
+ * @private
+ */
+ }, {
+ key: 'complete',
+ value: function complete() {
+ this.options.onComplete(this);
+ if (this.loop) {
+ this.curLoop++;
+ } else {
+ this.typingComplete = true;
+ }
+ }
+
+ /**
+ * Has the typing been stopped
+ * @param {string} curString the current string in the strings array
+ * @param {number} curStrPos the current position in the curString
+ * @param {boolean} isTyping
+ * @private
+ */
+ }, {
+ key: 'setPauseStatus',
+ value: function setPauseStatus(curString, curStrPos, isTyping) {
+ this.pause.typewrite = isTyping;
+ this.pause.curString = curString;
+ this.pause.curStrPos = curStrPos;
+ }
+
+ /**
+ * Toggle the blinking cursor
+ * @param {boolean} isBlinking
+ * @private
+ */
+ }, {
+ key: 'toggleBlinking',
+ value: function toggleBlinking(isBlinking) {
+ if (!this.cursor) return;
+ // if in paused state, don't toggle blinking a 2nd time
+ if (this.pause.status) return;
+ if (this.cursorBlinking === isBlinking) return;
+ this.cursorBlinking = isBlinking;
+ if (isBlinking) {
+ this.cursor.classList.add('typed-cursor--blink');
+ } else {
+ this.cursor.classList.remove('typed-cursor--blink');
+ }
+ }
+
+ /**
+ * Speed in MS to type
+ * @param {number} speed
+ * @private
+ */
+ }, {
+ key: 'humanizer',
+ value: function humanizer(speed) {
+ return Math.round(Math.random() * speed / 2) + speed;
+ }
+
+ /**
+ * Shuffle the sequence of the strings array
+ * @private
+ */
+ }, {
+ key: 'shuffleStringsIfNeeded',
+ value: function shuffleStringsIfNeeded() {
+ if (!this.shuffle) return;
+ this.sequence = this.sequence.sort(function () {
+ return Math.random() - 0.5;
+ });
+ }
+
+ /**
+ * Adds a CSS class to fade out current string
+ * @private
+ */
+ }, {
+ key: 'initFadeOut',
+ value: function initFadeOut() {
+ var _this5 = this;
+
+ this.el.className += ' ' + this.fadeOutClass;
+ if (this.cursor) this.cursor.className += ' ' + this.fadeOutClass;
+ return setTimeout(function () {
+ _this5.arrayPos++;
+ _this5.replaceText('');
+
+ // Resets current string if end of loop reached
+ if (_this5.strings.length > _this5.arrayPos) {
+ _this5.typewrite(_this5.strings[_this5.sequence[_this5.arrayPos]], 0);
+ } else {
+ _this5.typewrite(_this5.strings[0], 0);
+ _this5.arrayPos = 0;
+ }
+ }, this.fadeOutDelay);
+ }
+
+ /**
+ * Replaces current text in the HTML element
+ * depending on element type
+ * @param {string} str
+ * @private
+ */
+ }, {
+ key: 'replaceText',
+ value: function replaceText(str) {
+ if (this.attr) {
+ this.el.setAttribute(this.attr, str);
+ } else {
+ if (this.isInput) {
+ this.el.value = str;
+ } else if (this.contentType === 'html') {
+ this.el.innerHTML = str;
+ } else {
+ this.el.textContent = str;
+ }
+ }
+ }
+
+ /**
+ * If using input elements, bind focus in order to
+ * start and stop the animation
+ * @private
+ */
+ }, {
+ key: 'bindFocusEvents',
+ value: function bindFocusEvents() {
+ var _this6 = this;
+
+ if (!this.isInput) return;
+ this.el.addEventListener('focus', function (e) {
+ _this6.stop();
+ });
+ this.el.addEventListener('blur', function (e) {
+ if (_this6.el.value && _this6.el.value.length !== 0) {
+ return;
+ }
+ _this6.start();
+ });
+ }
+
+ /**
+ * On init, insert the cursor element
+ * @private
+ */
+ }, {
+ key: 'insertCursor',
+ value: function insertCursor() {
+ if (!this.showCursor) return;
+ if (this.cursor) return;
+ this.cursor = document.createElement('span');
+ this.cursor.className = 'typed-cursor';
+ this.cursor.innerHTML = this.cursorChar;
+ this.el.parentNode && this.el.parentNode.insertBefore(this.cursor, this.el.nextSibling);
+ }
+ }]);
+
+ return Typed;
+ })();
+
+ exports['default'] = Typed;
+ module.exports = exports['default'];
+
+/***/ }),
+/* 1 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ 'use strict';
+
+ Object.defineProperty(exports, '__esModule', {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
+
+ var _defaultsJs = __webpack_require__(2);
+
+ var _defaultsJs2 = _interopRequireDefault(_defaultsJs);
+
+ /**
+ * Initialize the Typed object
+ */
+
+ var Initializer = (function () {
+ function Initializer() {
+ _classCallCheck(this, Initializer);
+ }
+
+ _createClass(Initializer, [{
+ key: 'load',
+
+ /**
+ * Load up defaults & options on the Typed instance
+ * @param {Typed} self instance of Typed
+ * @param {object} options options object
+ * @param {string} elementId HTML element ID _OR_ instance of HTML element
+ * @private
+ */
+
+ value: function load(self, options, elementId) {
+ // chosen element to manipulate text
+ if (typeof elementId === 'string') {
+ self.el = document.querySelector(elementId);
+ } else {
+ self.el = elementId;
+ }
+
+ self.options = _extends({}, _defaultsJs2['default'], options);
+
+ // attribute to type into
+ self.isInput = self.el.tagName.toLowerCase() === 'input';
+ self.attr = self.options.attr;
+ self.bindInputFocusEvents = self.options.bindInputFocusEvents;
+
+ // show cursor
+ self.showCursor = self.isInput ? false : self.options.showCursor;
+
+ // custom cursor
+ self.cursorChar = self.options.cursorChar;
+
+ // Is the cursor blinking
+ self.cursorBlinking = true;
+
+ // text content of element
+ self.elContent = self.attr ? self.el.getAttribute(self.attr) : self.el.textContent;
+
+ // html or plain text
+ self.contentType = self.options.contentType;
+
+ // typing speed
+ self.typeSpeed = self.options.typeSpeed;
+
+ // add a delay before typing starts
+ self.startDelay = self.options.startDelay;
+
+ // backspacing speed
+ self.backSpeed = self.options.backSpeed;
+
+ // only backspace what doesn't match the previous string
+ self.smartBackspace = self.options.smartBackspace;
+
+ // amount of time to wait before backspacing
+ self.backDelay = self.options.backDelay;
+
+ // Fade out instead of backspace
+ self.fadeOut = self.options.fadeOut;
+ self.fadeOutClass = self.options.fadeOutClass;
+ self.fadeOutDelay = self.options.fadeOutDelay;
+
+ // variable to check whether typing is currently paused
+ self.isPaused = false;
+
+ // input strings of text
+ self.strings = self.options.strings.map(function (s) {
+ return s.trim();
+ });
+
+ // div containing strings
+ if (typeof self.options.stringsElement === 'string') {
+ self.stringsElement = document.querySelector(self.options.stringsElement);
+ } else {
+ self.stringsElement = self.options.stringsElement;
+ }
+
+ if (self.stringsElement) {
+ self.strings = [];
+ self.stringsElement.style.display = 'none';
+ var strings = Array.prototype.slice.apply(self.stringsElement.children);
+ var stringsLength = strings.length;
+
+ if (stringsLength) {
+ for (var i = 0; i < stringsLength; i += 1) {
+ var stringEl = strings[i];
+ self.strings.push(stringEl.innerHTML.trim());
+ }
+ }
+ }
+
+ // character number position of current string
+ self.strPos = 0;
+
+ // current array position
+ self.arrayPos = 0;
+
+ // index of string to stop backspacing on
+ self.stopNum = 0;
+
+ // Looping logic
+ self.loop = self.options.loop;
+ self.loopCount = self.options.loopCount;
+ self.curLoop = 0;
+
+ // shuffle the strings
+ self.shuffle = self.options.shuffle;
+ // the order of strings
+ self.sequence = [];
+
+ self.pause = {
+ status: false,
+ typewrite: true,
+ curString: '',
+ curStrPos: 0
+ };
+
+ // When the typing is complete (when not looped)
+ self.typingComplete = false;
+
+ // Set the order in which the strings are typed
+ for (var i in self.strings) {
+ self.sequence[i] = i;
+ }
+
+ // If there is some text in the element
+ self.currentElContent = this.getCurrentElContent(self);
+
+ self.autoInsertCss = self.options.autoInsertCss;
+
+ this.appendAnimationCss(self);
+ }
+ }, {
+ key: 'getCurrentElContent',
+ value: function getCurrentElContent(self) {
+ var elContent = '';
+ if (self.attr) {
+ elContent = self.el.getAttribute(self.attr);
+ } else if (self.isInput) {
+ elContent = self.el.value;
+ } else if (self.contentType === 'html') {
+ elContent = self.el.innerHTML;
+ } else {
+ elContent = self.el.textContent;
+ }
+ return elContent;
+ }
+ }, {
+ key: 'appendAnimationCss',
+ value: function appendAnimationCss(self) {
+ var cssDataName = 'data-typed-js-css';
+ if (!self.autoInsertCss) {
+ return;
+ }
+ if (!self.showCursor && !self.fadeOut) {
+ return;
+ }
+ if (document.querySelector('[' + cssDataName + ']')) {
+ return;
+ }
+
+ var css = document.createElement('style');
+ css.type = 'text/css';
+ css.setAttribute(cssDataName, true);
+
+ var innerCss = '';
+ if (self.showCursor) {
+ innerCss += '\n .typed-cursor{\n opacity: 1;\n }\n .typed-cursor.typed-cursor--blink{\n animation: typedjsBlink 0.7s infinite;\n -webkit-animation: typedjsBlink 0.7s infinite;\n animation: typedjsBlink 0.7s infinite;\n }\n @keyframes typedjsBlink{\n 50% { opacity: 0.0; }\n }\n @-webkit-keyframes typedjsBlink{\n 0% { opacity: 1; }\n 50% { opacity: 0.0; }\n 100% { opacity: 1; }\n }\n ';
+ }
+ if (self.fadeOut) {
+ innerCss += '\n .typed-fade-out{\n opacity: 0;\n transition: opacity .25s;\n }\n .typed-cursor.typed-cursor--blink.typed-fade-out{\n -webkit-animation: 0;\n animation: 0;\n }\n ';
+ }
+ if (css.length === 0) {
+ return;
+ }
+ css.innerHTML = innerCss;
+ document.body.appendChild(css);
+ }
+ }]);
+
+ return Initializer;
+ })();
+
+ exports['default'] = Initializer;
+ var initializer = new Initializer();
+ exports.initializer = initializer;
+
+/***/ }),
+/* 2 */
+/***/ (function(module, exports) {
+
+ /**
+ * Defaults & options
+ * @returns {object} Typed defaults & options
+ * @public
+ */
+
+ 'use strict';
+
+ Object.defineProperty(exports, '__esModule', {
+ value: true
+ });
+ var defaults = {
+ /**
+ * @property {array} strings strings to be typed
+ * @property {string} stringsElement ID of element containing string children
+ */
+ strings: ['These are the default values...', 'You know what you should do?', 'Use your own!', 'Have a great day!'],
+ stringsElement: null,
+
+ /**
+ * @property {number} typeSpeed type speed in milliseconds
+ */
+ typeSpeed: 0,
+
+ /**
+ * @property {number} startDelay time before typing starts in milliseconds
+ */
+ startDelay: 0,
+
+ /**
+ * @property {number} backSpeed backspacing speed in milliseconds
+ */
+ backSpeed: 0,
+
+ /**
+ * @property {boolean} smartBackspace only backspace what doesn't match the previous string
+ */
+ smartBackspace: true,
+
+ /**
+ * @property {boolean} shuffle shuffle the strings
+ */
+ shuffle: false,
+
+ /**
+ * @property {number} backDelay time before backspacing in milliseconds
+ */
+ backDelay: 700,
+
+ /**
+ * @property {boolean} fadeOut Fade out instead of backspace
+ * @property {string} fadeOutClass css class for fade animation
+ * @property {boolean} fadeOutDelay Fade out delay in milliseconds
+ */
+ fadeOut: false,
+ fadeOutClass: 'typed-fade-out',
+ fadeOutDelay: 500,
+
+ /**
+ * @property {boolean} loop loop strings
+ * @property {number} loopCount amount of loops
+ */
+ loop: false,
+ loopCount: Infinity,
+
+ /**
+ * @property {boolean} showCursor show cursor
+ * @property {string} cursorChar character for cursor
+ * @property {boolean} autoInsertCss insert CSS for cursor and fadeOut into HTML
+ */
+ showCursor: true,
+ cursorChar: '|',
+ autoInsertCss: true,
+
+ /**
+ * @property {string} attr attribute for typing
+ * Ex: input placeholder, value, or just HTML text
+ */
+ attr: null,
+
+ /**
+ * @property {boolean} bindInputFocusEvents bind to focus and blur if el is text input
+ */
+ bindInputFocusEvents: false,
+
+ /**
+ * @property {string} contentType 'html' or 'null' for plaintext
+ */
+ contentType: 'html',
+
+ /**
+ * Before it begins typing
+ * @param {Typed} self
+ */
+ onBegin: function onBegin(self) {},
+
+ /**
+ * All typing is complete
+ * @param {Typed} self
+ */
+ onComplete: function onComplete(self) {},
+
+ /**
+ * Before each string is typed
+ * @param {number} arrayPos
+ * @param {Typed} self
+ */
+ preStringTyped: function preStringTyped(arrayPos, self) {},
+
+ /**
+ * After each string is typed
+ * @param {number} arrayPos
+ * @param {Typed} self
+ */
+ onStringTyped: function onStringTyped(arrayPos, self) {},
+
+ /**
+ * During looping, after last string is typed
+ * @param {Typed} self
+ */
+ onLastStringBackspaced: function onLastStringBackspaced(self) {},
+
+ /**
+ * Typing has been stopped
+ * @param {number} arrayPos
+ * @param {Typed} self
+ */
+ onTypingPaused: function onTypingPaused(arrayPos, self) {},
+
+ /**
+ * Typing has been started after being stopped
+ * @param {number} arrayPos
+ * @param {Typed} self
+ */
+ onTypingResumed: function onTypingResumed(arrayPos, self) {},
+
+ /**
+ * After reset
+ * @param {Typed} self
+ */
+ onReset: function onReset(self) {},
+
+ /**
+ * After stop
+ * @param {number} arrayPos
+ * @param {Typed} self
+ */
+ onStop: function onStop(arrayPos, self) {},
+
+ /**
+ * After start
+ * @param {number} arrayPos
+ * @param {Typed} self
+ */
+ onStart: function onStart(arrayPos, self) {},
+
+ /**
+ * After destroy
+ * @param {Typed} self
+ */
+ onDestroy: function onDestroy(self) {}
+ };
+
+ exports['default'] = defaults;
+ module.exports = exports['default'];
+
+/***/ }),
+/* 3 */
+/***/ (function(module, exports) {
+
+ /**
+ * TODO: These methods can probably be combined somehow
+ * Parse HTML tags & HTML Characters
+ */
+
+ 'use strict';
+
+ Object.defineProperty(exports, '__esModule', {
+ value: true
+ });
+
+ var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
+
+ var HTMLParser = (function () {
+ function HTMLParser() {
+ _classCallCheck(this, HTMLParser);
+ }
+
+ _createClass(HTMLParser, [{
+ key: 'typeHtmlChars',
+
+ /**
+ * Type HTML tags & HTML Characters
+ * @param {string} curString Current string
+ * @param {number} curStrPos Position in current string
+ * @param {Typed} self instance of Typed
+ * @returns {number} a new string position
+ * @private
+ */
+
+ value: function typeHtmlChars(curString, curStrPos, self) {
+ if (self.contentType !== 'html') return curStrPos;
+ var curChar = curString.substr(curStrPos).charAt(0);
+ if (curChar === '<' || curChar === '&') {
+ var endTag = '';
+ if (curChar === '<') {
+ endTag = '>';
+ } else {
+ endTag = ';';
+ }
+ while (curString.substr(curStrPos + 1).charAt(0) !== endTag) {
+ curStrPos++;
+ if (curStrPos + 1 > curString.length) {
+ break;
+ }
+ }
+ curStrPos++;
+ }
+ return curStrPos;
+ }
+
+ /**
+ * Backspace HTML tags and HTML Characters
+ * @param {string} curString Current string
+ * @param {number} curStrPos Position in current string
+ * @param {Typed} self instance of Typed
+ * @returns {number} a new string position
+ * @private
+ */
+ }, {
+ key: 'backSpaceHtmlChars',
+ value: function backSpaceHtmlChars(curString, curStrPos, self) {
+ if (self.contentType !== 'html') return curStrPos;
+ var curChar = curString.substr(curStrPos).charAt(0);
+ if (curChar === '>' || curChar === ';') {
+ var endTag = '';
+ if (curChar === '>') {
+ endTag = '<';
+ } else {
+ endTag = '&';
+ }
+ while (curString.substr(curStrPos - 1).charAt(0) !== endTag) {
+ curStrPos--;
+ if (curStrPos < 0) {
+ break;
+ }
+ }
+ curStrPos--;
+ }
+ return curStrPos;
+ }
+ }]);
+
+ return HTMLParser;
+ })();
+
+ exports['default'] = HTMLParser;
+ var htmlParser = new HTMLParser();
+ exports.htmlParser = htmlParser;
+
+/***/ })
+/******/ ])
+});
+;
\ No newline at end of file
diff --git a/task_webDev/Ananya_Mohapatra_2102070007/lib/typed/typed.min.js b/task_webDev/Ananya_Mohapatra_2102070007/lib/typed/typed.min.js
new file mode 100644
index 0000000..12a20bf
--- /dev/null
+++ b/task_webDev/Ananya_Mohapatra_2102070007/lib/typed/typed.min.js
@@ -0,0 +1,11 @@
+/*!
+ *
+ * typed.js - A JavaScript Typing Animation Library
+ * Author: Matt Boldt
+ * Version: v2.0.11
+ * Url: https://github.com/mattboldt/typed.js
+ * License(s): MIT
+ *
+ */
+(function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Typed=e():t.Typed=e()})(this,function(){return function(t){function e(n){if(s[n])return s[n].exports;var i=s[n]={exports:{},id:n,loaded:!1};return t[n].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var s={};return e.m=t,e.c=s,e.p="",e(0)}([function(t,e,s){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var s=0;st.length)););var u=t.substring(0,e),l=t.substring(u.length+1,e+i),c=t.substring(e+i+1);t=u+l+c,i--}s.timeout=setTimeout(function(){s.toggleBlinking(!1),e>=t.length?s.doneTyping(t,e):s.keepTyping(t,e,i),s.temporaryPause&&(s.temporaryPause=!1,s.options.onTypingResumed(s.arrayPos,s))},n)},n))}},{key:"keepTyping",value:function(t,e,s){0===e&&(this.toggleBlinking(!1),this.options.preStringTyped(this.arrayPos,this)),e+=s;var n=t.substr(0,e);this.replaceText(n),this.typewrite(t,e)}},{key:"doneTyping",value:function(t,e){var s=this;this.options.onStringTyped(this.arrayPos,this),this.toggleBlinking(!0),this.arrayPos===this.strings.length-1&&(this.complete(),this.loop===!1||this.curLoop===this.loopCount)||(this.timeout=setTimeout(function(){s.backspace(t,e)},this.backDelay))}},{key:"backspace",value:function(t,e){var s=this;if(this.pause.status===!0)return void this.setPauseStatus(t,e,!0);if(this.fadeOut)return this.initFadeOut();this.toggleBlinking(!1);var n=this.humanizer(this.backSpeed);this.timeout=setTimeout(function(){e=o.htmlParser.backSpaceHtmlChars(t,e,s);var n=t.substr(0,e);if(s.replaceText(n),s.smartBackspace){var i=s.strings[s.arrayPos+1];i&&n===i.substr(0,e)?s.stopNum=e:s.stopNum=0}e>s.stopNum?(e--,s.backspace(t,e)):e<=s.stopNum&&(s.arrayPos++,s.arrayPos===s.strings.length?(s.arrayPos=0,s.options.onLastStringBackspaced(),s.shuffleStringsIfNeeded(),s.begin()):s.typewrite(s.strings[s.sequence[s.arrayPos]],e))},n)}},{key:"complete",value:function(){this.options.onComplete(this),this.loop?this.curLoop++:this.typingComplete=!0}},{key:"setPauseStatus",value:function(t,e,s){this.pause.typewrite=s,this.pause.curString=t,this.pause.curStrPos=e}},{key:"toggleBlinking",value:function(t){this.cursor&&(this.pause.status||this.cursorBlinking!==t&&(this.cursorBlinking=t,t?this.cursor.classList.add("typed-cursor--blink"):this.cursor.classList.remove("typed-cursor--blink")))}},{key:"humanizer",value:function(t){return Math.round(Math.random()*t/2)+t}},{key:"shuffleStringsIfNeeded",value:function(){this.shuffle&&(this.sequence=this.sequence.sort(function(){return Math.random()-.5}))}},{key:"initFadeOut",value:function(){var t=this;return this.el.className+=" "+this.fadeOutClass,this.cursor&&(this.cursor.className+=" "+this.fadeOutClass),setTimeout(function(){t.arrayPos++,t.replaceText(""),t.strings.length>t.arrayPos?t.typewrite(t.strings[t.sequence[t.arrayPos]],0):(t.typewrite(t.strings[0],0),t.arrayPos=0)},this.fadeOutDelay)}},{key:"replaceText",value:function(t){this.attr?this.el.setAttribute(this.attr,t):this.isInput?this.el.value=t:"html"===this.contentType?this.el.innerHTML=t:this.el.textContent=t}},{key:"bindFocusEvents",value:function(){var t=this;this.isInput&&(this.el.addEventListener("focus",function(e){t.stop()}),this.el.addEventListener("blur",function(e){t.el.value&&0!==t.el.value.length||t.start()}))}},{key:"insertCursor",value:function(){this.showCursor&&(this.cursor||(this.cursor=document.createElement("span"),this.cursor.className="typed-cursor",this.cursor.innerHTML=this.cursorChar,this.el.parentNode&&this.el.parentNode.insertBefore(this.cursor,this.el.nextSibling)))}}]),t}();e["default"]=a,t.exports=e["default"]},function(t,e,s){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=Object.assign||function(t){for(var e=1;e":";";t.substr(e+1).charAt(0)!==i&&(e++,!(e+1>t.length)););e++}return e}},{key:"backSpaceHtmlChars",value:function(t,e,s){if("html"!==s.contentType)return e;var n=t.substr(e).charAt(0);if(">"===n||";"===n){var i="";for(i=">"===n?"<":"&";t.substr(e-1).charAt(0)!==i&&(e--,!(e<0)););e--}return e}}]),t}();e["default"]=i;var r=new i;e.htmlParser=r}])});
+//# sourceMappingURL=typed.min.js.map
diff --git a/task_webDev/Ananya_Mohapatra_2102070007/lib/waypoints/links.php b/task_webDev/Ananya_Mohapatra_2102070007/lib/waypoints/links.php
new file mode 100644
index 0000000..ba777b5
--- /dev/null
+++ b/task_webDev/Ananya_Mohapatra_2102070007/lib/waypoints/links.php
@@ -0,0 +1,5 @@
+ 'lib/waypoints/waypoints.min.js'
+ );
+?>
diff --git a/task_webDev/Ananya_Mohapatra_2102070007/lib/waypoints/waypoints.min.js b/task_webDev/Ananya_Mohapatra_2102070007/lib/waypoints/waypoints.min.js
new file mode 100644
index 0000000..609ece0
--- /dev/null
+++ b/task_webDev/Ananya_Mohapatra_2102070007/lib/waypoints/waypoints.min.js
@@ -0,0 +1,7 @@
+/*!
+Waypoints - 4.0.1
+Copyright © 2011-2016 Caleb Troughton
+Licensed under the MIT license.
+https://github.com/imakewebthings/waypoints/blob/master/licenses.txt
+*/
+!function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,o),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=o.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.Context.refreshAll();for(var e in i)i[e].enabled=!0;return this},t.refreshAll=function(){t.Context.refreshAll()},t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=n.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,o[t.waypointContextKey]=this,i+=1,n.windowContext||(n.windowContext=!0,n.windowContext=new e(window)),this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,o={},n=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical),i=this.element==this.element.window;t&&e&&!i&&(this.adapter.off(".waypoints"),delete o[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,n.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&(e.didScroll=!0,n.requestAnimationFrame(t))})},e.prototype.handleResize=function(){n.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s];if(null!==a.triggerPoint){var l=o.oldScroll=a.triggerPoint,p=l&&h,u=!l&&!h;(p||u)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}}for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,u,c,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?f=f.apply(d):"string"==typeof f&&(f=parseFloat(f),d.options.offset.indexOf("%")>-1&&(f=Math.ceil(s.contextDimension*f/100))),l=s.contextScroll-s.contextOffset,d.triggerPoint=Math.floor(y+l-f),h=w=s.oldScroll,u=h&&p,c=!h&&!p,!g&&u?(d.queueTrigger(s.backward),o[d.group.id]=d.group):!g&&c?(d.queueTrigger(s.forward),o[d.group.id]=d.group):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),o[d.group.id]=d.group)}}return n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in o)o[t].refresh()},e.findByElement=function(t){return o[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},n.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),o[this.axis][this.name]=this}var o={vertical:{},horizontal:{}},n=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],right:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t)},n.Group=i}(),function(){"use strict";function t(t){this.$element=e(t)}var e=window.jQuery,i=window.Waypoint;e.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.$element[i].apply(this.$element,t)}}),e.each(["extend","inArray","isEmptyObject"],function(i,o){t[o]=e[o]}),i.adapters.push({name:"jquery",Adapter:t}),i.Adapter=t}(),function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return t.isFunction(arguments[0])&&(o=t.extend({},arguments[1]),o.handler=arguments[0]),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n))}),i}}var e=window.Waypoint;window.jQuery&&(window.jQuery.fn.waypoint=t(window.jQuery)),window.Zepto&&(window.Zepto.fn.waypoint=t(window.Zepto))}();
\ No newline at end of file
diff --git a/task_webDev/Ananya_Mohapatra_2102070007/lib/wow/wow.js b/task_webDev/Ananya_Mohapatra_2102070007/lib/wow/wow.js
new file mode 100644
index 0000000..42dabed
--- /dev/null
+++ b/task_webDev/Ananya_Mohapatra_2102070007/lib/wow/wow.js
@@ -0,0 +1,542 @@
+/*
+* WOW wow.js - v1.3.0 - 2016-10-04
+* https://wowjs.uk
+* Copyright (c) 2016 Thomas Grainger; Licensed MIT
+*/
+
+(function (global, factory) {
+ if (typeof define === "function" && define.amd) {
+ define(['module', 'exports'], factory);
+ } else if (typeof exports !== "undefined") {
+ factory(module, exports);
+ } else {
+ var mod = {
+ exports: {}
+ };
+ factory(mod, mod.exports);
+ global.WOW = mod.exports;
+ }
+})(this, function (module, exports) {
+ 'use strict';
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _class, _temp;
+
+ function _classCallCheck(instance, Constructor) {
+ if (!(instance instanceof Constructor)) {
+ throw new TypeError("Cannot call a class as a function");
+ }
+ }
+
+ var _createClass = function () {
+ function defineProperties(target, props) {
+ for (var i = 0; i < props.length; i++) {
+ var descriptor = props[i];
+ descriptor.enumerable = descriptor.enumerable || false;
+ descriptor.configurable = true;
+ if ("value" in descriptor) descriptor.writable = true;
+ Object.defineProperty(target, descriptor.key, descriptor);
+ }
+ }
+
+ return function (Constructor, protoProps, staticProps) {
+ if (protoProps) defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) defineProperties(Constructor, staticProps);
+ return Constructor;
+ };
+ }();
+
+ function isIn(needle, haystack) {
+ return haystack.indexOf(needle) >= 0;
+ }
+
+ function extend(custom, defaults) {
+ for (var key in defaults) {
+ if (custom[key] == null) {
+ var value = defaults[key];
+ custom[key] = value;
+ }
+ }
+ return custom;
+ }
+
+ function isMobile(agent) {
+ return (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(agent)
+ );
+ }
+
+ function createEvent(event) {
+ var bubble = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1];
+ var cancel = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2];
+ var detail = arguments.length <= 3 || arguments[3] === undefined ? null : arguments[3];
+
+ var customEvent = void 0;
+ if (document.createEvent != null) {
+ // W3C DOM
+ customEvent = document.createEvent('CustomEvent');
+ customEvent.initCustomEvent(event, bubble, cancel, detail);
+ } else if (document.createEventObject != null) {
+ // IE DOM < 9
+ customEvent = document.createEventObject();
+ customEvent.eventType = event;
+ } else {
+ customEvent.eventName = event;
+ }
+
+ return customEvent;
+ }
+
+ function emitEvent(elem, event) {
+ if (elem.dispatchEvent != null) {
+ // W3C DOM
+ elem.dispatchEvent(event);
+ } else if (event in (elem != null)) {
+ elem[event]();
+ } else if ('on' + event in (elem != null)) {
+ elem['on' + event]();
+ }
+ }
+
+ function addEvent(elem, event, fn) {
+ if (elem.addEventListener != null) {
+ // W3C DOM
+ elem.addEventListener(event, fn, false);
+ } else if (elem.attachEvent != null) {
+ // IE DOM
+ elem.attachEvent('on' + event, fn);
+ } else {
+ // fallback
+ elem[event] = fn;
+ }
+ }
+
+ function removeEvent(elem, event, fn) {
+ if (elem.removeEventListener != null) {
+ // W3C DOM
+ elem.removeEventListener(event, fn, false);
+ } else if (elem.detachEvent != null) {
+ // IE DOM
+ elem.detachEvent('on' + event, fn);
+ } else {
+ // fallback
+ delete elem[event];
+ }
+ }
+
+ function getInnerHeight() {
+ if ('innerHeight' in window) {
+ return window.innerHeight;
+ }
+
+ return document.documentElement.clientHeight;
+ }
+
+ // Minimalistic WeakMap shim, just in case.
+ var WeakMap = window.WeakMap || window.MozWeakMap || function () {
+ function WeakMap() {
+ _classCallCheck(this, WeakMap);
+
+ this.keys = [];
+ this.values = [];
+ }
+
+ _createClass(WeakMap, [{
+ key: 'get',
+ value: function get(key) {
+ for (var i = 0; i < this.keys.length; i++) {
+ var item = this.keys[i];
+ if (item === key) {
+ return this.values[i];
+ }
+ }
+ return undefined;
+ }
+ }, {
+ key: 'set',
+ value: function set(key, value) {
+ for (var i = 0; i < this.keys.length; i++) {
+ var item = this.keys[i];
+ if (item === key) {
+ this.values[i] = value;
+ return this;
+ }
+ }
+ this.keys.push(key);
+ this.values.push(value);
+ return this;
+ }
+ }]);
+
+ return WeakMap;
+ }();
+
+ // Dummy MutationObserver, to avoid raising exceptions.
+ var MutationObserver = window.MutationObserver || window.WebkitMutationObserver || window.MozMutationObserver || (_temp = _class = function () {
+ function MutationObserver() {
+ _classCallCheck(this, MutationObserver);
+
+ if (typeof console !== 'undefined' && console !== null) {
+ console.warn('MutationObserver is not supported by your browser.');
+ console.warn('WOW.js cannot detect dom mutations, please call .sync() after loading new content.');
+ }
+ }
+
+ _createClass(MutationObserver, [{
+ key: 'observe',
+ value: function observe() {}
+ }]);
+
+ return MutationObserver;
+ }(), _class.notSupported = true, _temp);
+
+ // getComputedStyle shim, from http://stackoverflow.com/a/21797294
+ var getComputedStyle = window.getComputedStyle || function getComputedStyle(el) {
+ var getComputedStyleRX = /(\-([a-z]){1})/g;
+ return {
+ getPropertyValue: function getPropertyValue(prop) {
+ if (prop === 'float') {
+ prop = 'styleFloat';
+ }
+ if (getComputedStyleRX.test(prop)) {
+ prop.replace(getComputedStyleRX, function (_, _char) {
+ return _char.toUpperCase();
+ });
+ }
+ var currentStyle = el.currentStyle;
+
+ return (currentStyle != null ? currentStyle[prop] : void 0) || null;
+ }
+ };
+ };
+
+ var WOW = function () {
+ function WOW() {
+ var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
+
+ _classCallCheck(this, WOW);
+
+ this.defaults = {
+ boxClass: 'wow',
+ animateClass: 'animated',
+ offset: 0,
+ mobile: true,
+ live: true,
+ callback: null,
+ scrollContainer: null,
+ resetAnimation: true
+ };
+
+ this.animate = function animateFactory() {
+ if ('requestAnimationFrame' in window) {
+ return function (callback) {
+ return window.requestAnimationFrame(callback);
+ };
+ }
+ return function (callback) {
+ return callback();
+ };
+ }();
+
+ this.vendors = ['moz', 'webkit'];
+
+ this.start = this.start.bind(this);
+ this.resetAnimation = this.resetAnimation.bind(this);
+ this.scrollHandler = this.scrollHandler.bind(this);
+ this.scrollCallback = this.scrollCallback.bind(this);
+ this.scrolled = true;
+ this.config = extend(options, this.defaults);
+ if (options.scrollContainer != null) {
+ this.config.scrollContainer = document.querySelector(options.scrollContainer);
+ }
+ // Map of elements to animation names:
+ this.animationNameCache = new WeakMap();
+ this.wowEvent = createEvent(this.config.boxClass);
+ }
+
+ _createClass(WOW, [{
+ key: 'init',
+ value: function init() {
+ this.element = window.document.documentElement;
+ if (isIn(document.readyState, ['interactive', 'complete'])) {
+ this.start();
+ } else {
+ addEvent(document, 'DOMContentLoaded', this.start);
+ }
+ this.finished = [];
+ }
+ }, {
+ key: 'start',
+ value: function start() {
+ var _this = this;
+
+ this.stopped = false;
+ this.boxes = [].slice.call(this.element.querySelectorAll('.' + this.config.boxClass));
+ this.all = this.boxes.slice(0);
+ if (this.boxes.length) {
+ if (this.disabled()) {
+ this.resetStyle();
+ } else {
+ for (var i = 0; i < this.boxes.length; i++) {
+ var box = this.boxes[i];
+ this.applyStyle(box, true);
+ }
+ }
+ }
+ if (!this.disabled()) {
+ addEvent(this.config.scrollContainer || window, 'scroll', this.scrollHandler);
+ addEvent(window, 'resize', this.scrollHandler);
+ this.interval = setInterval(this.scrollCallback, 50);
+ }
+ if (this.config.live) {
+ var mut = new MutationObserver(function (records) {
+ for (var j = 0; j < records.length; j++) {
+ var record = records[j];
+ for (var k = 0; k < record.addedNodes.length; k++) {
+ var node = record.addedNodes[k];
+ _this.doSync(node);
+ }
+ }
+ return undefined;
+ });
+ mut.observe(document.body, {
+ childList: true,
+ subtree: true
+ });
+ }
+ }
+ }, {
+ key: 'stop',
+ value: function stop() {
+ this.stopped = true;
+ removeEvent(this.config.scrollContainer || window, 'scroll', this.scrollHandler);
+ removeEvent(window, 'resize', this.scrollHandler);
+ if (this.interval != null) {
+ clearInterval(this.interval);
+ }
+ }
+ }, {
+ key: 'sync',
+ value: function sync() {
+ if (MutationObserver.notSupported) {
+ this.doSync(this.element);
+ }
+ }
+ }, {
+ key: 'doSync',
+ value: function doSync(element) {
+ if (typeof element === 'undefined' || element === null) {
+ element = this.element;
+ }
+ if (element.nodeType !== 1) {
+ return;
+ }
+ element = element.parentNode || element;
+ var iterable = element.querySelectorAll('.' + this.config.boxClass);
+ for (var i = 0; i < iterable.length; i++) {
+ var box = iterable[i];
+ if (!isIn(box, this.all)) {
+ this.boxes.push(box);
+ this.all.push(box);
+ if (this.stopped || this.disabled()) {
+ this.resetStyle();
+ } else {
+ this.applyStyle(box, true);
+ }
+ this.scrolled = true;
+ }
+ }
+ }
+ }, {
+ key: 'show',
+ value: function show(box) {
+ this.applyStyle(box);
+ box.className = box.className + ' ' + this.config.animateClass;
+ if (this.config.callback != null) {
+ this.config.callback(box);
+ }
+ emitEvent(box, this.wowEvent);
+
+ if (this.config.resetAnimation) {
+ addEvent(box, 'animationend', this.resetAnimation);
+ addEvent(box, 'oanimationend', this.resetAnimation);
+ addEvent(box, 'webkitAnimationEnd', this.resetAnimation);
+ addEvent(box, 'MSAnimationEnd', this.resetAnimation);
+ }
+
+ return box;
+ }
+ }, {
+ key: 'applyStyle',
+ value: function applyStyle(box, hidden) {
+ var _this2 = this;
+
+ var duration = box.getAttribute('data-wow-duration');
+ var delay = box.getAttribute('data-wow-delay');
+ var iteration = box.getAttribute('data-wow-iteration');
+
+ return this.animate(function () {
+ return _this2.customStyle(box, hidden, duration, delay, iteration);
+ });
+ }
+ }, {
+ key: 'resetStyle',
+ value: function resetStyle() {
+ for (var i = 0; i < this.boxes.length; i++) {
+ var box = this.boxes[i];
+ box.style.visibility = 'visible';
+ }
+ return undefined;
+ }
+ }, {
+ key: 'resetAnimation',
+ value: function resetAnimation(event) {
+ if (event.type.toLowerCase().indexOf('animationend') >= 0) {
+ var target = event.target || event.srcElement;
+ target.className = target.className.replace(this.config.animateClass, '').trim();
+ }
+ }
+ }, {
+ key: 'customStyle',
+ value: function customStyle(box, hidden, duration, delay, iteration) {
+ if (hidden) {
+ this.cacheAnimationName(box);
+ }
+ box.style.visibility = hidden ? 'hidden' : 'visible';
+
+ if (duration) {
+ this.vendorSet(box.style, { animationDuration: duration });
+ }
+ if (delay) {
+ this.vendorSet(box.style, { animationDelay: delay });
+ }
+ if (iteration) {
+ this.vendorSet(box.style, { animationIterationCount: iteration });
+ }
+ this.vendorSet(box.style, { animationName: hidden ? 'none' : this.cachedAnimationName(box) });
+
+ return box;
+ }
+ }, {
+ key: 'vendorSet',
+ value: function vendorSet(elem, properties) {
+ for (var name in properties) {
+ if (properties.hasOwnProperty(name)) {
+ var value = properties[name];
+ elem['' + name] = value;
+ for (var i = 0; i < this.vendors.length; i++) {
+ var vendor = this.vendors[i];
+ elem['' + vendor + name.charAt(0).toUpperCase() + name.substr(1)] = value;
+ }
+ }
+ }
+ }
+ }, {
+ key: 'vendorCSS',
+ value: function vendorCSS(elem, property) {
+ var style = getComputedStyle(elem);
+ var result = style.getPropertyCSSValue(property);
+ for (var i = 0; i < this.vendors.length; i++) {
+ var vendor = this.vendors[i];
+ result = result || style.getPropertyCSSValue('-' + vendor + '-' + property);
+ }
+ return result;
+ }
+ }, {
+ key: 'animationName',
+ value: function animationName(box) {
+ var aName = void 0;
+ try {
+ aName = this.vendorCSS(box, 'animation-name').cssText;
+ } catch (error) {
+ // Opera, fall back to plain property value
+ aName = getComputedStyle(box).getPropertyValue('animation-name');
+ }
+
+ if (aName === 'none') {
+ return ''; // SVG/Firefox, unable to get animation name?
+ }
+
+ return aName;
+ }
+ }, {
+ key: 'cacheAnimationName',
+ value: function cacheAnimationName(box) {
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=921834
+ // box.dataset is not supported for SVG elements in Firefox
+ return this.animationNameCache.set(box, this.animationName(box));
+ }
+ }, {
+ key: 'cachedAnimationName',
+ value: function cachedAnimationName(box) {
+ return this.animationNameCache.get(box);
+ }
+ }, {
+ key: 'scrollHandler',
+ value: function scrollHandler() {
+ this.scrolled = true;
+ }
+ }, {
+ key: 'scrollCallback',
+ value: function scrollCallback() {
+ if (this.scrolled) {
+ this.scrolled = false;
+ var results = [];
+ for (var i = 0; i < this.boxes.length; i++) {
+ var box = this.boxes[i];
+ if (box) {
+ if (this.isVisible(box)) {
+ this.show(box);
+ continue;
+ }
+ results.push(box);
+ }
+ }
+ this.boxes = results;
+ if (!this.boxes.length && !this.config.live) {
+ this.stop();
+ }
+ }
+ }
+ }, {
+ key: 'offsetTop',
+ value: function offsetTop(element) {
+ // SVG elements don't have an offsetTop in Firefox.
+ // This will use their nearest parent that has an offsetTop.
+ // Also, using ('offsetTop' of element) causes an exception in Firefox.
+ while (element.offsetTop === undefined) {
+ element = element.parentNode;
+ }
+ var top = element.offsetTop;
+ while (element.offsetParent) {
+ element = element.offsetParent;
+ top += element.offsetTop;
+ }
+ return top;
+ }
+ }, {
+ key: 'isVisible',
+ value: function isVisible(box) {
+ var offset = box.getAttribute('data-wow-offset') || this.config.offset;
+ var viewTop = this.config.scrollContainer && this.config.scrollContainer.scrollTop || window.pageYOffset;
+ var viewBottom = viewTop + Math.min(this.element.clientHeight, getInnerHeight()) - offset;
+ var top = this.offsetTop(box);
+ var bottom = top + box.clientHeight;
+
+ return top <= viewBottom && bottom >= viewTop;
+ }
+ }, {
+ key: 'disabled',
+ value: function disabled() {
+ return !this.config.mobile && isMobile(navigator.userAgent);
+ }
+ }]);
+
+ return WOW;
+ }();
+
+ exports.default = WOW;
+ module.exports = exports['default'];
+});
diff --git a/task_webDev/Ananya_Mohapatra_2102070007/lib/wow/wow.min.js b/task_webDev/Ananya_Mohapatra_2102070007/lib/wow/wow.min.js
new file mode 100644
index 0000000..2a9cc46
--- /dev/null
+++ b/task_webDev/Ananya_Mohapatra_2102070007/lib/wow/wow.min.js
@@ -0,0 +1,3 @@
+/*! WOW wow.js - v1.3.0 - 2016-10-04
+* https://wowjs.uk
+* Copyright (c) 2016 Thomas Grainger; Licensed MIT */!function(a,b){if("function"==typeof define&&define.amd)define(["module","exports"],b);else if("undefined"!=typeof exports)b(module,exports);else{var c={exports:{}};b(c,c.exports),a.WOW=c.exports}}(this,function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function d(a,b){return b.indexOf(a)>=0}function e(a,b){for(var c in b)if(null==a[c]){var d=b[c];a[c]=d}return a}function f(a){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a)}function g(a){var b=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],c=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],d=arguments.length<=3||void 0===arguments[3]?null:arguments[3],e=void 0;return null!=document.createEvent?(e=document.createEvent("CustomEvent"),e.initCustomEvent(a,b,c,d)):null!=document.createEventObject?(e=document.createEventObject(),e.eventType=a):e.eventName=a,e}function h(a,b){null!=a.dispatchEvent?a.dispatchEvent(b):b in(null!=a)?a[b]():"on"+b in(null!=a)&&a["on"+b]()}function i(a,b,c){null!=a.addEventListener?a.addEventListener(b,c,!1):null!=a.attachEvent?a.attachEvent("on"+b,c):a[b]=c}function j(a,b,c){null!=a.removeEventListener?a.removeEventListener(b,c,!1):null!=a.detachEvent?a.detachEvent("on"+b,c):delete a[b]}function k(){return"innerHeight"in window?window.innerHeight:document.documentElement.clientHeight}Object.defineProperty(b,"__esModule",{value:!0});var l,m,n=function(){function a(a,b){for(var c=0;c=0){var b=a.target||a.srcElement;b.className=b.className.replace(this.config.animateClass,"").trim()}}},{key:"customStyle",value:function(a,b,c,d,e){return b&&this.cacheAnimationName(a),a.style.visibility=b?"hidden":"visible",c&&this.vendorSet(a.style,{animationDuration:c}),d&&this.vendorSet(a.style,{animationDelay:d}),e&&this.vendorSet(a.style,{animationIterationCount:e}),this.vendorSet(a.style,{animationName:b?"none":this.cachedAnimationName(a)}),a}},{key:"vendorSet",value:function(a,b){for(var c in b)if(b.hasOwnProperty(c)){var d=b[c];a[""+c]=d;for(var e=0;e=e&&f>=c}},{key:"disabled",value:function(){return!this.config.mobile&&f(navigator.userAgent)}}]),a}();b["default"]=r,a.exports=b["default"]});
diff --git a/task_webDev/Ananya_Mohapatra_2102070007/mail/contact.js b/task_webDev/Ananya_Mohapatra_2102070007/mail/contact.js
new file mode 100644
index 0000000..d34310f
--- /dev/null
+++ b/task_webDev/Ananya_Mohapatra_2102070007/mail/contact.js
@@ -0,0 +1,65 @@
+$(function () {
+
+ $("#contactForm input, #contactForm textarea").jqBootstrapValidation({
+ preventSubmit: true,
+ submitError: function ($form, event, errors) {
+ },
+ submitSuccess: function ($form, event) {
+ event.preventDefault();
+ var name = $("input#name").val();
+ var email = $("input#email").val();
+ var subject = $("input#subject").val();
+ var message = $("textarea#message").val();
+
+ $this = $("#sendMessageButton");
+ $this.prop("disabled", true);
+
+ $.ajax({
+ url: "contact.php",
+ type: "POST",
+ data: {
+ name: name,
+ email: email,
+ subject: subject,
+ message: message
+ },
+ cache: false,
+ success: function () {
+ $('#success').html("");
+ $('#success > .alert-success').html("×")
+ .append(" ");
+ $('#success > .alert-success')
+ .append("Your message has been sent. ");
+ $('#success > .alert-success')
+ .append('
');
+ $('#contactForm').trigger("reset");
+ },
+ error: function () {
+ $('#success').html("");
+ $('#success > .alert-danger').html("×")
+ .append(" ");
+ $('#success > .alert-danger').append($("").text("Sorry " + name + ", it seems that our mail server is not responding. Please try again later!"));
+ $('#success > .alert-danger').append('
');
+ $('#contactForm').trigger("reset");
+ },
+ complete: function () {
+ setTimeout(function () {
+ $this.prop("disabled", false);
+ }, 1000);
+ }
+ });
+ },
+ filter: function () {
+ return $(this).is(":visible");
+ },
+ });
+
+ $("a[data-toggle=\"tab\"]").click(function (e) {
+ e.preventDefault();
+ $(this).tab("show");
+ });
+});
+
+$('#name').focus(function () {
+ $('#success').html('');
+});
diff --git a/task_webDev/Ananya_Mohapatra_2102070007/mail/contact.php b/task_webDev/Ananya_Mohapatra_2102070007/mail/contact.php
new file mode 100644
index 0000000..6814136
--- /dev/null
+++ b/task_webDev/Ananya_Mohapatra_2102070007/mail/contact.php
@@ -0,0 +1,20 @@
+
diff --git a/task_webDev/Ananya_Mohapatra_2102070007/mail/jqBootstrapValidation.min.js b/task_webDev/Ananya_Mohapatra_2102070007/mail/jqBootstrapValidation.min.js
new file mode 100644
index 0000000..0fe1827
--- /dev/null
+++ b/task_webDev/Ananya_Mohapatra_2102070007/mail/jqBootstrapValidation.min.js
@@ -0,0 +1 @@
+!function(a){var e=[],t={options:{prependExistingHelpBlock:!1,sniffHtml:!0,preventSubmit:!0,submitError:!1,submitSuccess:!1,semanticallyStrict:!1,autoAdd:{helpBlocks:!0},filter:function(){return!0}},methods:{init:function(o){var r=a.extend(!0,{},t);r.options=a.extend(!0,r.options,o);var l=a.unique(this.map(function(){return a(this).parents("form")[0]}).toArray());return a(l).bind("submit",function(e){var t=a(this),i=0,n=t.find("input,textarea,select").not("[type=submit],[type=image]").filter(r.options.filter);n.trigger("submit.validation").trigger("validationLostFocus.validation"),n.each(function(e,t){var n=a(t).parents(".control-group").first();n.hasClass("warning")&&(n.removeClass("warning").addClass("error"),i++)}),n.trigger("validationLostFocus.validation"),i?(r.options.preventSubmit&&e.preventDefault(),t.addClass("error"),a.isFunction(r.options.submitError)&&r.options.submitError(t,e,n.jqBootstrapValidation("collectErrors",!0))):(t.removeClass("error"),a.isFunction(r.options.submitSuccess)&&r.options.submitSuccess(t,e))}),this.each(function(){var t=a(this),o=t.parents(".control-group").first(),l=o.find(".help-block").first(),s=t.parents("form").first(),d=[];if(!l.length&&r.options.autoAdd&&r.options.autoAdd.helpBlocks&&(l=a('
'),o.find(".controls").append(l),e.push(l[0])),r.options.sniffHtml){var c="";if(void 0!==t.attr("pattern")&&(c="Not in the expected format\x3c!-- data-validation-pattern-message to override --\x3e",t.data("validationPatternMessage")&&(c=t.data("validationPatternMessage")),t.data("validationPatternMessage",c),t.data("validationPatternRegex",t.attr("pattern"))),void 0!==t.attr("max")||void 0!==t.attr("aria-valuemax")){var v=void 0!==t.attr("max")?t.attr("max"):t.attr("aria-valuemax");c="Too high: Maximum of '"+v+"'\x3c!-- data-validation-max-message to override --\x3e",t.data("validationMaxMessage")&&(c=t.data("validationMaxMessage")),t.data("validationMaxMessage",c),t.data("validationMaxMax",v)}if(void 0!==t.attr("min")||void 0!==t.attr("aria-valuemin")){var u=void 0!==t.attr("min")?t.attr("min"):t.attr("aria-valuemin");c="Too low: Minimum of '"+u+"'\x3c!-- data-validation-min-message to override --\x3e",t.data("validationMinMessage")&&(c=t.data("validationMinMessage")),t.data("validationMinMessage",c),t.data("validationMinMin",u)}void 0!==t.attr("maxlength")&&(c="Too long: Maximum of '"+t.attr("maxlength")+"' characters\x3c!-- data-validation-maxlength-message to override --\x3e",t.data("validationMaxlengthMessage")&&(c=t.data("validationMaxlengthMessage")),t.data("validationMaxlengthMessage",c),t.data("validationMaxlengthMaxlength",t.attr("maxlength"))),void 0!==t.attr("minlength")&&(c="Too short: Minimum of '"+t.attr("minlength")+"' characters\x3c!-- data-validation-minlength-message to override --\x3e",t.data("validationMinlengthMessage")&&(c=t.data("validationMinlengthMessage")),t.data("validationMinlengthMessage",c),t.data("validationMinlengthMinlength",t.attr("minlength"))),void 0===t.attr("required")&&void 0===t.attr("aria-required")||(c=r.builtInValidators.required.message,t.data("validationRequiredMessage")&&(c=t.data("validationRequiredMessage")),t.data("validationRequiredMessage",c)),void 0!==t.attr("type")&&"number"===t.attr("type").toLowerCase()&&(c=r.builtInValidators.number.message,t.data("validationNumberMessage")&&(c=t.data("validationNumberMessage")),t.data("validationNumberMessage",c)),void 0!==t.attr("type")&&"email"===t.attr("type").toLowerCase()&&(c="Not a valid email address\x3c!-- data-validator-validemail-message to override --\x3e",t.data("validationValidemailMessage")?c=t.data("validationValidemailMessage"):t.data("validationEmailMessage")&&(c=t.data("validationEmailMessage")),t.data("validationValidemailMessage",c)),void 0!==t.attr("minchecked")&&(c="Not enough options checked; Minimum of '"+t.attr("minchecked")+"' required\x3c!-- data-validation-minchecked-message to override --\x3e",t.data("validationMincheckedMessage")&&(c=t.data("validationMincheckedMessage")),t.data("validationMincheckedMessage",c),t.data("validationMincheckedMinchecked",t.attr("minchecked"))),void 0!==t.attr("maxchecked")&&(c="Too many options checked; Maximum of '"+t.attr("maxchecked")+"' required\x3c!-- data-validation-maxchecked-message to override --\x3e",t.data("validationMaxcheckedMessage")&&(c=t.data("validationMaxcheckedMessage")),t.data("validationMaxcheckedMessage",c),t.data("validationMaxcheckedMaxchecked",t.attr("maxchecked")))}void 0!==t.data("validation")&&(d=t.data("validation").split(",")),a.each(t.data(),function(a,e){var t=a.replace(/([A-Z])/g,",$1").split(",");"validation"===t[0]&&t[1]&&d.push(t[1])});var m=d,g=[];do{a.each(d,function(a,e){d[a]=i(e)}),d=a.unique(d),g=[],a.each(m,function(e,n){if(void 0!==t.data("validation"+n+"Shortcut"))a.each(t.data("validation"+n+"Shortcut").split(","),function(a,e){g.push(e)});else if(r.builtInValidators[n.toLowerCase()]){var o=r.builtInValidators[n.toLowerCase()];"shortcut"===o.type.toLowerCase()&&a.each(o.shortcut.split(","),function(a,e){e=i(e),g.push(e),d.push(e)})}}),m=g}while(m.length>0);var h={};a.each(d,function(e,n){var o=t.data("validation"+n+"Message"),l=void 0!==o,s=!1;if(o=o||"'"+n+"' validation failed \x3c!-- Add attribute 'data-validation-"+n.toLowerCase()+"-message' to input to change this message --\x3e",a.each(r.validatorTypes,function(e,r){void 0===h[e]&&(h[e]=[]),s||void 0===t.data("validation"+n+i(r.name))||(h[e].push(a.extend(!0,{name:i(r.name),message:o},r.init(t,n))),s=!0)}),!s&&r.builtInValidators[n.toLowerCase()]){var d=a.extend(!0,{},r.builtInValidators[n.toLowerCase()]);l&&(d.message=o);var c=d.type.toLowerCase();"shortcut"===c?s=!0:a.each(r.validatorTypes,function(e,o){void 0===h[e]&&(h[e]=[]),s||c!==e.toLowerCase()||(t.data("validation"+n+i(o.name),d[o.name.toLowerCase()]),h[c].push(a.extend(d,o.init(t,n))),s=!0)})}s||a.error("Cannot find validation info for '"+n+"'")}),l.data("original-contents",l.data("original-contents")?l.data("original-contents"):l.html()),l.data("original-role",l.data("original-role")?l.data("original-role"):l.attr("role")),o.data("original-classes",o.data("original-clases")?o.data("original-classes"):o.attr("class")),t.data("original-aria-invalid",t.data("original-aria-invalid")?t.data("original-aria-invalid"):t.attr("aria-invalid")),t.bind("validation.validation",function(e,i){var o=n(t),l=[];return a.each(h,function(e,n){(o||o.length||i&&i.includeEmpty||r.validatorTypes[e].blockSubmit&&i&&i.submitting)&&a.each(n,function(a,i){r.validatorTypes[e].validate(t,o,i)&&l.push(i.message)})}),l}),t.bind("getValidators.validation",function(){return h}),t.bind("submit.validation",function(){return t.triggerHandler("change.validation",{submitting:!0})}),t.bind(["keyup","focus","blur","click","keydown","keypress","change"].join(".validation ")+".validation",function(e,i){var d=n(t),c=[];o.find("input,textarea,select").each(function(e,n){var o=c.length;if(a.each(a(n).triggerHandler("validation.validation",i),function(a,e){c.push(e)}),c.length>o)a(n).attr("aria-invalid","true");else{var r=t.data("original-aria-invalid");a(n).attr("aria-invalid",void 0!==r&&r)}}),s.find("input,select,textarea").not(t).not('[name="'+t.attr("name")+'"]').trigger("validationLostFocus.validation"),(c=a.unique(c.sort())).length?(o.removeClass("success error").addClass("warning"),r.options.semanticallyStrict&&1===c.length?l.html(c[0]+(r.options.prependExistingHelpBlock?l.data("original-contents"):"")):l.html('"+(r.options.prependExistingHelpBlock?l.data("original-contents"):""))):(o.removeClass("warning error success"),d.length>0&&o.addClass("success"),l.html(l.data("original-contents"))),"blur"===e.type&&o.removeClass("success")}),t.bind("validationLostFocus.validation",function(){o.removeClass("success")})})},destroy:function(){return this.each(function(){var t=a(this),i=t.parents(".control-group").first(),n=i.find(".help-block").first();t.unbind(".validation"),n.html(n.data("original-contents")),i.attr("class",i.data("original-classes")),t.attr("aria-invalid",t.data("original-aria-invalid")),n.attr("role",t.data("original-role")),e.indexOf(n[0])>-1&&n.remove()})},collectErrors:function(e){var t={};return this.each(function(e,i){var n=a(i),o=n.attr("name"),r=n.triggerHandler("validation.validation",{includeEmpty:!0});t[o]=a.extend(!0,r,t[o])}),a.each(t,function(a,e){0===e.length&&delete t[a]}),t},hasErrors:function(){var e=[];return this.each(function(t,i){e=e.concat(a(i).triggerHandler("getValidators.validation")?a(i).triggerHandler("validation.validation",{submitting:!0}):[])}),e.length>0},override:function(e){t=a.extend(!0,t,e)}},validatorTypes:{callback:{name:"callback",init:function(a,e){return{validatorName:e,callback:a.data("validation"+e+"Callback"),lastValue:a.val(),lastValid:!0,lastFinished:!0}},validate:function(a,e,t){if(t.lastValue===e&&t.lastFinished)return!t.lastValid;if(!0===t.lastFinished){t.lastValue=e,t.lastValid=!0,t.lastFinished=!1;var i=t,n=a;!function(a,e){for(var t=Array.prototype.slice.call(arguments).splice(2),i=a.split("."),n=i.pop(),o=0;o0&&t.negative)},blockSubmit:!0},match:{name:"match",init:function(a,e){var t=a.parents("form").first().find('[name="'+a.data("validation"+e+"Match")+'"]').first();return t.bind("validation.validation",function(){a.trigger("change.validation",{submitting:!0})}),{element:t}},validate:function(a,e,t){return e!==t.element.val()&&!t.negative||e===t.element.val()&&t.negative},blockSubmit:!0},max:{name:"max",init:function(a,e){return{max:a.data("validation"+e+"Max")}},validate:function(a,e,t){return parseFloat(e,10)>parseFloat(t.max,10)&&!t.negative||parseFloat(e,10)<=parseFloat(t.max,10)&&t.negative}},min:{name:"min",init:function(a,e){return{min:a.data("validation"+e+"Min")}},validate:function(a,e,t){return parseFloat(e)=parseFloat(t.min)&&t.negative}},maxlength:{name:"maxlength",init:function(a,e){return{maxlength:a.data("validation"+e+"Maxlength")}},validate:function(a,e,t){return e.length>t.maxlength&&!t.negative||e.length<=t.maxlength&&t.negative}},minlength:{name:"minlength",init:function(a,e){return{minlength:a.data("validation"+e+"Minlength")}},validate:function(a,e,t){return e.length=t.minlength&&t.negative}},maxchecked:{name:"maxchecked",init:function(a,e){var t=a.parents("form").first().find('[name="'+a.attr("name")+'"]');return t.bind("click.validation",function(){a.trigger("change.validation",{includeEmpty:!0})}),{maxchecked:a.data("validation"+e+"Maxchecked"),elements:t}},validate:function(a,e,t){return t.elements.filter(":checked").length>t.maxchecked&&!t.negative||t.elements.filter(":checked").length<=t.maxchecked&&t.negative},blockSubmit:!0},minchecked:{name:"minchecked",init:function(a,e){var t=a.parents("form").first().find('[name="'+a.attr("name")+'"]');return t.bind("click.validation",function(){a.trigger("change.validation",{includeEmpty:!0})}),{minchecked:a.data("validation"+e+"Minchecked"),elements:t}},validate:function(a,e,t){return t.elements.filter(":checked").length=t.minchecked&&t.negative},blockSubmit:!0}},builtInValidators:{email:{name:"Email",type:"shortcut",shortcut:"validemail"},validemail:{name:"Validemail",type:"regex",regex:"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}",message:"Not a valid email address\x3c!-- data-validator-validemail-message to override --\x3e"},passwordagain:{name:"Passwordagain",type:"match",match:"password",message:"Does not match the given password\x3c!-- data-validator-paswordagain-message to override --\x3e"},positive:{name:"Positive",type:"shortcut",shortcut:"number,positivenumber"},negative:{name:"Negative",type:"shortcut",shortcut:"number,negativenumber"},number:{name:"Number",type:"regex",regex:"([+-]?\\d+(\\.\\d*)?([eE][+-]?[0-9]+)?)?",message:"Must be a number\x3c!-- data-validator-number-message to override --\x3e"},integer:{name:"Integer",type:"regex",regex:"[+-]?\\d+",message:"No decimal places allowed\x3c!-- data-validator-integer-message to override --\x3e"},positivenumber:{name:"Positivenumber",type:"min",min:0,message:"Must be a positive number\x3c!-- data-validator-positivenumber-message to override --\x3e"},negativenumber:{name:"Negativenumber",type:"max",max:0,message:"Must be a negative number\x3c!-- data-validator-negativenumber-message to override --\x3e"},required:{name:"Required",type:"required",message:"This is required\x3c!-- data-validator-required-message to override --\x3e"},checkone:{name:"Checkone",type:"minchecked",minchecked:1,message:"Check at least one option\x3c!-- data-validation-checkone-message to override --\x3e"}}},i=function(a){return a.toLowerCase().replace(/(^|\s)([a-z])/g,function(a,e,t){return e+t.toUpperCase()})},n=function(e){var t=e.val(),i=e.attr("type");return"checkbox"===i&&(t=e.is(":checked")?t:""),"radio"===i&&(t=a('input[name="'+e.attr("name")+'"]:checked').length>0?t:""),t};a.fn.jqBootstrapValidation=function(e){return t.methods[e]?t.methods[e].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof e&&e?(a.error("Method "+e+" does not exist on jQuery.jqBootstrapValidation"),null):t.methods.init.apply(this,arguments)},a.jqBootstrapValidation=function(e){a(":input").not("[type=image],[type=submit]").jqBootstrapValidation.apply(this,arguments)}}(jQuery);
\ No newline at end of file