diff --git a/about.php b/about.php index 98b0260..0e9da70 100644 --- a/about.php +++ b/about.php @@ -1,5 +1,25 @@ - + +
- Lorem ipsum dolor sit amet nsectetur cing elituspe ndisse suscipit
sagitis leo sit.
-
- I was very impresed by the remons service lorem ipsum is simply free text used by copy typing refreshing. Neque porro est qui dolorem ipsum quia. -
-- I was very impresed by the remons service lorem ipsum is simply free text used by copy typing refreshing. Neque porro est qui dolorem ipsum quia. -
-- I was very impresed by the remons service lorem ipsum is simply free text used by copy typing refreshing. Neque porro est qui dolorem ipsum quia. -
-- 66 Road Broklyn Golden Street, 600 - New York, USA + Kathmandu
- © Copyright 2024 by Remons.com + © Copyright 2024 by BohoraCarRental.com
+ “I had an amazing trip with Puran Bohara from Bohara Car Rental. The driver was professional, the car was comfortable, and the experience was unforgettable!” + +
++ “Highly recommend Bohara Car Rental for anyone traveling in Nepal. They made my journey so smooth and enjoyable!” +
++ This is due to their excellent service, competitive pricing and customer support. It’s throughly refresing to get such a personal touch. +
+
- Lorem ipsum dolor sit amet nsectetur cing elituspe ndisse suscipit
sagitis leo sit.
-
- I was very impresed by the remons service lorem ipsum is simply free text used by copy typing refreshing. Neque porro est qui dolorem ipsum quia. -
-- I was very impresed by the remons service lorem ipsum is simply free text used by copy typing refreshing. Neque porro est qui dolorem ipsum quia. -
-- I was very impresed by the remons service lorem ipsum is simply free text used by copy typing refreshing. Neque porro est qui dolorem ipsum quia. -
-- Our mission is to provide safe, reliable, and personalized transportation services that leave lasting memories. Whether you're a tourist, a professional, or an adventurer, we are here to ensure your journey is seamless and enjoyable. + At Bohara Car Rental, we pride ourselves on being one of the most trusted car rental services in Nepal. With over 15 years of professional driving experience, we have built a reputation for reliability, comfort, and excellent customer service. Whether you're traveling for business or leisure, we aim to make your journey seamless, safe, and memorable. +Our rental service comes with a dedicated, experienced driver who is highly skilled, also polite, patient, and knowledgeable about Nepal’s diverse landscapes and road conditions. From the bustling streets of Kathmandu to the serene beauty of Pokhara, we’ll take you wherever you need to go with ease and comfort. +
+ Discover Nepal with Comfort and Trust. +
++ हाम्रो देश प्राकृतिक सौन्दर्य, सांस्कृतिक विविधता, र अद्वितीय अतिथिसत्कारको लागि प्रसिद्ध छ। +
+
Cars
rentouts
@@ -30,7 +30,7 @@
Center
solutions
@@ -40,7 +40,7 @@
happy
customers
diff --git a/parts/gallery.php b/parts/gallery.php
index f01117a..85df30f 100644
--- a/parts/gallery.php
+++ b/parts/gallery.php
@@ -1,126 +1,36 @@
-
-
Our drivers are experienced, soft-spoken, and well-trained to ensure your safety and comfort on every journey. With in-depth knowledge of Nepal’s roads, we navigate everything from rough terrains to smooth highways with expertise.
+Whether you need a compact car for a small group or a spacious SUV for family trips, our fleet is equipped to cater to all your travel needs. Each vehicle is well-maintained, clean, and comfortable for a hassle-free ride.
+Enjoy competitive rates with no hidden charges. Our pricing structure is clear and budget-friendly, ensuring you get the best value for your money.
.
We believe in tailoring our services to meet your unique needs. Whether you’re on a short city trip, a business tour, or a multi-day adventure exploring Nepal’s majestic landscapes, our team is ready to assist you.
+Our mission is to not just get you to your destination but to make your journey enjoyable. With us, you’ll gain more than transportation—you’ll take home lasting memories of Nepal’s beauty and hospitality.
+Explore the vibrant cities of Nepal, including Kathmandu, Pokhara, and Bhaktapur, with a local driver who knows the best routes and landmarks.
+Hassle-free pick-up and drop-off services to and from the airport, ensuring a smooth start or end to your journey.
+Head off the beaten path to discover Nepal’s stunning mountain trails, rural villages, and serene lakes. Let us handle the roads while you focus on the views.
+Professional, punctual, and comfortable transportation for corporate clients.
+Have a specific destination or itinerary in mind? Let us know, and we’ll create a travel package tailored to your preferences.
+Neque porro quisquam est, qui fre dolorem ipsum quia dolor.
-Neque porro quisquam est, qui fre dolorem ipsum quia dolor.
-Neque porro quisquam est, qui fre dolorem ipsum quia dolor.
-
+ Welcome to Bohara Car Rental—your reliable partner for
exploring Nepal’s breathtaking landscapes and vibrant cities.
With over 15 years of driving expertise, we promise a safe,
comfortable, and unforgettable travel experience. Whether you need a ride
through Nepal’s bustling cities or a journey into its serene
countryside, we’re always here for you.
+
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed nonumy eirmod tempor invidunt ut labore et dolore magnaed aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren.
+Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed nonumy eirmod tempor invidunt ut labore et dolore magnaed aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren.
+Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed nonumy eirmod tempor invidunt ut labore et dolore magnaed aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren.
+Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed nonumy eirmod tempor invidunt ut labore et dolore magnaed aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren.
++ Nepal is a land of wonders, home to breathtaking natural beauty, ancient cultural heritage, and warm hospitality. Whether you're visiting iconic destinations like Everest Base Camp, Lumbini (the birthplace of Buddha), or the stunning lakes of Pokhara, Bohara Car Rental ensures that your journey is as remarkable as the destination itself. +
+Experience the grandeur of the world's tallest peak. A must-visit for adventure enthusiasts.
+Explore the sacred birthplace of Buddha, a UNESCO World Heritage Site filled with spiritual serenity.
+Relax by the stunning lakes of Pokhara, with views of the Annapurna range as your backdrop.
+D.clientHeight&&(D.style.height=E-m+"px",D.clientHeight 1&&u.push(e.virtualSize-r)}if(0===u.length&&(u=[0]),0!==a.spaceBetween){const s=e.isHorizontal()&&n?"marginLeft":t("marginRight");c.filter(((e,t)=>!a.cssMode||t!==c.length-1)).css({[s]:`${x}px`})}if(a.centeredSlides&&a.centeredSlidesBounds){let e=0;m.forEach((t=>{e+=t+(a.spaceBetween?a.spaceBetween:0)})),e-=a.spaceBetween;const t=e-r;u=u.map((e=>e<0?-f:e>t?t+g:e))}if(a.centerInsufficientSlides){let e=0;if(m.forEach((t=>{e+=t+(a.spaceBetween?a.spaceBetween:0)})),e-=a.spaceBetween,e {r.wrapperEl.style.scrollSnapType="",r._swiperImmediateVirtual=!1}))}else{if(!r.support.smoothScroll)return w({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}return r.setTransition(t),r.setTranslate(v),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,a),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.$wrapperEl[0].removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].removeEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.$wrapperEl[0].addEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].addEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,a){if(void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),"string"==typeof e){const t=parseInt(e,10);if(!isFinite(t))throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`);e=t}const i=this;let r=e;return i.params.loop&&(r+=i.loopedSlides),i.slideTo(r,t,s,a)},slideNext:function(e,t,s){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);const a=this,{animating:i,enabled:r,params:n}=a;if(!r)return a;let l=n.slidesPerGroup;"auto"===n.slidesPerView&&1===n.slidesPerGroup&&n.slidesPerGroupAuto&&(l=Math.max(a.slidesPerViewDynamic("current",!0),1));const o=a.activeIndex';
+ if (this.o.calendarWeeks) {
+ var cell = ' ';
+ this.picker.find('.datepicker-days thead').append(html);
+ },
+
+ fillMonths: function() {
+ var html = '',
+ i = 0;
+ while (i < 12) {
+ html += '' + dates[this.o.language].monthsShort[i++] + '';
+ }
+ this.picker.find('.datepicker-months td').html(html);
+ },
+
+ setRange: function(range) {
+ if (!range || !range.length)
+ delete this.range;
+ else
+ this.range = $.map(range, function(d) {
+ return d.valueOf();
+ });
+ this.fill();
+ },
+
+ getClassNames: function(date) {
+ var cls = [],
+ year = this.viewDate.getUTCFullYear(),
+ month = this.viewDate.getUTCMonth(),
+ today = new Date();
+ if (date.getUTCFullYear() < year || (date.getUTCFullYear() === year && date.getUTCMonth() < month)) {
+ cls.push('old');
+ } else if (date.getUTCFullYear() > year || (date.getUTCFullYear() === year && date.getUTCMonth() > month)) {
+ cls.push('new');
+ }
+ if (this.focusDate && date.valueOf() === this.focusDate.valueOf())
+ cls.push('focused');
+ // Compare internal UTC date with local today, not UTC today
+ if (this.o.todayHighlight &&
+ date.getUTCFullYear() === today.getFullYear() &&
+ date.getUTCMonth() === today.getMonth() &&
+ date.getUTCDate() === today.getDate()) {
+ cls.push('today');
+ }
+ if (this.dates.contains(date) !== -1)
+ cls.push('active');
+ if (date.valueOf() < this.o.startDate || date.valueOf() > this.o.endDate ||
+ $.inArray(date.getUTCDay(), this.o.daysOfWeekDisabled) !== -1) {
+ cls.push('disabled');
+ }
+ if (this.range) {
+ if (date > this.range[0] && date < this.range[this.range.length - 1]) {
+ cls.push('range');
+ }
+ if ($.inArray(date.valueOf(), this.range) !== -1) {
+ cls.push('selected');
+ }
+ }
+ return cls;
+ },
+
+ fill: function() {
+ var d = new Date(this.viewDate),
+ year = d.getUTCFullYear(),
+ month = d.getUTCMonth(),
+ startYear = this.o.startDate !== -Infinity ? this.o.startDate.getUTCFullYear() : -Infinity,
+ startMonth = this.o.startDate !== -Infinity ? this.o.startDate.getUTCMonth() : -Infinity,
+ endYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear() : Infinity,
+ endMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity,
+ todaytxt = dates[this.o.language].today || dates['en'].today || '',
+ cleartxt = dates[this.o.language].clear || dates['en'].clear || '',
+ tooltip;
+ this.picker.find('.datepicker-days thead th.datepicker-switch')
+ .text(dates[this.o.language].months[month] + ' ' + year);
+ this.picker.find('tfoot th.today')
+ .text(todaytxt)
+ .toggle(this.o.todayBtn !== false);
+ this.picker.find('tfoot th.clear')
+ .text(cleartxt)
+ .toggle(this.o.clearBtn !== false);
+ this.updateNavArrows();
+ this.fillMonths();
+ var prevMonth = UTCDate(year, month - 1, 28),
+ day = DPGlobal.getDaysInMonth(prevMonth.getUTCFullYear(), prevMonth.getUTCMonth());
+ prevMonth.setUTCDate(day);
+ prevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.o.weekStart + 7) % 7);
+ var nextMonth = new Date(prevMonth);
+ nextMonth.setUTCDate(nextMonth.getUTCDate() + 42);
+ nextMonth = nextMonth.valueOf();
+ var html = [];
+ var clsName;
+ while (prevMonth.valueOf() < nextMonth) {
+ if (prevMonth.getUTCDay() === this.o.weekStart) {
+ html.push(' ';
+ html += cell;
+ this.picker.find('.datepicker-days thead tr:first-child').prepend(cell);
+ }
+ while (dowCnt < this.o.weekStart + 7) {
+ html += '' + dates[this.o.language].daysMin[(dowCnt++) % 7] + ' ';
+ }
+ html += '');
+ if (this.o.calendarWeeks) {
+ // ISO 8601: First week contains first thursday.
+ // ISO also states week starts on Monday, but we can be more abstract here.
+ var
+ // Start of current week: based on weekstart/current date
+ ws = new Date(+prevMonth + (this.o.weekStart - prevMonth.getUTCDay() - 7) % 7 * 864e5),
+ // Thursday of this week
+ th = new Date(Number(ws) + (7 + 4 - ws.getUTCDay()) % 7 * 864e5),
+ // First Thursday of year, year from thursday
+ yth = new Date(Number(yth = UTCDate(th.getUTCFullYear(), 0, 1)) + (7 + 4 - yth.getUTCDay()) % 7 * 864e5),
+ // Calendar week: ms between thursdays, div ms per day, div 7 days
+ calWeek = (th - yth) / 864e5 / 7 + 1;
+ html.push(' ');
+ }
+ prevMonth.setUTCDate(prevMonth.getUTCDate() + 1);
+ }
+ this.picker.find('.datepicker-days tbody').empty().append(html.join(''));
+
+ var months = this.picker.find('.datepicker-months')
+ .find('th:eq(1)')
+ .text(year)
+ .end()
+ .find('span').removeClass('active');
+
+ $.each(this.dates, function(i, d) {
+ if (d.getUTCFullYear() === year)
+ months.eq(d.getUTCMonth()).addClass('active');
+ });
+
+ if (year < startYear || year > endYear) {
+ months.addClass('disabled');
+ }
+ if (year === startYear) {
+ months.slice(0, startMonth).addClass('disabled');
+ }
+ if (year === endYear) {
+ months.slice(endMonth + 1).addClass('disabled');
+ }
+
+ html = '';
+ year = parseInt(year / 10, 10) * 10;
+ var yearCont = this.picker.find('.datepicker-years')
+ .find('th:eq(1)')
+ .text(year + '-' + (year + 9))
+ .end()
+ .find('td');
+ year -= 1;
+ var years = $.map(this.dates, function(d) {
+ return d.getUTCFullYear();
+ }),
+ classes;
+ for (var i = -1; i < 11; i++) {
+ classes = ['year'];
+ if (i === -1)
+ classes.push('old');
+ else if (i === 10)
+ classes.push('new');
+ if ($.inArray(year, years) !== -1)
+ classes.push('active');
+ if (year < startYear || year > endYear)
+ classes.push('disabled');
+ html += '' + year + '';
+ year += 1;
+ }
+ yearCont.html(html);
+ },
+
+ updateNavArrows: function() {
+ if (!this._allow_update)
+ return;
+
+ var d = new Date(this.viewDate),
+ year = d.getUTCFullYear(),
+ month = d.getUTCMonth();
+ switch (this.viewMode) {
+ case 0:
+ if (this.o.startDate !== -Infinity && year <= this.o.startDate.getUTCFullYear() && month <= this.o.startDate.getUTCMonth()) {
+ this.picker.find('.prev').css({
+ visibility: 'hidden'
+ });
+ } else {
+ this.picker.find('.prev').css({
+ visibility: 'visible'
+ });
+ }
+ if (this.o.endDate !== Infinity && year >= this.o.endDate.getUTCFullYear() && month >= this.o.endDate.getUTCMonth()) {
+ this.picker.find('.next').css({
+ visibility: 'hidden'
+ });
+ } else {
+ this.picker.find('.next').css({
+ visibility: 'visible'
+ });
+ }
+ break;
+ case 1:
+ case 2:
+ if (this.o.startDate !== -Infinity && year <= this.o.startDate.getUTCFullYear()) {
+ this.picker.find('.prev').css({
+ visibility: 'hidden'
+ });
+ } else {
+ this.picker.find('.prev').css({
+ visibility: 'visible'
+ });
+ }
+ if (this.o.endDate !== Infinity && year >= this.o.endDate.getUTCFullYear()) {
+ this.picker.find('.next').css({
+ visibility: 'hidden'
+ });
+ } else {
+ this.picker.find('.next').css({
+ visibility: 'visible'
+ });
+ }
+ break;
+ }
+ },
+
+ click: function(e) {
+ e.preventDefault();
+ var target = $(e.target).closest('span, td, th'),
+ year, month, day;
+ if (target.length === 1) {
+ switch (target[0].nodeName.toLowerCase()) {
+ case 'th':
+ switch (target[0].className) {
+ case 'datepicker-switch':
+ this.showMode(1);
+ break;
+ case 'prev':
+ case 'next':
+ var dir = DPGlobal.modes[this.viewMode].navStep * (target[0].className === 'prev' ? -1 : 1);
+ switch (this.viewMode) {
+ case 0:
+ this.viewDate = this.moveMonth(this.viewDate, dir);
+ this._trigger('changeMonth', this.viewDate);
+ break;
+ case 1:
+ case 2:
+ this.viewDate = this.moveYear(this.viewDate, dir);
+ if (this.viewMode === 1)
+ this._trigger('changeYear', this.viewDate);
+ break;
+ }
+ this.fill();
+ break;
+ case 'today':
+ var date = new Date();
+ date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0);
+
+ this.showMode(-2);
+ var which = this.o.todayBtn === 'linked' ? null : 'view';
+ this._setDate(date, which);
+ break;
+ case 'clear':
+ var element;
+ if (this.isInput)
+ element = this.element;
+ else if (this.component)
+ element = this.element.find('input');
+ if (element)
+ element.val("").change();
+ this.update();
+ this._trigger('changeDate');
+ if (this.o.autoclose)
+ this.hide();
+ break;
+ }
+ break;
+ case 'span':
+ if (!target.is('.disabled')) {
+ this.viewDate.setUTCDate(1);
+ if (target.is('.month')) {
+ day = 1;
+ month = target.parent().find('span').index(target);
+ year = this.viewDate.getUTCFullYear();
+ this.viewDate.setUTCMonth(month);
+ this._trigger('changeMonth', this.viewDate);
+ if (this.o.minViewMode === 1) {
+ this._setDate(UTCDate(year, month, day));
+ }
+ } else {
+ day = 1;
+ month = 0;
+ year = parseInt(target.text(), 10) || 0;
+ this.viewDate.setUTCFullYear(year);
+ this._trigger('changeYear', this.viewDate);
+ if (this.o.minViewMode === 2) {
+ this._setDate(UTCDate(year, month, day));
+ }
+ }
+ this.showMode(-1);
+ this.fill();
+ }
+ break;
+ case 'td':
+ if (target.is('.day') && !target.is('.disabled')) {
+ day = parseInt(target.text(), 10) || 1;
+ year = this.viewDate.getUTCFullYear();
+ month = this.viewDate.getUTCMonth();
+ if (target.is('.old')) {
+ if (month === 0) {
+ month = 11;
+ year -= 1;
+ } else {
+ month -= 1;
+ }
+ } else if (target.is('.new')) {
+ if (month === 11) {
+ month = 0;
+ year += 1;
+ } else {
+ month += 1;
+ }
+ }
+ this._setDate(UTCDate(year, month, day));
+ }
+ break;
+ }
+ }
+ if (this.picker.is(':visible') && this._focused_from) {
+ $(this._focused_from).focus();
+ }
+ delete this._focused_from;
+ },
+
+ _toggle_multidate: function(date) {
+ var ix = this.dates.contains(date);
+ if (!date) {
+ this.dates.clear();
+ } else if (ix !== -1) {
+ this.dates.remove(ix);
+ } else {
+ this.dates.push(date);
+ }
+ if (typeof this.o.multidate === 'number')
+ while (this.dates.length > this.o.multidate)
+ this.dates.remove(0);
+ },
+
+ _setDate: function(date, which) {
+ if (!which || which === 'date')
+ this._toggle_multidate(date && new Date(date));
+ if (!which || which === 'view')
+ this.viewDate = date && new Date(date);
+
+ this.fill();
+ this.setValue();
+ this._trigger('changeDate');
+ var element;
+ if (this.isInput) {
+ element = this.element;
+ } else if (this.component) {
+ element = this.element.find('input');
+ }
+ if (element) {
+ element.change();
+ }
+ if (this.o.autoclose && (!which || which === 'date')) {
+ this.hide();
+ }
+ },
+
+ moveMonth: function(date, dir) {
+ if (!date)
+ return undefined;
+ if (!dir)
+ return date;
+ var new_date = new Date(date.valueOf()),
+ day = new_date.getUTCDate(),
+ month = new_date.getUTCMonth(),
+ mag = Math.abs(dir),
+ new_month, test;
+ dir = dir > 0 ? 1 : -1;
+ if (mag === 1) {
+ test = dir === -1
+ // If going back one month, make sure month is not current month
+ // (eg, Mar 31 -> Feb 31 == Feb 28, not Mar 02)
+ ?
+ function() {
+ return new_date.getUTCMonth() === month;
+ }
+ // If going forward one month, make sure month is as expected
+ // (eg, Jan 31 -> Feb 31 == Feb 28, not Mar 02)
+ :
+ function() {
+ return new_date.getUTCMonth() !== new_month;
+ };
+ new_month = month + dir;
+ new_date.setUTCMonth(new_month);
+ // Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11
+ if (new_month < 0 || new_month > 11)
+ new_month = (new_month + 12) % 12;
+ } else {
+ // For magnitudes >1, move one month at a time...
+ for (var i = 0; i < mag; i++)
+ // ...which might decrease the day (eg, Jan 31 to Feb 28, etc)...
+ new_date = this.moveMonth(new_date, dir);
+ // ...then reset the day, keeping it in the new month
+ new_month = new_date.getUTCMonth();
+ new_date.setUTCDate(day);
+ test = function() {
+ return new_month !== new_date.getUTCMonth();
+ };
+ }
+ // Common date-resetting loop -- if date is beyond end of month, make it
+ // end of month
+ while (test()) {
+ new_date.setUTCDate(--day);
+ new_date.setUTCMonth(new_month);
+ }
+ return new_date;
+ },
+
+ moveYear: function(date, dir) {
+ return this.moveMonth(date, dir * 12);
+ },
+
+ dateWithinRange: function(date) {
+ return date >= this.o.startDate && date <= this.o.endDate;
+ },
+
+ keydown: function(e) {
+ if (this.picker.is(':not(:visible)')) {
+ if (e.keyCode === 27) // allow escape to hide and re-show picker
+ this.show();
+ return;
+ }
+ var dateChanged = false,
+ dir, newDate, newViewDate,
+ focusDate = this.focusDate || this.viewDate;
+ switch (e.keyCode) {
+ case 27: // escape
+ if (this.focusDate) {
+ this.focusDate = null;
+ this.viewDate = this.dates.get(-1) || this.viewDate;
+ this.fill();
+ } else
+ this.hide();
+ e.preventDefault();
+ break;
+ case 37: // left
+ case 39: // right
+ if (!this.o.keyboardNavigation)
+ break;
+ dir = e.keyCode === 37 ? -1 : 1;
+ if (e.ctrlKey) {
+ newDate = this.moveYear(this.dates.get(-1) || UTCToday(), dir);
+ newViewDate = this.moveYear(focusDate, dir);
+ this._trigger('changeYear', this.viewDate);
+ } else if (e.shiftKey) {
+ newDate = this.moveMonth(this.dates.get(-1) || UTCToday(), dir);
+ newViewDate = this.moveMonth(focusDate, dir);
+ this._trigger('changeMonth', this.viewDate);
+ } else {
+ newDate = new Date(this.dates.get(-1) || UTCToday());
+ newDate.setUTCDate(newDate.getUTCDate() + dir);
+ newViewDate = new Date(focusDate);
+ newViewDate.setUTCDate(focusDate.getUTCDate() + dir);
+ }
+ if (this.dateWithinRange(newDate)) {
+ this.focusDate = this.viewDate = newViewDate;
+ this.setValue();
+ this.fill();
+ e.preventDefault();
+ }
+ break;
+ case 38: // up
+ case 40: // down
+ if (!this.o.keyboardNavigation)
+ break;
+ dir = e.keyCode === 38 ? -1 : 1;
+ if (e.ctrlKey) {
+ newDate = this.moveYear(this.dates.get(-1) || UTCToday(), dir);
+ newViewDate = this.moveYear(focusDate, dir);
+ this._trigger('changeYear', this.viewDate);
+ } else if (e.shiftKey) {
+ newDate = this.moveMonth(this.dates.get(-1) || UTCToday(), dir);
+ newViewDate = this.moveMonth(focusDate, dir);
+ this._trigger('changeMonth', this.viewDate);
+ } else {
+ newDate = new Date(this.dates.get(-1) || UTCToday());
+ newDate.setUTCDate(newDate.getUTCDate() + dir * 7);
+ newViewDate = new Date(focusDate);
+ newViewDate.setUTCDate(focusDate.getUTCDate() + dir * 7);
+ }
+ if (this.dateWithinRange(newDate)) {
+ this.focusDate = this.viewDate = newViewDate;
+ this.setValue();
+ this.fill();
+ e.preventDefault();
+ }
+ break;
+ case 32: // spacebar
+ // Spacebar is used in manually typing dates in some formats.
+ // As such, its behavior should not be hijacked.
+ break;
+ case 13: // enter
+ focusDate = this.focusDate || this.dates.get(-1) || this.viewDate;
+ this._toggle_multidate(focusDate);
+ dateChanged = true;
+ this.focusDate = null;
+ this.viewDate = this.dates.get(-1) || this.viewDate;
+ this.setValue();
+ this.fill();
+ if (this.picker.is(':visible')) {
+ e.preventDefault();
+ if (this.o.autoclose)
+ this.hide();
+ }
+ break;
+ case 9: // tab
+ this.focusDate = null;
+ this.viewDate = this.dates.get(-1) || this.viewDate;
+ this.fill();
+ this.hide();
+ break;
+ }
+ if (dateChanged) {
+ if (this.dates.length)
+ this._trigger('changeDate');
+ else
+ this._trigger('clearDate');
+ var element;
+ if (this.isInput) {
+ element = this.element;
+ } else if (this.component) {
+ element = this.element.find('input');
+ }
+ if (element) {
+ element.change();
+ }
+ }
+ },
+
+ showMode: function(dir) {
+ if (dir) {
+ this.viewMode = Math.max(this.o.minViewMode, Math.min(2, this.viewMode + dir));
+ }
+ this.picker
+ .find('>div')
+ .hide()
+ .filter('.datepicker-' + DPGlobal.modes[this.viewMode].clsName)
+ .css('display', 'block');
+ this.updateNavArrows();
+ }
+ };
+
+ var DateRangePicker = function(element, options) {
+ this.element = $(element);
+ this.inputs = $.map(options.inputs, function(i) {
+ return i.jquery ? i[0] : i;
+ });
+ delete options.inputs;
+
+ $(this.inputs)
+ .datepicker(options)
+ .bind('changeDate', $.proxy(this.dateUpdated, this));
+
+ this.pickers = $.map(this.inputs, function(i) {
+ return $(i).data('datepicker');
+ });
+ this.updateDates();
+ };
+ DateRangePicker.prototype = {
+ updateDates: function() {
+ this.dates = $.map(this.pickers, function(i) {
+ return i.getUTCDate();
+ });
+ this.updateRanges();
+ },
+ updateRanges: function() {
+ var range = $.map(this.dates, function(d) {
+ return d.valueOf();
+ });
+ $.each(this.pickers, function(i, p) {
+ p.setRange(range);
+ });
+ },
+ dateUpdated: function(e) {
+ // `this.updating` is a workaround for preventing infinite recursion
+ // between `changeDate` triggering and `setUTCDate` calling. Until
+ // there is a better mechanism.
+ if (this.updating)
+ return;
+ this.updating = true;
+
+ var dp = $(e.target).data('datepicker'),
+ new_date = dp.getUTCDate(),
+ i = $.inArray(e.target, this.inputs),
+ l = this.inputs.length;
+ if (i === -1)
+ return;
+
+ $.each(this.pickers, function(i, p) {
+ if (!p.getUTCDate())
+ p.setUTCDate(new_date);
+ });
+
+ if (new_date < this.dates[i]) {
+ // Date being moved earlier/left
+ while (i >= 0 && new_date < this.dates[i]) {
+ this.pickers[i--].setUTCDate(new_date);
+ }
+ } else if (new_date > this.dates[i]) {
+ // Date being moved later/right
+ while (i < l && new_date > this.dates[i]) {
+ this.pickers[i++].setUTCDate(new_date);
+ }
+ }
+ this.updateDates();
+
+ delete this.updating;
+ },
+ remove: function() {
+ $.map(this.pickers, function(p) {
+ p.remove();
+ });
+ delete this.element.data().datepicker;
+ }
+ };
+
+ function opts_from_el(el, prefix) {
+ // Derive options from element data-attrs
+ var data = $(el).data(),
+ out = {},
+ inkey,
+ replace = new RegExp('^' + prefix.toLowerCase() + '([A-Z])');
+ prefix = new RegExp('^' + prefix.toLowerCase());
+
+ function re_lower(_, a) {
+ return a.toLowerCase();
+ }
+ for (var key in data)
+ if (prefix.test(key)) {
+ inkey = key.replace(replace, re_lower);
+ out[inkey] = data[key];
+ }
+ return out;
+ }
+
+ function opts_from_locale(lang) {
+ // Derive options from locale plugins
+ var out = {};
+ // Check if "de-DE" style date is available, if not language should
+ // fallback to 2 letter code eg "de"
+ if (!dates[lang]) {
+ lang = lang.split('-')[0];
+ if (!dates[lang])
+ return;
+ }
+ var d = dates[lang];
+ $.each(locale_opts, function(i, k) {
+ if (k in d)
+ out[k] = d[k];
+ });
+ return out;
+ }
+
+ var old = $.fn.datepicker;
+ $.fn.datepicker = function(option) {
+ var args = Array.apply(null, arguments);
+ args.shift();
+ var internal_return;
+ this.each(function() {
+ var $this = $(this),
+ data = $this.data('datepicker'),
+ options = typeof option === 'object' && option;
+ if (!data) {
+ var elopts = opts_from_el(this, 'date'),
+ // Preliminary otions
+ xopts = $.extend({}, defaults, elopts, options),
+ locopts = opts_from_locale(xopts.language),
+ // Options priority: js args, data-attrs, locales, defaults
+ opts = $.extend({}, defaults, locopts, elopts, options);
+ if ($this.is('.input-daterange') || opts.inputs) {
+ var ropts = {
+ inputs: opts.inputs || $this.find('input').toArray()
+ };
+ $this.data('datepicker', (data = new DateRangePicker(this, $.extend(opts, ropts))));
+ } else {
+ $this.data('datepicker', (data = new Datepicker(this, opts)));
+ }
+ }
+ if (typeof option === 'string' && typeof data[option] === 'function') {
+ internal_return = data[option].apply(data, args);
+ if (internal_return !== undefined)
+ return false;
+ }
+ });
+ if (internal_return !== undefined)
+ return internal_return;
+ else
+ return this;
+ };
+
+ var defaults = $.fn.datepicker.defaults = {
+ autoclose: false,
+ beforeShowDay: $.noop,
+ calendarWeeks: false,
+ clearBtn: false,
+ daysOfWeekDisabled: [],
+ endDate: Infinity,
+ forceParse: true,
+ format: 'mm/dd/yyyy',
+ keyboardNavigation: true,
+ language: 'en',
+ minViewMode: 0,
+ multidate: false,
+ multidateSeparator: ',',
+ orientation: "auto",
+ rtl: false,
+ startDate: -Infinity,
+ startView: 0,
+ todayBtn: false,
+ todayHighlight: false,
+ weekStart: 0
+ };
+ var locale_opts = $.fn.datepicker.locale_opts = [
+ 'format',
+ 'rtl',
+ 'weekStart'
+ ];
+ $.fn.datepicker.Constructor = Datepicker;
+ var dates = $.fn.datepicker.dates = {
+ en: {
+ days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
+ daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
+ daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"],
+ months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
+ monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
+ today: "Today",
+ clear: "Clear"
+ }
+ };
+
+ var DPGlobal = {
+ modes: [{
+ clsName: 'days',
+ navFnc: 'Month',
+ navStep: 1
+ },
+ {
+ clsName: 'months',
+ navFnc: 'FullYear',
+ navStep: 1
+ },
+ {
+ clsName: 'years',
+ navFnc: 'FullYear',
+ navStep: 10
+ }
+ ],
+ isLeapYear: function(year) {
+ return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0));
+ },
+ getDaysInMonth: function(year, month) {
+ return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
+ },
+ validParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g,
+ nonpunctuation: /[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g,
+ parseFormat: function(format) {
+ // IE treats \0 as a string end in inputs (truncating the value),
+ // so it's a bad format delimiter, anyway
+ var separators = format.replace(this.validParts, '\0').split('\0'),
+ parts = format.match(this.validParts);
+ if (!separators || !separators.length || !parts || parts.length === 0) {
+ throw new Error("Invalid date format.");
+ }
+ return {
+ separators: separators,
+ parts: parts
+ };
+ },
+ parseDate: function(date, format, language) {
+ if (!date)
+ return undefined;
+ if (date instanceof Date)
+ return date;
+ if (typeof format === 'string')
+ format = DPGlobal.parseFormat(format);
+ var part_re = /([\-+]\d+)([dmwy])/,
+ parts = date.match(/([\-+]\d+)([dmwy])/g),
+ part, dir, i;
+ if (/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(date)) {
+ date = new Date();
+ for (i = 0; i < parts.length; i++) {
+ part = part_re.exec(parts[i]);
+ dir = parseInt(part[1]);
+ switch (part[2]) {
+ case 'd':
+ date.setUTCDate(date.getUTCDate() + dir);
+ break;
+ case 'm':
+ date = Datepicker.prototype.moveMonth.call(Datepicker.prototype, date, dir);
+ break;
+ case 'w':
+ date.setUTCDate(date.getUTCDate() + dir * 7);
+ break;
+ case 'y':
+ date = Datepicker.prototype.moveYear.call(Datepicker.prototype, date, dir);
+ break;
+ }
+ }
+ return UTCDate(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), 0, 0, 0);
+ }
+ parts = date && date.match(this.nonpunctuation) || [];
+ date = new Date();
+ var parsed = {},
+ setters_order = ['yyyy', 'yy', 'M', 'MM', 'm', 'mm', 'd', 'dd'],
+ setters_map = {
+ yyyy: function(d, v) {
+ return d.setUTCFullYear(v);
+ },
+ yy: function(d, v) {
+ return d.setUTCFullYear(2000 + v);
+ },
+ m: function(d, v) {
+ if (isNaN(d))
+ return d;
+ v -= 1;
+ while (v < 0) v += 12;
+ v %= 12;
+ d.setUTCMonth(v);
+ while (d.getUTCMonth() !== v)
+ d.setUTCDate(d.getUTCDate() - 1);
+ return d;
+ },
+ d: function(d, v) {
+ return d.setUTCDate(v);
+ }
+ },
+ val, filtered;
+ setters_map['M'] = setters_map['MM'] = setters_map['mm'] = setters_map['m'];
+ setters_map['dd'] = setters_map['d'];
+ date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0);
+ var fparts = format.parts.slice();
+ // Remove noop parts
+ if (parts.length !== fparts.length) {
+ fparts = $(fparts).filter(function(i, p) {
+ return $.inArray(p, setters_order) !== -1;
+ }).toArray();
+ }
+ // Process remainder
+ function match_part() {
+ var m = this.slice(0, parts[i].length),
+ p = parts[i].slice(0, m.length);
+ return m === p;
+ }
+ if (parts.length === fparts.length) {
+ var cnt;
+ for (i = 0, cnt = fparts.length; i < cnt; i++) {
+ val = parseInt(parts[i], 10);
+ part = fparts[i];
+ if (isNaN(val)) {
+ switch (part) {
+ case 'MM':
+ filtered = $(dates[language].months).filter(match_part);
+ val = $.inArray(filtered[0], dates[language].months) + 1;
+ break;
+ case 'M':
+ filtered = $(dates[language].monthsShort).filter(match_part);
+ val = $.inArray(filtered[0], dates[language].monthsShort) + 1;
+ break;
+ }
+ }
+ parsed[part] = val;
+ }
+ var _date, s;
+ for (i = 0; i < setters_order.length; i++) {
+ s = setters_order[i];
+ if (s in parsed && !isNaN(parsed[s])) {
+ _date = new Date(date);
+ setters_map[s](_date, parsed[s]);
+ if (!isNaN(_date))
+ date = _date;
+ }
+ }
+ }
+ return date;
+ },
+ formatDate: function(date, format, language) {
+ if (!date)
+ return '';
+ if (typeof format === 'string')
+ format = DPGlobal.parseFormat(format);
+ var val = {
+ d: date.getUTCDate(),
+ D: dates[language].daysShort[date.getUTCDay()],
+ DD: dates[language].days[date.getUTCDay()],
+ m: date.getUTCMonth() + 1,
+ M: dates[language].monthsShort[date.getUTCMonth()],
+ MM: dates[language].months[date.getUTCMonth()],
+ yy: date.getUTCFullYear().toString().substring(2),
+ yyyy: date.getUTCFullYear()
+ };
+ val.dd = (val.d < 10 ? '0' : '') + val.d;
+ val.mm = (val.m < 10 ? '0' : '') + val.m;
+ date = [];
+ var seps = $.extend([], format.separators);
+ for (var i = 0, cnt = format.parts.length; i <= cnt; i++) {
+ if (seps.length)
+ date.push(seps.shift());
+ date.push(val[format.parts[i]]);
+ }
+ return date.join('');
+ },
+ headTemplate: '' +
+ '' + calWeek + ' ');
+
+ }
+ }
+ clsName = this.getClassNames(prevMonth);
+ clsName.push('day');
+
+ if (this.o.beforeShowDay !== $.noop) {
+ var before = this.o.beforeShowDay(this._utc_to_local(prevMonth));
+ if (before === undefined)
+ before = {};
+ else if (typeof(before) === 'boolean')
+ before = {
+ enabled: before
+ };
+ else if (typeof(before) === 'string')
+ before = {
+ classes: before
+ };
+ if (before.enabled === false)
+ clsName.push('disabled');
+ if (before.classes)
+ clsName = clsName.concat(before.classes.split(/\s+/));
+ if (before.tooltip)
+ tooltip = before.tooltip;
+ }
+
+ clsName = $.unique(clsName);
+ html.push('' + prevMonth.getUTCDate() + ' ');
+ if (prevMonth.getUTCDay() === this.o.weekEnd) {
+ html.push('' +
+ ' ' +
+ '',
+ contTemplate: '« ' +
+ '' +
+ ' » ' +
+ ' ',
+ footTemplate: '' +
+ '' +
+ ' ' +
+ '' +
+ ' ' +
+ ' ' +
+ ''
+ };
+ DPGlobal.template = '' +
+ ' ' +
+ DPGlobal.headTemplate +
+ '' +
+ DPGlobal.footTemplate +
+ '
' +
+ '' +
+ DPGlobal.headTemplate +
+ DPGlobal.contTemplate +
+ DPGlobal.footTemplate +
+ '
' +
+ '' +
+ DPGlobal.headTemplate +
+ DPGlobal.contTemplate +
+ DPGlobal.footTemplate +
+ '
' +
+ '","
"],col:[2,"
"],tr:[2,"","
"],td:[3,"
"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n"," ").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0'));var s=t.next(),n=t.find("option"),i=t.find("option:selected");s.find(".current").html(i.data("display")||i.text()),n.each(function(t){var n=e(this),i=n.data("display");s.find("ul").append(e("").attr("data-value",n.val()).attr("data-display",i||null).addClass("option"+(n.is(":selected")?" selected":"")+(n.is(":disabled")?" disabled":"")).html(n.text()))})}if("string"==typeof t)return"update"==t?this.each(function(){var t=e(this),n=e(this).next(".nice-select"),i=n.hasClass("open");n.length&&(n.remove(),s(t),i&&t.next().trigger("click"))}):"destroy"==t?(this.each(function(){var t=e(this),s=e(this).next(".nice-select");s.length&&(s.remove(),t.css("display",""))}),0==e(".nice-select").length&&e(document).off(".nice_select")):console.log('Method "'+t+'" does not exist.'),this;this.hide(),this.each(function(){var t=e(this);t.next().hasClass("nice-select")||s(t)}),e(document).off(".nice_select"),e(document).on("click.nice_select",".nice-select",function(t){var s=e(this);e(".nice-select").not(s).removeClass("open"),s.toggleClass("open"),s.hasClass("open")?(s.find(".option"),s.find(".focus").removeClass("focus"),s.find(".selected").addClass("focus")):s.focus()}),e(document).on("click.nice_select",function(t){0===e(t.target).closest(".nice-select").length&&e(".nice-select").removeClass("open").find(".option")}),e(document).on("click.nice_select",".nice-select .option:not(.disabled)",function(t){var s=e(this),n=s.closest(".nice-select");n.find(".selected").removeClass("selected"),s.addClass("selected");var i=s.data("display")||s.text();n.find(".current").text(i),n.prev("select").val(s.data("value")).trigger("change")}),e(document).on("keydown.nice_select",".nice-select",function(t){var s=e(this),n=e(s.find(".focus")||s.find(".list .option.selected"));if(32==t.keyCode||13==t.keyCode)return s.hasClass("open")?n.trigger("click"):s.trigger("click"),!1;if(40==t.keyCode){if(s.hasClass("open")){var i=n.nextAll(".option:not(.disabled)").first();i.length>0&&(s.find(".focus").removeClass("focus"),i.addClass("focus"))}else s.trigger("click");return!1}if(38==t.keyCode){if(s.hasClass("open")){var l=n.prevAll(".option:not(.disabled)").first();l.length>0&&(s.find(".focus").removeClass("focus"),l.addClass("focus"))}else s.trigger("click");return!1}if(27==t.keyCode)s.hasClass("open")&&s.trigger("click");else if(9==t.keyCode&&s.hasClass("open"))return!1});var n=document.createElement("a").style;return n.cssText="pointer-events:auto","auto"!==n.pointerEvents&&e("html").addClass("no-csspointerevents"),this}}(jQuery);
\ No newline at end of file
diff --git a/template/assets/js/jquery.waypoints.js b/template/assets/js/jquery.waypoints.js
new file mode 100644
index 0000000..d70b245
--- /dev/null
+++ b/template/assets/js/jquery.waypoints.js
@@ -0,0 +1,662 @@
+/*!
+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'
+
+ var keyCounter = 0
+ var allWaypoints = {}
+
+ /* http://imakewebthings.com/waypoints/api/waypoint */
+ function Waypoint(options) {
+ if (!options) {
+ throw new Error('No options passed to Waypoint constructor')
+ }
+ if (!options.element) {
+ throw new Error('No element option passed to Waypoint constructor')
+ }
+ if (!options.handler) {
+ throw new Error('No handler option passed to Waypoint constructor')
+ }
+
+ this.key = 'waypoint-' + keyCounter
+ this.options = Waypoint.Adapter.extend({}, Waypoint.defaults, options)
+ this.element = this.options.element
+ this.adapter = new Waypoint.Adapter(this.element)
+ this.callback = options.handler
+ this.axis = this.options.horizontal ? 'horizontal' : 'vertical'
+ this.enabled = this.options.enabled
+ this.triggerPoint = null
+ this.group = Waypoint.Group.findOrCreate({
+ name: this.options.group,
+ axis: this.axis
+ })
+ this.context = Waypoint.Context.findOrCreateByElement(this.options.context)
+
+ if (Waypoint.offsetAliases[this.options.offset]) {
+ this.options.offset = Waypoint.offsetAliases[this.options.offset]
+ }
+ this.group.add(this)
+ this.context.add(this)
+ allWaypoints[this.key] = this
+ keyCounter += 1
+ }
+
+ /* Private */
+ Waypoint.prototype.queueTrigger = function(direction) {
+ this.group.queueTrigger(this, direction)
+ }
+
+ /* Private */
+ Waypoint.prototype.trigger = function(args) {
+ if (!this.enabled) {
+ return
+ }
+ if (this.callback) {
+ this.callback.apply(this, args)
+ }
+ }
+
+ /* Public */
+ /* http://imakewebthings.com/waypoints/api/destroy */
+ Waypoint.prototype.destroy = function() {
+ this.context.remove(this)
+ this.group.remove(this)
+ delete allWaypoints[this.key]
+ }
+
+ /* Public */
+ /* http://imakewebthings.com/waypoints/api/disable */
+ Waypoint.prototype.disable = function() {
+ this.enabled = false
+ return this
+ }
+
+ /* Public */
+ /* http://imakewebthings.com/waypoints/api/enable */
+ Waypoint.prototype.enable = function() {
+ this.context.refresh()
+ this.enabled = true
+ return this
+ }
+
+ /* Public */
+ /* http://imakewebthings.com/waypoints/api/next */
+ Waypoint.prototype.next = function() {
+ return this.group.next(this)
+ }
+
+ /* Public */
+ /* http://imakewebthings.com/waypoints/api/previous */
+ Waypoint.prototype.previous = function() {
+ return this.group.previous(this)
+ }
+
+ /* Private */
+ Waypoint.invokeAll = function(method) {
+ var allWaypointsArray = []
+ for (var waypointKey in allWaypoints) {
+ allWaypointsArray.push(allWaypoints[waypointKey])
+ }
+ for (var i = 0, end = allWaypointsArray.length; i < end; i++) {
+ allWaypointsArray[i][method]()
+ }
+ }
+
+ /* Public */
+ /* http://imakewebthings.com/waypoints/api/destroy-all */
+ Waypoint.destroyAll = function() {
+ Waypoint.invokeAll('destroy')
+ }
+
+ /* Public */
+ /* http://imakewebthings.com/waypoints/api/disable-all */
+ Waypoint.disableAll = function() {
+ Waypoint.invokeAll('disable')
+ }
+
+ /* Public */
+ /* http://imakewebthings.com/waypoints/api/enable-all */
+ Waypoint.enableAll = function() {
+ Waypoint.Context.refreshAll()
+ for (var waypointKey in allWaypoints) {
+ allWaypoints[waypointKey].enabled = true
+ }
+ return this
+ }
+
+ /* Public */
+ /* http://imakewebthings.com/waypoints/api/refresh-all */
+ Waypoint.refreshAll = function() {
+ Waypoint.Context.refreshAll()
+ }
+
+ /* Public */
+ /* http://imakewebthings.com/waypoints/api/viewport-height */
+ Waypoint.viewportHeight = function() {
+ return window.innerHeight || document.documentElement.clientHeight
+ }
+
+ /* Public */
+ /* http://imakewebthings.com/waypoints/api/viewport-width */
+ Waypoint.viewportWidth = function() {
+ return document.documentElement.clientWidth
+ }
+
+ Waypoint.adapters = []
+
+ Waypoint.defaults = {
+ context: window,
+ continuous: true,
+ enabled: true,
+ group: 'default',
+ horizontal: false,
+ offset: 0
+ }
+
+ Waypoint.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 = Waypoint
+}())
+;(function() {
+ 'use strict'
+
+ function requestAnimationFrameShim(callback) {
+ window.setTimeout(callback, 1000 / 60)
+ }
+
+ var keyCounter = 0
+ var contexts = {}
+ var Waypoint = window.Waypoint
+ var oldWindowLoad = window.onload
+
+ /* http://imakewebthings.com/waypoints/api/context */
+ function Context(element) {
+ this.element = element
+ this.Adapter = Waypoint.Adapter
+ this.adapter = new this.Adapter(element)
+ this.key = 'waypoint-context-' + keyCounter
+ this.didScroll = false
+ this.didResize = false
+ this.oldScroll = {
+ x: this.adapter.scrollLeft(),
+ y: this.adapter.scrollTop()
+ }
+ this.waypoints = {
+ vertical: {},
+ horizontal: {}
+ }
+
+ element.waypointContextKey = this.key
+ contexts[element.waypointContextKey] = this
+ keyCounter += 1
+ if (!Waypoint.windowContext) {
+ Waypoint.windowContext = true
+ Waypoint.windowContext = new Context(window)
+ }
+
+ this.createThrottledScrollHandler()
+ this.createThrottledResizeHandler()
+ }
+
+ /* Private */
+ Context.prototype.add = function(waypoint) {
+ var axis = waypoint.options.horizontal ? 'horizontal' : 'vertical'
+ this.waypoints[axis][waypoint.key] = waypoint
+ this.refresh()
+ }
+
+ /* Private */
+ Context.prototype.checkEmpty = function() {
+ var horizontalEmpty = this.Adapter.isEmptyObject(this.waypoints.horizontal)
+ var verticalEmpty = this.Adapter.isEmptyObject(this.waypoints.vertical)
+ var isWindow = this.element == this.element.window
+ if (horizontalEmpty && verticalEmpty && !isWindow) {
+ this.adapter.off('.waypoints')
+ delete contexts[this.key]
+ }
+ }
+
+ /* Private */
+ Context.prototype.createThrottledResizeHandler = function() {
+ var self = this
+
+ function resizeHandler() {
+ self.handleResize()
+ self.didResize = false
+ }
+
+ this.adapter.on('resize.waypoints', function() {
+ if (!self.didResize) {
+ self.didResize = true
+ Waypoint.requestAnimationFrame(resizeHandler)
+ }
+ })
+ }
+
+ /* Private */
+ Context.prototype.createThrottledScrollHandler = function() {
+ var self = this
+ function scrollHandler() {
+ self.handleScroll()
+ self.didScroll = false
+ }
+
+ this.adapter.on('scroll.waypoints', function() {
+ if (!self.didScroll || Waypoint.isTouch) {
+ self.didScroll = true
+ Waypoint.requestAnimationFrame(scrollHandler)
+ }
+ })
+ }
+
+ /* Private */
+ Context.prototype.handleResize = function() {
+ Waypoint.Context.refreshAll()
+ }
+
+ /* Private */
+ Context.prototype.handleScroll = function() {
+ var triggeredGroups = {}
+ var axes = {
+ 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 axisKey in axes) {
+ var axis = axes[axisKey]
+ var isForward = axis.newScroll > axis.oldScroll
+ var direction = isForward ? axis.forward : axis.backward
+
+ for (var waypointKey in this.waypoints[axisKey]) {
+ var waypoint = this.waypoints[axisKey][waypointKey]
+ if (waypoint.triggerPoint === null) {
+ continue
+ }
+ var wasBeforeTriggerPoint = axis.oldScroll < waypoint.triggerPoint
+ var nowAfterTriggerPoint = axis.newScroll >= waypoint.triggerPoint
+ var crossedForward = wasBeforeTriggerPoint && nowAfterTriggerPoint
+ var crossedBackward = !wasBeforeTriggerPoint && !nowAfterTriggerPoint
+ if (crossedForward || crossedBackward) {
+ waypoint.queueTrigger(direction)
+ triggeredGroups[waypoint.group.id] = waypoint.group
+ }
+ }
+ }
+
+ for (var groupKey in triggeredGroups) {
+ triggeredGroups[groupKey].flushTriggers()
+ }
+
+ this.oldScroll = {
+ x: axes.horizontal.newScroll,
+ y: axes.vertical.newScroll
+ }
+ }
+
+ /* Private */
+ Context.prototype.innerHeight = function() {
+ /*eslint-disable eqeqeq */
+ if (this.element == this.element.window) {
+ return Waypoint.viewportHeight()
+ }
+ /*eslint-enable eqeqeq */
+ return this.adapter.innerHeight()
+ }
+
+ /* Private */
+ Context.prototype.remove = function(waypoint) {
+ delete this.waypoints[waypoint.axis][waypoint.key]
+ this.checkEmpty()
+ }
+
+ /* Private */
+ Context.prototype.innerWidth = function() {
+ /*eslint-disable eqeqeq */
+ if (this.element == this.element.window) {
+ return Waypoint.viewportWidth()
+ }
+ /*eslint-enable eqeqeq */
+ return this.adapter.innerWidth()
+ }
+
+ /* Public */
+ /* http://imakewebthings.com/waypoints/api/context-destroy */
+ Context.prototype.destroy = function() {
+ var allWaypoints = []
+ for (var axis in this.waypoints) {
+ for (var waypointKey in this.waypoints[axis]) {
+ allWaypoints.push(this.waypoints[axis][waypointKey])
+ }
+ }
+ for (var i = 0, end = allWaypoints.length; i < end; i++) {
+ allWaypoints[i].destroy()
+ }
+ }
+
+ /* Public */
+ /* http://imakewebthings.com/waypoints/api/context-refresh */
+ Context.prototype.refresh = function() {
+ /*eslint-disable eqeqeq */
+ var isWindow = this.element == this.element.window
+ /*eslint-enable eqeqeq */
+ var contextOffset = isWindow ? undefined : this.adapter.offset()
+ var triggeredGroups = {}
+ var axes
+
+ this.handleScroll()
+ axes = {
+ horizontal: {
+ contextOffset: isWindow ? 0 : contextOffset.left,
+ contextScroll: isWindow ? 0 : this.oldScroll.x,
+ contextDimension: this.innerWidth(),
+ oldScroll: this.oldScroll.x,
+ forward: 'right',
+ backward: 'left',
+ offsetProp: 'left'
+ },
+ vertical: {
+ contextOffset: isWindow ? 0 : contextOffset.top,
+ contextScroll: isWindow ? 0 : this.oldScroll.y,
+ contextDimension: this.innerHeight(),
+ oldScroll: this.oldScroll.y,
+ forward: 'down',
+ backward: 'up',
+ offsetProp: 'top'
+ }
+ }
+
+ for (var axisKey in axes) {
+ var axis = axes[axisKey]
+ for (var waypointKey in this.waypoints[axisKey]) {
+ var waypoint = this.waypoints[axisKey][waypointKey]
+ var adjustment = waypoint.options.offset
+ var oldTriggerPoint = waypoint.triggerPoint
+ var elementOffset = 0
+ var freshWaypoint = oldTriggerPoint == null
+ var contextModifier, wasBeforeScroll, nowAfterScroll
+ var triggeredBackward, triggeredForward
+
+ if (waypoint.element !== waypoint.element.window) {
+ elementOffset = waypoint.adapter.offset()[axis.offsetProp]
+ }
+
+ if (typeof adjustment === 'function') {
+ adjustment = adjustment.apply(waypoint)
+ }
+ else if (typeof adjustment === 'string') {
+ adjustment = parseFloat(adjustment)
+ if (waypoint.options.offset.indexOf('%') > - 1) {
+ adjustment = Math.ceil(axis.contextDimension * adjustment / 100)
+ }
+ }
+
+ contextModifier = axis.contextScroll - axis.contextOffset
+ waypoint.triggerPoint = Math.floor(elementOffset + contextModifier - adjustment)
+ wasBeforeScroll = oldTriggerPoint < axis.oldScroll
+ nowAfterScroll = waypoint.triggerPoint >= axis.oldScroll
+ triggeredBackward = wasBeforeScroll && nowAfterScroll
+ triggeredForward = !wasBeforeScroll && !nowAfterScroll
+
+ if (!freshWaypoint && triggeredBackward) {
+ waypoint.queueTrigger(axis.backward)
+ triggeredGroups[waypoint.group.id] = waypoint.group
+ }
+ else if (!freshWaypoint && triggeredForward) {
+ waypoint.queueTrigger(axis.forward)
+ triggeredGroups[waypoint.group.id] = waypoint.group
+ }
+ else if (freshWaypoint && axis.oldScroll >= waypoint.triggerPoint) {
+ waypoint.queueTrigger(axis.forward)
+ triggeredGroups[waypoint.group.id] = waypoint.group
+ }
+ }
+ }
+
+ Waypoint.requestAnimationFrame(function() {
+ for (var groupKey in triggeredGroups) {
+ triggeredGroups[groupKey].flushTriggers()
+ }
+ })
+
+ return this
+ }
+
+ /* Private */
+ Context.findOrCreateByElement = function(element) {
+ return Context.findByElement(element) || new Context(element)
+ }
+
+ /* Private */
+ Context.refreshAll = function() {
+ for (var contextId in contexts) {
+ contexts[contextId].refresh()
+ }
+ }
+
+ /* Public */
+ /* http://imakewebthings.com/waypoints/api/context-find-by-element */
+ Context.findByElement = function(element) {
+ return contexts[element.waypointContextKey]
+ }
+
+ window.onload = function() {
+ if (oldWindowLoad) {
+ oldWindowLoad()
+ }
+ Context.refreshAll()
+ }
+
+
+ Waypoint.requestAnimationFrame = function(callback) {
+ var requestFn = window.requestAnimationFrame ||
+ window.mozRequestAnimationFrame ||
+ window.webkitRequestAnimationFrame ||
+ requestAnimationFrameShim
+ requestFn.call(window, callback)
+ }
+ Waypoint.Context = Context
+}())
+;(function() {
+ 'use strict'
+
+ function byTriggerPoint(a, b) {
+ return a.triggerPoint - b.triggerPoint
+ }
+
+ function byReverseTriggerPoint(a, b) {
+ return b.triggerPoint - a.triggerPoint
+ }
+
+ var groups = {
+ vertical: {},
+ horizontal: {}
+ }
+ var Waypoint = window.Waypoint
+
+ /* http://imakewebthings.com/waypoints/api/group */
+ function Group(options) {
+ this.name = options.name
+ this.axis = options.axis
+ this.id = this.name + '-' + this.axis
+ this.waypoints = []
+ this.clearTriggerQueues()
+ groups[this.axis][this.name] = this
+ }
+
+ /* Private */
+ Group.prototype.add = function(waypoint) {
+ this.waypoints.push(waypoint)
+ }
+
+ /* Private */
+ Group.prototype.clearTriggerQueues = function() {
+ this.triggerQueues = {
+ up: [],
+ down: [],
+ left: [],
+ right: []
+ }
+ }
+
+ /* Private */
+ Group.prototype.flushTriggers = function() {
+ for (var direction in this.triggerQueues) {
+ var waypoints = this.triggerQueues[direction]
+ var reverse = direction === 'up' || direction === 'left'
+ waypoints.sort(reverse ? byReverseTriggerPoint : byTriggerPoint)
+ for (var i = 0, end = waypoints.length; i < end; i += 1) {
+ var waypoint = waypoints[i]
+ if (waypoint.options.continuous || i === waypoints.length - 1) {
+ waypoint.trigger([direction])
+ }
+ }
+ }
+ this.clearTriggerQueues()
+ }
+
+ /* Private */
+ Group.prototype.next = function(waypoint) {
+ this.waypoints.sort(byTriggerPoint)
+ var index = Waypoint.Adapter.inArray(waypoint, this.waypoints)
+ var isLast = index === this.waypoints.length - 1
+ return isLast ? null : this.waypoints[index + 1]
+ }
+
+ /* Private */
+ Group.prototype.previous = function(waypoint) {
+ this.waypoints.sort(byTriggerPoint)
+ var index = Waypoint.Adapter.inArray(waypoint, this.waypoints)
+ return index ? this.waypoints[index - 1] : null
+ }
+
+ /* Private */
+ Group.prototype.queueTrigger = function(waypoint, direction) {
+ this.triggerQueues[direction].push(waypoint)
+ }
+
+ /* Private */
+ Group.prototype.remove = function(waypoint) {
+ var index = Waypoint.Adapter.inArray(waypoint, this.waypoints)
+ if (index > -1) {
+ this.waypoints.splice(index, 1)
+ }
+ }
+
+ /* Public */
+ /* http://imakewebthings.com/waypoints/api/first */
+ Group.prototype.first = function() {
+ return this.waypoints[0]
+ }
+
+ /* Public */
+ /* http://imakewebthings.com/waypoints/api/last */
+ Group.prototype.last = function() {
+ return this.waypoints[this.waypoints.length - 1]
+ }
+
+ /* Private */
+ Group.findOrCreate = function(options) {
+ return groups[options.axis][options.name] || new Group(options)
+ }
+
+ Waypoint.Group = Group
+}())
+;(function() {
+ 'use strict'
+
+ var $ = window.jQuery
+ var Waypoint = window.Waypoint
+
+ function JQueryAdapter(element) {
+ this.$element = $(element)
+ }
+
+ $.each([
+ 'innerHeight',
+ 'innerWidth',
+ 'off',
+ 'offset',
+ 'on',
+ 'outerHeight',
+ 'outerWidth',
+ 'scrollLeft',
+ 'scrollTop'
+ ], function(i, method) {
+ JQueryAdapter.prototype[method] = function() {
+ var args = Array.prototype.slice.call(arguments)
+ return this.$element[method].apply(this.$element, args)
+ }
+ })
+
+ $.each([
+ 'extend',
+ 'inArray',
+ 'isEmptyObject'
+ ], function(i, method) {
+ JQueryAdapter[method] = $[method]
+ })
+
+ Waypoint.adapters.push({
+ name: 'jquery',
+ Adapter: JQueryAdapter
+ })
+ Waypoint.Adapter = JQueryAdapter
+}())
+;(function() {
+ 'use strict'
+
+ var Waypoint = window.Waypoint
+
+ function createExtension(framework) {
+ return function() {
+ var waypoints = []
+ var overrides = arguments[0]
+
+ if (framework.isFunction(arguments[0])) {
+ overrides = framework.extend({}, arguments[1])
+ overrides.handler = arguments[0]
+ }
+
+ this.each(function() {
+ var options = framework.extend({}, overrides, {
+ element: this
+ })
+ if (typeof options.context === 'string') {
+ options.context = framework(this).closest(options.context)[0]
+ }
+ waypoints.push(new Waypoint(options))
+ })
+
+ return waypoints
+ }
+ }
+
+ if (window.jQuery) {
+ window.jQuery.fn.waypoint = createExtension(window.jQuery)
+ }
+ if (window.Zepto) {
+ window.Zepto.fn.waypoint = createExtension(window.Zepto)
+ }
+}())
+;
\ No newline at end of file
diff --git a/template/assets/js/main.js b/template/assets/js/main.js
new file mode 100644
index 0000000..aa6d1e7
--- /dev/null
+++ b/template/assets/js/main.js
@@ -0,0 +1,549 @@
+/*-----------------------------------------------------------------
+
+Template Name: Remons - Booking Rental HTML Template<
+Author: Pixydrops
+Author URI: https://themeforest.net/user/pixydrops/portfolio
+Version: 1.0.0
+Description: Remons - Booking Rental HTML Template<
+
+-------------------------------------------------------------------
+Js TABLE OF CONTENTS
+-------------------------------------------------------------------
+
+01. header
+02. animated text with swiper slider
+03. magnificPopup
+04. counter up
+05. wow animation
+06. nice select
+07. swiper slider
+08. search popup
+09. preloader
+10. Gsap
+
+------------------------------------------------------------------*/
+
+(function($) {
+ "use strict";
+
+ $(document).ready(function() {
+
+ //>> Mobile Menu Js Start </
+ $('#mobile-menu').meanmenu({
+ meanMenuContainer: '.mobile-menu',
+ meanScreenWidth: "1199",
+ meanExpand: [''],
+ });
+
+ //>> Sidebar Toggle Js Start </
+ $(".offcanvas__close,.offcanvas__overlay").on("click", function() {
+ $(".offcanvas__info").removeClass("info-open");
+ $(".offcanvas__overlay").removeClass("overlay-open");
+ });
+ $(".sidebar__toggle").on("click", function() {
+ $(".offcanvas__info").addClass("info-open");
+ $(".offcanvas__overlay").addClass("overlay-open");
+ });
+
+ //>> Body Overlay Js Start </
+ $(".body-overlay").on("click", function() {
+ $(".offcanvas__area").removeClass("offcanvas-opened");
+ $(".df-search-area").removeClass("opened");;
+ $(".body-overlay").removeClass("opened");
+ });
+
+ //>> Sticky Header Js Start </
+
+ $(window).scroll(function() {
+ if ($(this).scrollTop() > 250) {
+ $("#header-sticky").addClass("sticky");
+ } else {
+ $("#header-sticky").removeClass("sticky");
+ }
+ });
+
+ //>> Hero Slider 1 Start </
+ const sliderActive2 = ".hero-slider";
+ const sliderInit2 = new Swiper(sliderActive2, {
+ loop: true,
+ slidesPerView: 1,
+ effect: "fade",
+ speed: 3000,
+ autoplay: {
+ delay: 6000,
+ disableOnInteraction: false,
+ },
+ navigation: {
+ nextEl: ".image-array-left",
+ prevEl: ".image-array-right",
+ },
+ });
+
+ function animated_swiper(selector, init) {
+ const animated = function animated() {
+ $(selector + " [data-animation]").each(function () {
+ let anim = $(this).data("animation");
+ let delay = $(this).data("delay");
+ let duration = $(this).data("duration");
+ $(this)
+ .removeClass("anim" + anim)
+ .addClass(anim + " animated")
+ .css({
+ webkitAnimationDelay: delay,
+ animationDelay: delay,
+ webkitAnimationDuration: duration,
+ animationDuration: duration,
+ })
+ .one("animationend", function () {
+ $(this).removeClass(anim + " animated");
+ });
+ });
+ };
+ animated();
+ init.on("slideChange", function () {
+ $(sliderActive2 + " [data-animation]").removeClass("animated");
+ });
+ init.on("slideChange", animated);
+ }
+ animated_swiper(sliderActive2, sliderInit2);
+
+ //>> Hero Slider 2 Start </
+ const sliderActive1 = ".hero-slider-2";
+ const sliderInit1 = new Swiper(sliderActive1, {
+ loop: true,
+ slidesPerView: 1,
+ effect: "fade",
+ speed: 2000,
+ autoplay: {
+ delay: 5000,
+ disableOnInteraction: false,
+ },
+ navigation: {
+ nextEl: ".image-array-left",
+ prevEl: ".image-array-right",
+ },
+
+ });
+ // content animation when active start here
+ function animated_swiper(selector, init) {
+ let animated = function animated() {
+ $(selector + " [data-animation]").each(function () {
+ let anim = $(this).data("animation");
+ let delay = $(this).data("delay");
+ let duration = $(this).data("duration");
+ $(this)
+ .removeClass("anim" + anim)
+ .addClass(anim + " animated")
+ .css({
+ webkitAnimationDelay: delay,
+ animationDelay: delay,
+ webkitAnimationDuration: duration,
+ animationDuration: duration,
+ })
+ .one("animationend", function () {
+ $(this).removeClass(anim + " animated");
+ });
+ });
+ };
+ animated();
+ init.on("slideChange", function () {
+ $(sliderActive1 + " [data-animation]").removeClass("animated");
+ });
+ init.on("slideChange", animated);
+ }
+ animated_swiper(sliderActive1, sliderInit1);
+ //>> Hero Slider End </
+
+ //>> Hero Slider 1 Start </
+ const sliderActive3 = ".hero-slider-3";
+ const sliderInit3 = new Swiper(sliderActive3, {
+ loop: true,
+ slidesPerView: 1,
+ effect: "fade",
+ speed: 3000,
+ autoplay: {
+ delay: 5000,
+ disableOnInteraction: false,
+ },
+ navigation: {
+ nextEl: ".image-array-left",
+ prevEl: ".image-array-right",
+ },
+ });
+
+ function animated_swiper(selector, init) {
+ const animated = function animated() {
+ $(selector + " [data-animation]").each(function () {
+ let anim = $(this).data("animation");
+ let delay = $(this).data("delay");
+ let duration = $(this).data("duration");
+ $(this)
+ .removeClass("anim" + anim)
+ .addClass(anim + " animated")
+ .css({
+ webkitAnimationDelay: delay,
+ animationDelay: delay,
+ webkitAnimationDuration: duration,
+ animationDuration: duration,
+ })
+ .one("animationend", function () {
+ $(this).removeClass(anim + " animated");
+ });
+ });
+ };
+ animated();
+ init.on("slideChange", function () {
+ $(sliderActive3 + " [data-animation]").removeClass("animated");
+ });
+ init.on("slideChange", animated);
+ }
+ animated_swiper(sliderActive3, sliderInit3);
+
+ //>> Video Popup Start </
+ $(".img-popup").magnificPopup({
+ type: "image",
+ gallery: {
+ enabled: true,
+ },
+ });
+
+ $(".img-popup-2").magnificPopup({
+ type: "image",
+ gallery: {
+ enabled: true,
+ },
+ });
+
+ $('.video-popup').magnificPopup({
+ type: 'iframe',
+ callbacks: {
+ }
+ });
+
+ //>> Counterup Start </
+ $(".count").counterUp({
+ delay: 15,
+ time: 4000,
+ });
+
+ //>> Wow Animation Start </
+ new WOW().init();
+
+ //>> Nice Select Start </
+ $('select').niceSelect();
+
+ //>> Car Rentals Slider Start </
+ if($('.car-rentals-slider').length > 0) {
+ const carRentalsSlider = new Swiper(".car-rentals-slider", {
+ spaceBetween: 30,
+ speed: 1000,
+ loop: true,
+
+ navigation: {
+ nextEl: ".array-prev",
+ prevEl: ".array-next",
+ },
+ breakpoints: {
+ 1599: {
+ slidesPerView: 4,
+ },
+ 1199: {
+ slidesPerView: 3,
+ },
+ 991: {
+ slidesPerView: 2,
+ },
+ 767: {
+ slidesPerView: 2,
+ },
+ 575: {
+ slidesPerView: 1,
+ },
+ 0: {
+ slidesPerView: 1,
+ },
+ },
+ });
+ }
+
+ if($('.car-rentals-slider-2').length > 0) {
+ const carRentalsSlider2 = new Swiper(".car-rentals-slider-2", {
+ spaceBetween: 30,
+ speed: 1000,
+ loop: true,
+ navigation: {
+ nextEl: ".array-prev",
+ prevEl: ".array-next",
+ },
+ breakpoints: {
+ 1199: {
+ slidesPerView: 3,
+ },
+ 991: {
+ slidesPerView: 2,
+ },
+ 767: {
+ slidesPerView: 2,
+ },
+ 575: {
+ slidesPerView: 1,
+ },
+ 0: {
+ slidesPerView: 1,
+ },
+ },
+ });
+ }
+
+ //>> Brand Rentals Slider Start </
+ if($('.brand-slider').length > 0) {
+ const brandSlider = new Swiper(".brand-slider", {
+ spaceBetween: 30,
+ speed: 2000,
+ loop: true,
+ autoplay: {
+ delay: 2000,
+ disableOnInteraction: false,
+ },
+ navigation: {
+ nextEl: ".array-prev-2",
+ prevEl: ".array-next-2",
+ },
+ breakpoints: {
+ 1399: {
+ slidesPerView: 6,
+ },
+ 1199: {
+ slidesPerView: 5,
+ },
+ 991: {
+ slidesPerView: 4,
+ },
+ 767: {
+ slidesPerView: 3,
+ },
+ 575: {
+ slidesPerView: 1,
+ },
+ 0: {
+ slidesPerView: 1,
+ },
+ },
+ });
+ }
+
+ //>> Testimonial Slider Start </
+ if($('.testimonial-slider').length > 0) {
+ const testimonialSlider = new Swiper(".testimonial-slider", {
+ spaceBetween: 30,
+ speed: 2000,
+ loop: true,
+ autoplay: {
+ delay: 2000,
+ disableOnInteraction: false,
+ },
+ pagination: {
+ el: ".dot",
+ clickable: true,
+ },
+ breakpoints: {
+ 1199: {
+ slidesPerView: 3,
+ },
+ 991: {
+ slidesPerView: 2,
+ },
+ 767: {
+ slidesPerView: 2,
+ },
+ 575: {
+ slidesPerView: 1,
+ },
+ 0: {
+ slidesPerView: 1,
+ },
+ },
+ });
+ }
+
+ if($('.testimonial-slider-2').length > 0) {
+ const testimonialSlider2 = new Swiper(".testimonial-slider-2", {
+ spaceBetween: 30,
+ speed: 2000,
+ loop: true,
+ autoplay: {
+ delay: 2000,
+ disableOnInteraction: false,
+ },
+ navigation: {
+ nextEl: ".array-prev",
+ prevEl: ".array-next",
+ },
+ });
+ }
+
+ if($('.testimonial-slider-3').length > 0) {
+ const testimonialSlider3 = new Swiper(".testimonial-slider-3", {
+ spaceBetween: 30,
+ speed: 2000,
+ loop: true,
+ autoplay: {
+ delay: 2000,
+ disableOnInteraction: false,
+ },
+
+ navigation: {
+ nextEl: ".array-prev",
+ prevEl: ".array-next",
+ },
+ });
+ }
+
+ //>> Car Slider Slider Start </
+ if($('.car-slider').length > 0) {
+ const carSlider = new Swiper(".car-slider", {
+ spaceBetween: 20,
+ speed: 2000,
+ loop: true,
+ autoplay: {
+ delay: 1000,
+ disableOnInteraction: false,
+ },
+ breakpoints: {
+ 1399: {
+ slidesPerView: 6,
+ },
+ 1199: {
+ slidesPerView: 5,
+ },
+ 991: {
+ slidesPerView: 4,
+ },
+ 767: {
+ slidesPerView: 3,
+ },
+ 575: {
+ slidesPerView: 1,
+ },
+ 0: {
+ slidesPerView: 1,
+ },
+ },
+ });
+ }
+
+ //>> Scroll Js Start </
+ const scrollPath = document.querySelector(".scroll-up path");
+ const pathLength = scrollPath.getTotalLength();
+ scrollPath.style.transition = scrollPath.style.WebkitTransition = "none";
+ scrollPath.style.strokeDasharray = pathLength + " " + pathLength;
+ scrollPath.style.strokeDashoffset = pathLength;
+ scrollPath.getBoundingClientRect();
+ scrollPath.style.transition = scrollPath.style.WebkitTransition = "stroke-dashoffset 10ms linear";
+
+ const updatescroll = function() {
+ let scrolltotal = $(window).scrollTop();
+ let height = $(document).height() - $(window).height();
+ let scrolltotalheight = pathLength - (scrolltotal * pathLength) / height;
+ scrollPath.style.strokeDashoffset = scrolltotalheight;
+ };
+ updatescroll();
+
+ $(window).scroll(updatescroll);
+ const offset = 50;
+ const duration = 950;
+
+ $(window).on("scroll", function() {
+ if (jQuery(this).scrollTop() > offset) {
+ jQuery(".scroll-up").addClass("active-scroll");
+ } else {
+ jQuery(".scroll-up").removeClass("active-scroll");
+ }
+ });
+
+ $(".scroll-up").on("click", function(event) {
+ event.preventDefault();
+ jQuery("html, body").animate({
+ scrollTop: 0,
+ },
+ duration
+ );
+ return false;
+ });
+
+ //>> Search Popup Start </
+ const $searchWrap = $(".search-wrap");
+ const $navSearch = $(".nav-search");
+ const $searchClose = $("#search-close");
+
+ $(".search-trigger").on("click", function (e) {
+ e.preventDefault();
+ $searchWrap.animate({ opacity: "toggle" }, 500);
+ $navSearch.add($searchClose).addClass("open");
+ });
+
+ $(".search-close").on("click", function (e) {
+ e.preventDefault();
+ $searchWrap.animate({ opacity: "toggle" }, 500);
+ $navSearch.add($searchClose).removeClass("open");
+ });
+
+ function closeSearch() {
+ $searchWrap.fadeOut(200);
+ $navSearch.add($searchClose).removeClass("open");
+ }
+
+ $(document.body).on("click", function (e) {
+ closeSearch();
+ });
+
+ $(".search-trigger, .main-search-input").on("click", function (e) {
+ e.stopPropagation();
+ });
+
+ //>> Gsap Start </
+
+ if($('.car-sale-wrapper').length > 0) {
+ const car = gsap.timeline({
+ scrollTrigger: {
+ trigger: ".car-sale-wrapper",
+ scrub: 1,
+ end: "+=1000",
+ }
+ });
+ car.to(".car-shape", {xPercent: 20, ease: "none",});
+ }
+
+ if($('.cta-car-booking-items').length > 0) {
+ const car = gsap.timeline({
+ scrollTrigger: {
+ trigger: ".cta-car-booking-items",
+ scrub: 1,
+ end: "+=1000",
+ }
+ });
+ car.to(".car-image", {xPercent: -20, ease: "none",});
+ }
+
+ $(function() {
+ $("#datepicker, #datepicker2, #datepicker3, #datepicker4, #datepicker5, #datepicker6, #datepicker7, #datepicker8, #datepicker9, #datepicker10, #datepicker11").datepicker({
+ autoclose: true,
+ todayHighlight: true
+ });
+ });
+
+ }); // End Document Ready Function
+
+ function loader() {
+ $(window).on('load', function() {
+ // Animate loader off screen
+ $(".preloader").addClass('loaded');
+ $(".preloader").delay(600).fadeOut();
+ });
+ }
+
+ loader();
+
+
+})(jQuery); // End jQuery
+
diff --git a/template/assets/js/swiper-bundle.min.js b/template/assets/js/swiper-bundle.min.js
new file mode 100644
index 0000000..d792cb5
--- /dev/null
+++ b/template/assets/js/swiper-bundle.min.js
@@ -0,0 +1,14 @@
+/**
+ * Swiper 8.3.2
+ * Most modern mobile touch slider and framework with hardware accelerated transitions
+ * https://swiperjs.com
+ *
+ * Copyright 2014-2022 Vladimir Kharlampidi
+ *
+ * Released under the MIT License
+ *
+ * Released on: July 26, 2022
+ */
+
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Swiper=t()}(this,(function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s,a){void 0===s&&(s={}),void 0===a&&(a={}),Object.keys(a).forEach((i=>{void 0===s[i]?s[i]=a[i]:e(a[i])&&e(s[i])&&Object.keys(a[i]).length>0&&t(s[i],a[i])}))}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function a(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const i={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,i),e}class n extends Array{constructor(e){"number"==typeof e?super(e):(super(...e||[]),function(e){const t=e.__proto__;Object.defineProperty(e,"__proto__",{get:()=>t,set(e){t.__proto__=e}})}(this))}}function l(e){void 0===e&&(e=[]);const t=[];return e.forEach((e=>{Array.isArray(e)?t.push(...l(e)):t.push(e)})),t}function o(e,t){return Array.prototype.filter.call(e,t)}function d(e,t){const s=r(),i=a();let l=[];if(!t&&e instanceof n)return e;if(!e)return new n(l);if("string"==typeof e){const s=e.trim();if(s.indexOf("<")>=0&&s.indexOf(">")>=0){let e="div";0===s.indexOf("
=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((a,i)=>{(a===t||a.__emitterProxy&&a.__emitterProxy===t)&&s.eventsListeners[e].splice(i,1)}))})),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,a;for(var i=arguments.length,r=new Array(i),n=0;n{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(a,[t,...s])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(a,s)}))})),e}};var S={updateSize:function(){const e=this;let t,s;const a=e.$el;t=void 0!==e.params.width&&null!==e.params.width?e.params.width:a[0].clientWidth,s=void 0!==e.params.height&&null!==e.params.height?e.params.height:a[0].clientHeight,0===t&&e.isHorizontal()||0===s&&e.isVertical()||(t=t-parseInt(a.css("padding-left")||0,10)-parseInt(a.css("padding-right")||0,10),s=s-parseInt(a.css("padding-top")||0,10)-parseInt(a.css("padding-bottom")||0,10),Number.isNaN(t)&&(t=0),Number.isNaN(s)&&(s=0),Object.assign(e,{width:t,height:s,size:e.isHorizontal()?t:s}))},updateSlides:function(){const e=this;function t(t){return e.isHorizontal()?t:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[t]}function s(e,s){return parseFloat(e.getPropertyValue(t(s))||0)}const a=e.params,{$wrapperEl:i,size:r,rtlTranslate:n,wrongRTL:l}=e,o=e.virtual&&a.virtual.enabled,d=o?e.virtual.slides.length:e.slides.length,c=i.children(`.${e.params.slideClass}`),p=o?e.virtual.slides.length:c.length;let u=[];const h=[],m=[];let f=a.slidesOffsetBefore;"function"==typeof f&&(f=a.slidesOffsetBefore.call(e));let g=a.slidesOffsetAfter;"function"==typeof g&&(g=a.slidesOffsetAfter.call(e));const w=e.snapGrid.length,b=e.slidesGrid.length;let x=a.spaceBetween,y=-f,E=0,C=0;if(void 0===r)return;"string"==typeof x&&x.indexOf("%")>=0&&(x=parseFloat(x.replace("%",""))/100*r),e.virtualSize=-x,n?c.css({marginLeft:"",marginBottom:"",marginTop:""}):c.css({marginRight:"",marginBottom:"",marginTop:""}),a.centeredSlides&&a.cssMode&&(v(e.wrapperEl,"--swiper-centered-offset-before",""),v(e.wrapperEl,"--swiper-centered-offset-after",""));const T=a.grid&&a.grid.rows>1&&e.grid;let $;T&&e.grid.initSlides(p);const S="auto"===a.slidesPerView&&a.breakpoints&&Object.keys(a.breakpoints).filter((e=>void 0!==a.breakpoints[e].slidesPerView)).length>0;for(let i=0;i0&&o(u(t));const a=e.children(`.${s.slidePrevClass}`);a.length>0&&o(u(a))}}function p(){const e=r();if(!t||t.destroyed)return;const s=t.params.lazy.scrollingElement?d(t.params.lazy.scrollingElement):d(e),a=s[0]===e,i=a?e.innerWidth:s[0].offsetWidth,l=a?e.innerHeight:s[0].offsetHeight,o=t.$el.offset(),{rtlTranslate:u}=t;let h=!1;u&&(o.left-=t.$el[0].scrollLeft);const m=[[o.left,o.top],[o.left+t.width,o.top],[o.left,o.top+t.height],[o.left+t.width,o.top+t.height]];for(let e=0;e