text: 
  
  (function () {
  	// Global variables
  	var userAgent = navigator.userAgent.toLowerCase(),
  		initialDate = new Date(),
  
  		$document = $(document),
  		$window = $(window),
  		$html = $("html"),
  		$body = $("body"),
  
  		isDesktop = $html.hasClass("desktop"),
  		isIE = userAgent.indexOf("msie") !== -1 ? parseInt(userAgent.split("msie")[1], 10) : userAgent.indexOf("trident") !== -1 ? 11 : userAgent.indexOf("edge") !== -1 ? 12 : false,
  		isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),
  		windowReady = false,
  		isNoviBuilder = false,
  
  		plugins = {
  			bootstrapTooltip: $("[data-toggle='tooltip']"),
  			bootstrapModalDialog: $('.modal'),
  			bootstrapTabs: $(".tabs-custom"),
  			customToggle: $("[data-custom-toggle]"),
  			counter: $(".counter"),
  			circleProgress: $(".progress-bar-circle"),
  			captcha: $('.recaptcha'),
  			copyrightYear: $(".copyright-year"),
  			checkbox: $("input[type='checkbox']"),
  			dateCountdown: $('.DateCountdown'),
  			isotope: $(".isotope"),
  			lightGallery: $("[data-lightgallery='group']"),
  			lightGalleryItem: $("[data-lightgallery='item']"),
  			lightDynamicGalleryItem: $("[data-lightgallery='dynamic']"),
  			materialParallax: $(".parallax-container"),
  			owl: $(".owl-carousel"),
  			popover: $('[data-toggle="popover"]'),
  			progressLinear: $(".progress-linear"),
  			preloader: $(".preloader"),
  			rdNavbar: $(".rd-navbar"),
  			rdMailForm: $(".rd-mailform"),
  			rdInputLabel: $(".form-label"),
  			regula: $("[data-constraints]"),
  			radio: $("input[type='radio']"),
  			swiper: $(".swiper-slider"),
  			statefulButton: $('.btn-stateful'),
  			scroller: $(".scroll-wrap"),
  			viewAnimate: $('.view-animate'),
  			wow: $(".wow"),
  			selectFilter: $("select"),
  			bootstrapDateTimePicker: $("[data-time-picker]"),
  			maps: $(".google-map-container"),
  			vide: $('.bg-vide')
  		};
  
  	/**
  	 * @desc Check the element was been scrolled into the view
  	 * @param {object} elem - jQuery object
  	 * @return {boolean}
  	 */
  	function isScrolledIntoView(elem) {
  		if (isNoviBuilder) return true;
  		return elem.offset().top + elem.outerHeight() >= $window.scrollTop() && elem.offset().top <= $window.scrollTop() + $window.height();
  	}
  
  	/**
  	 * @desc Calls a function when element has been scrolled into the view
  	 * @param {object} element - jQuery object
  	 * @param {function} func - init function
  	 */
  	function lazyInit(element, func) {
  		var scrollHandler = function () {
  			if ((!element.hasClass('lazy-loaded') && (isScrolledIntoView(element)))) {
  				func.call();
  				element.addClass('lazy-loaded');
  			}
  		};
  
  		scrollHandler();
  		$window.on('scroll', scrollHandler);
  	}
  
  	// Initialize scripts that require a loaded page
  	$window.on('load', function () {
  		// Page loader & Page transition
  		if (plugins.preloader.length && !isNoviBuilder) {
  			pageTransition({
  				target: document.querySelector('.page'),
  				delay: 0,
  				duration: 500,
  				classIn: 'fadeIn',
  				classOut: 'fadeOut',
  				classActive: 'animated',
  				conditions: function (event, link) {
  					return !/(\#|callto:|tel:|mailto:|javascript:void\(0\);|:\/\/)/.test(link) && !event.currentTarget.hasAttribute('data-lightgallery');
  				},
  				onTransitionStart: function (options) {
  					setTimeout(function () {
  						plugins.preloader.removeClass('loaded');
  					}, options.duration * .75);
  				},
  				onReady: function () {
  					plugins.preloader.addClass('loaded');
  					windowReady = true;
  				}
  			});
  		}
  
  		// Vide
  		if (plugins.vide.length) {
  			for (var i = 0; i < plugins.vide.length; i++) {
  				var $element = $(plugins.vide[i]),
  					options = $element.data('vide-options'),
  					path = $element.data('vide-bg');
  
  				$element.vide(path, options);
  
  				var videObj = $element.data('vide').getVideoObject();
  
  				if (isNoviBuilder) {
  					videObj.pause();
  				} else {
  					document.addEventListener('scroll', function ($element, videObj) {
  						return function () {
  							if (isScrolledIntoView($element)) videObj.play();
  							else videObj.pause();
  						}
  					}($element, videObj));
  				}
  			}
  		}
  
  		// Linear Progress bar
  		if (plugins.progressLinear.length) {
  			for (i = 0; i < plugins.progressLinear.length; i++) {
  				var progressBar = $(plugins.progressLinear[i]);
  				$window.on("scroll load", $.proxy(function () {
  					var bar = $(this);
  					if (!bar.hasClass('animated-first') && isScrolledIntoView(bar)) {
  						var end = parseInt($(this).find('.progress-value').text(), 10);
  						bar.find('.progress-bar-linear').css({width: end + '%'});
  						bar.find('.progress-value').countTo({
  							refreshInterval: 40,
  							from: 0,
  							to: end,
  							speed: 500
  						});
  						bar.addClass('animated-first');
  					}
  				}, progressBar));
  			}
  		}
  
  		// jQuery Count To
  		if (plugins.counter.length) {
  			for (var i = 0; i < plugins.counter.length; i++) {
  				var $counterNotAnimated = $(plugins.counter[i]).not('.animated');
  				$document.on("scroll", $.proxy(function () {
  					var $this = this;
  
  					if ((!$this.hasClass("animated")) && (isScrolledIntoView($this))) {
  						$this.countTo({
  							refreshInterval: 40,
  							from: 0,
  							to: parseInt($this.text(), 10),
  							speed: $this.attr("data-speed") || 1000
  						});
  						$this.addClass('animated');
  					}
  				}, $counterNotAnimated))
  					.trigger("scroll");
  			}
  		}
  
  		// Isotope
  		if (plugins.isotope.length) {
  			var isogroup = [];
  			for (var i = 0; i < plugins.isotope.length; i++) {
  				var isotopeItem = plugins.isotope[i],
  					isotopeInitAttrs = {
  						itemSelector: '.isotope-item',
  						layoutMode: isotopeItem.getAttribute('data-isotope-layout') ? isotopeItem.getAttribute('data-isotope-layout') : 'masonry',
  						filter: '*'
  					};
  
  				if (isotopeItem.getAttribute('data-column-width')) {
  					isotopeInitAttrs.masonry = {
  						columnWidth: parseFloat(isotopeItem.getAttribute('data-column-width'))
  					};
  				} else if (isotopeItem.getAttribute('data-column-class')) {
  					isotopeInitAttrs.masonry = {
  						columnWidth: isotopeItem.getAttribute('data-column-class')
  					};
  				}
  
  				var iso = new Isotope(isotopeItem, isotopeInitAttrs);
  				isogroup.push(iso);
  			}
  
  
  			setTimeout(function () {
  				for (var i = 0; i < isogroup.length; i++) {
  					isogroup[i].element.className += " isotope--loaded";
  					isogroup[i].layout();
  				}
  			}, 200);
  
  			var resizeTimout;
  
  			$("[data-isotope-filter]").on("click", function (e) {
  				e.preventDefault();
  				var filter = $(this);
  				clearTimeout(resizeTimout);
  				filter.parents(".isotope-filters").find('.active').removeClass("active");
  				filter.addClass("active");
  				var iso = $('.isotope[data-isotope-group="' + this.getAttribute("data-isotope-group") + '"]'),
  					isotopeAttrs = {
  						itemSelector: '.isotope-item',
  						layoutMode: iso.attr('data-isotope-layout') ? iso.attr('data-isotope-layout') : 'masonry',
  						filter: this.getAttribute("data-isotope-filter") === '*' ? '*' : '[data-filter*="' + this.getAttribute("data-isotope-filter") + '"]'
  					};
  				if (iso.attr('data-column-width')) {
  					isotopeAttrs.masonry = {
  						columnWidth: parseFloat(iso.attr('data-column-width'))
  					};
  				} else if (iso.attr('data-column-class')) {
  					isotopeAttrs.masonry = {
  						columnWidth: iso.attr('data-column-class')
  					};
  				}
  				iso.isotope(isotopeAttrs);
  			}).eq(0).trigger("click")
  		}
  
  		// Material Parallax
  		if (plugins.materialParallax.length) {
  			if (!isNoviBuilder && !isIE && !isMobile) {
  				plugins.materialParallax.parallax();
  
  				// heavy pages fix
  				$window.on('load', function () {
  					setTimeout(function () {
  						$window.scroll();
  					}, 500);
  				});
  			} else {
  				for (var i = 0; i < plugins.materialParallax.length; i++) {
  					var parallax = $(plugins.materialParallax[i]),
  						imgPath = parallax.data("parallax-img");
  
  					parallax.css({
  						"background-image": 'url(' + imgPath + ')',
  						"background-size": "cover"
  					});
  				}
  			}
  		}
  	});
  
  
  	// Initialize scripts that require a finished document
  	$(function () {
  		isNoviBuilder = window.xMode;
  
  		/**
  		 * @desc Calculate the height of swiper slider basing on data attr
  		 * @param {object} object - slider jQuery object
  		 * @param {string} attr - attribute name
  		 * @return {number} slider height
  		 */
  		function getSwiperHeight(object, attr) {
  			var val = object.attr("data-" + attr),
  				dim;
  
  			if (!val) {
  				return undefined;
  			}
  
  			dim = val.match(/(px)|(%)|(vh)|(vw)$/i);
  
  			if (dim.length) {
  				switch (dim[0]) {
  					case "px":
  						return parseFloat(val);
  					case "vh":
  						return $window.height() * (parseFloat(val) / 100);
  					case "vw":
  						return $window.width() * (parseFloat(val) / 100);
  					case "%":
  						return object.width() * (parseFloat(val) / 100);
  				}
  			} else {
  				return undefined;
  			}
  		}
  
  		/**
  		 * @desc Toggle swiper videos on active slides
  		 * @param {object} swiper - swiper slider
  		 */
  		function toggleSwiperInnerVideos(swiper) {
  			var prevSlide = $(swiper.slides[swiper.previousIndex]),
  				nextSlide = $(swiper.slides[swiper.activeIndex]),
  				videos,
  				videoItems = prevSlide.find("video");
  
  			for (var i = 0; i < videoItems.length; i++) {
  				videoItems[i].pause();
  			}
  
  			videos = nextSlide.find("video");
  			if (videos.length) {
  				videos.get(0).play();
  			}
  		}
  
  
  		/**
  		 * SwiperCounter
  		 * @description
  		 */
  		function getSwiperActiveSlideNumber(swiper) {
  			for (var i = 0; i < plugins.swiper.length; i++) {
  				var slider = $(plugins.swiper[i]),
  					swiperSlides = slider.find('.' + swiper.params.slideClass),
  					counter = slider.find(".swiper-counter"),
  					total = slider.find(".swiper-slide").length;
  
  				for (var n = 0; n < swiperSlides.length; n++) {
  					if ($(swiperSlides[n]).hasClass(swiper.params.slideActiveClass)) {
  						counter.html('<span class="count">' + (n + 1) + '</span></span><span class="total"> \\ ' + total + '</span>');
  					}
  					;
  				}
  			}
  		}
  
  		/**
  		 * @desc Toggle swiper animations on active slides
  		 * @param {object} swiper - swiper slider
  		 */
  		function toggleSwiperCaptionAnimation(swiper) {
  			var prevSlide = $(swiper.container).find("[data-caption-animate]"),
  				nextSlide = $(swiper.slides[swiper.activeIndex]).find("[data-caption-animate]"),
  				delay,
  				duration,
  				nextSlideItem,
  				prevSlideItem;
  
  			for (var i = 0; i < prevSlide.length; i++) {
  				prevSlideItem = $(prevSlide[i]);
  
  				prevSlideItem.removeClass("animated")
  					.removeClass(prevSlideItem.attr("data-caption-animate"))
  					.addClass("not-animated");
  			}
  
  
  			var tempFunction = function (nextSlideItem, duration) {
  				return function () {
  					nextSlideItem
  						.removeClass("not-animated")
  						.addClass(nextSlideItem.attr("data-caption-animate"))
  						.addClass("animated");
  					if (duration) {
  						nextSlideItem.css('animation-duration', duration + 'ms');
  					}
  				};
  			};
  
  			for (var i = 0; i < nextSlide.length; i++) {
  				nextSlideItem = $(nextSlide[i]);
  				delay = nextSlideItem.attr("data-caption-delay");
  				duration = nextSlideItem.attr('data-caption-duration');
  				if (!isNoviBuilder) {
  					if (delay) {
  						setTimeout(tempFunction(nextSlideItem, duration), parseInt(delay, 10));
  					} else {
  						tempFunction(nextSlideItem, duration);
  					}
  
  				} else {
  					nextSlideItem.removeClass("not-animated")
  				}
  			}
  		}
  
  		/**
  		 * @desc Initialize owl carousel plugin
  		 * @param {object} c - carousel jQuery object
  		 */
  		function initOwlCarousel(c) {
  			var aliaces = ["-", "-sm-", "-md-", "-lg-", "-xl-", "-xxl-"],
  				values = [0, 576, 768, 992, 1200, 1600],
  				responsive = {};
  
  			for (var j = 0; j < values.length; j++) {
  				responsive[values[j]] = {};
  				for (var k = j; k >= -1; k--) {
  					if (!responsive[values[j]]["items"] && c.attr("data" + aliaces[k] + "items")) {
  						responsive[values[j]]["items"] = k < 0 ? 1 : parseInt(c.attr("data" + aliaces[k] + "items"), 10);
  					}
  					if (!responsive[values[j]]["stagePadding"] && responsive[values[j]]["stagePadding"] !== 0 && c.attr("data" + aliaces[k] + "stage-padding")) {
  						responsive[values[j]]["stagePadding"] = k < 0 ? 0 : parseInt(c.attr("data" + aliaces[k] + "stage-padding"), 10);
  					}
  					if (!responsive[values[j]]["margin"] && responsive[values[j]]["margin"] !== 0 && c.attr("data" + aliaces[k] + "margin")) {
  						responsive[values[j]]["margin"] = k < 0 ? 30 : parseInt(c.attr("data" + aliaces[k] + "margin"), 10);
  					}
  				}
  			}
  
  			// Enable custom pagination
  			if (c.attr('data-dots-custom')) {
  				c.on("initialized.owl.carousel", function (event) {
  					var carousel = $(event.currentTarget),
  						customPag = $(carousel.attr("data-dots-custom")),
  						active = 0;
  
  					if (carousel.attr('data-active')) {
  						active = parseInt(carousel.attr('data-active'), 10);
  					}
  
  					carousel.trigger('to.owl.carousel', [active, 300, true]);
  					customPag.find("[data-owl-item='" + active + "']").addClass("active");
  
  					customPag.find("[data-owl-item]").on('click', function (e) {
  						e.preventDefault();
  						carousel.trigger('to.owl.carousel', [parseInt(this.getAttribute("data-owl-item"), 10), 300, true]);
  					});
  
  					carousel.on("translate.owl.carousel", function (event) {
  						customPag.find(".active").removeClass("active");
  						customPag.find("[data-owl-item='" + event.item.index + "']").addClass("active")
  					});
  				});
  			}
  
  			c.owlCarousel({
  				autoplay: isNoviBuilder ? false : c.attr("data-autoplay") === "true",
  				loop: isNoviBuilder ? false : c.attr("data-loop") !== "false",
  				items: 1,
  				center: c.attr("data-center") === "true",
  				dotsContainer: c.attr("data-pagination-class") || false,
  				navContainer: c.attr("data-navigation-class") || false,
  				mouseDrag: isNoviBuilder ? false : c.attr("data-mouse-drag") !== "false",
  				nav: c.attr("data-nav") === "true",
  				dots: c.attr("data-dots") === "true",
  				dotsEach: c.attr("data-dots-each") ? parseInt(c.attr("data-dots-each"), 10) : false,
  				animateIn: c.attr('data-animation-in') ? c.attr('data-animation-in') : false,
  				animateOut: c.attr('data-animation-out') ? c.attr('data-animation-out') : false,
  				responsive: responsive,
  				lazyLoad: true,
  				// autoWidth:true,
  				smartSpeed: 700,
  				navText: function () {
  					try {
  						return JSON.parse(c.attr("data-nav-text"));
  					} catch (e) {
  						return [];
  					}
  				}(),
  				navClass: function () {
  					try {
  						return JSON.parse(c.attr("data-nav-class"));
  					} catch (e) {
  						return ['owl-prev', 'owl-next'];
  					}
  				}()
  			});
  		}
  
  
  		/**
  		 * @desc Attach form validation to elements
  		 * @param {object} elements - jQuery object
  		 */
  		function attachFormValidator(elements) {
  			// Custom validator - phone number
  			regula.custom({
  				name: 'PhoneNumber',
  				defaultMessage: 'Invalid phone number format',
  				validator: function () {
  					if (this.value === '') return true;
  					else return /^(\+\d)?[0-9\-\(\) ]{5,}$/i.test(this.value);
  				}
  			});
  
  			for (var i = 0; i < elements.length; i++) {
  				var o = $(elements[i]), v;
  				o.addClass("form-control-has-validation").after("<span class='form-validation'></span>");
  				v = o.parent().find(".form-validation");
  				if (v.is(":last-child")) o.addClass("form-control-last-child");
  			}
  
  			elements.on('input change propertychange blur', function (e) {
  				var $this = $(this), results;
  
  				if (e.type !== "blur") if (!$this.parent().hasClass("has-error")) return;
  				if ($this.parents('.rd-mailform').hasClass('success')) return;
  
  				if ((results = $this.regula('validate')).length) {
  					for (i = 0; i < results.length; i++) {
  						$this.siblings(".form-validation").text(results[i].message).parent().addClass("has-error");
  					}
  				} else {
  					$this.siblings(".form-validation").text("").parent().removeClass("has-error")
  				}
  			}).regula('bind');
  
  			var regularConstraintsMessages = [
  				{
  					type: regula.Constraint.Required,
  					newMessage: "The text field is required."
  				},
  				{
  					type: regula.Constraint.Email,
  					newMessage: "The email is not a valid email."
  				},
  				{
  					type: regula.Constraint.Numeric,
  					newMessage: "Only numbers are required"
  				},
  				{
  					type: regula.Constraint.Selected,
  					newMessage: "Please choose an option."
  				}
  			];
  
  
  			for (var i = 0; i < regularConstraintsMessages.length; i++) {
  				var regularConstraint = regularConstraintsMessages[i];
  
  				regula.override({
  					constraintType: regularConstraint.type,
  					defaultMessage: regularConstraint.newMessage
  				});
  			}
  		}
  
  		/**
  		 * @desc Check if all elements pass validation
  		 * @param {object} elements - object of items for validation
  		 * @param {object} captcha - captcha object for validation
  		 * @return {boolean}
  		 */
  		function isValidated(elements, captcha) {
  			var results, errors = 0;
  
  			if (elements.length) {
  				for (var j = 0; j < elements.length; j++) {
  
  					var $input = $(elements[j]);
  					if ((results = $input.regula('validate')).length) {
  						for (k = 0; k < results.length; k++) {
  							errors++;
  							$input.siblings(".form-validation").text(results[k].message).parent().addClass("has-error");
  						}
  					} else {
  						$input.siblings(".form-validation").text("").parent().removeClass("has-error")
  					}
  				}
  
  				if (captcha) {
  					if (captcha.length) {
  						return validateReCaptcha(captcha) && errors === 0
  					}
  				}
  
  				return errors === 0;
  			}
  			return true;
  		}
  
  		/**
  		 * @desc Validate google reCaptcha
  		 * @param {object} captcha - captcha object for validation
  		 * @return {boolean}
  		 */
  		function validateReCaptcha(captcha) {
  			var captchaToken = captcha.find('.g-recaptcha-response').val();
  
  			if (captchaToken.length === 0) {
  				captcha
  					.siblings('.form-validation')
  					.html('Please, prove that you are not robot.')
  					.addClass('active');
  				captcha
  					.closest('.form-wrap')
  					.addClass('has-error');
  
  				captcha.on('propertychange', function () {
  					var $this = $(this),
  						captchaToken = $this.find('.g-recaptcha-response').val();
  
  					if (captchaToken.length > 0) {
  						$this
  							.closest('.form-wrap')
  							.removeClass('has-error');
  						$this
  							.siblings('.form-validation')
  							.removeClass('active')
  							.html('');
  						$this.off('propertychange');
  					}
  				});
  
  				return false;
  			}
  
  			return true;
  		}
  
  		/**
  		 * @desc Initialize Google reCaptcha
  		 */
  		window.onloadCaptchaCallback = function () {
  			for (var i = 0; i < plugins.captcha.length; i++) {
  				var $capthcaItem = $(plugins.captcha[i]);
  
  				grecaptcha.render(
  					$capthcaItem.attr('id'),
  					{
  						sitekey: $capthcaItem.attr('data-sitekey'),
  						size: $capthcaItem.attr('data-size') ? $capthcaItem.attr('data-size') : 'normal',
  						theme: $capthcaItem.attr('data-theme') ? $capthcaItem.attr('data-theme') : 'light',
  						callback: function (e) {
  							$('.recaptcha').trigger('propertychange');
  						}
  					}
  				);
  				$capthcaItem.after("<span class='form-validation'></span>");
  			}
  		};
  
  		/**
  		 * @desc Initialize Bootstrap tooltip with required placement
  		 * @param {string} tooltipPlacement
  		 */
  		function initBootstrapTooltip(tooltipPlacement) {
  			plugins.bootstrapTooltip.tooltip('dispose');
  
  			if (window.innerWidth < 576) {
  				plugins.bootstrapTooltip.tooltip({placement: 'bottom'});
  			} else {
  				plugins.bootstrapTooltip.tooltip({placement: tooltipPlacement});
  			}
  		}
  
  		/**
  		 * @desc Initialize the gallery with set of images
  		 * @param {object} itemsToInit - jQuery object
  		 * @param {string} addClass - additional gallery class
  		 */
  		function initLightGallery(itemsToInit, addClass) {
  			if (!isNoviBuilder) {
  				$(itemsToInit).lightGallery({
  					thumbnail: $(itemsToInit).attr("data-lg-thumbnail") !== "false",
  					showThumbByDefault: $(itemsToInit).attr("data-thumbnail-show") ? $(itemsToInit).attr("data-thumbnail-show") : false,
  					selector: "[data-lightgallery='item']",
  					autoplay: $(itemsToInit).attr("data-lg-autoplay") === "false",
  					pause: parseInt($(itemsToInit).attr("data-lg-autoplay-delay")) || 5000,
  					addClass: addClass,
  					mode: $(itemsToInit).attr("data-lg-animation") || "lg-slide",
  					loop: $(itemsToInit).attr("data-lg-loop") !== "false"
  				});
  			}
  		}
  
  		/**
  		 * @desc Initialize the gallery with dynamic addition of images
  		 * @param {object} itemsToInit - jQuery object
  		 * @param {string} addClass - additional gallery class
  		 */
  		function initDynamicLightGallery(itemsToInit, addClass) {
  			if (!isNoviBuilder) {
  				$(itemsToInit).on("click", function () {
  					$(itemsToInit).lightGallery({
  						thumbnail: $(itemsToInit).attr("data-lg-thumbnail") !== "false",
  						selector: "[data-lightgallery='item']",
  						autoplay: $(itemsToInit).attr("data-lg-autoplay") === "false",
  						pause: parseInt($(itemsToInit).attr("data-lg-autoplay-delay")) || 5000,
  						addClass: addClass,
  						mode: $(itemsToInit).attr("data-lg-animation") || "lg-slide",
  						loop: $(itemsToInit).attr("data-lg-loop") !== "false",
  						dynamic: true,
  						dynamicEl: JSON.parse($(itemsToInit).attr("data-lg-dynamic-elements")) || []
  					});
  				});
  			}
  		}
  
  		/**
  		 * @desc Initialize the gallery with one image
  		 * @param {object} itemToInit - jQuery object
  		 * @param {string} addClass - additional gallery class
  		 */
  		function initLightGalleryItem(itemToInit, addClass) {
  			if (!isNoviBuilder) {
  				$(itemToInit).lightGallery({
  					selector: "this",
  					addClass: addClass,
  					counter: false,
  					youtubePlayerParams: {
  						modestbranding: 1,
  						showinfo: 0,
  						rel: 0,
  						controls: 0
  					},
  					vimeoPlayerParams: {
  						byline: 0,
  						portrait: 0
  					}
  				});
  			}
  		}
  
  		// Google ReCaptcha
  		if (plugins.captcha.length) {
  			$.getScript("//www.google.com/recaptcha/api.js?onload=onloadCaptchaCallback&render=explicit&hl=en");
  		}
  
  		// Additional class on html if mac os.
  		if (navigator.platform.match(/(Mac)/i)) {
  			$html.addClass("mac-os");
  		}
  
  		// Adds some loosing functionality to IE browsers (IE Polyfills)
  		if (isIE) {
  			if (isIE < 10) {
  				$html.addClass("lt-ie-10");
  			}
  
  			if (isIE < 11) {
  				$.getScript('js/pointer-events.min.js')
  					.done(function () {
  						$html.addClass("ie-10");
  						PointerEventsPolyfill.initialize({});
  					});
  			}
  
  			if (isIE === 11) {
  				$html.addClass("ie-11");
  			}
  
  			if (isIE === 12) {
  				$html.addClass("ie-edge");
  			}
  		}
  
  		// Bootstrap Tooltips
  		if (plugins.bootstrapTooltip.length) {
  			var tooltipPlacement = plugins.bootstrapTooltip.attr('data-placement');
  			initBootstrapTooltip(tooltipPlacement);
  
  			$window.on('resize orientationchange', function () {
  				initBootstrapTooltip(tooltipPlacement);
  			})
  		}
  
  		// Stop vioeo in bootstrapModalDialog
  		if (plugins.bootstrapModalDialog.length) {
  			for (var i = 0; i < plugins.bootstrapModalDialog.length; i++) {
  				var modalItem = $(plugins.bootstrapModalDialog[i]);
  
  				modalItem.on('hidden.bs.modal', $.proxy(function () {
  					var activeModal = $(this),
  						rdVideoInside = activeModal.find('video'),
  						youTubeVideoInside = activeModal.find('iframe');
  
  					if (rdVideoInside.length) {
  						rdVideoInside[0].pause();
  					}
  
  					if (youTubeVideoInside.length) {
  						var videoUrl = youTubeVideoInside.attr('src');
  
  						youTubeVideoInside
  							.attr('src', '')
  							.attr('src', videoUrl);
  					}
  				}, modalItem))
  			}
  		}
  
  		// Popovers
  		if (plugins.popover.length) {
  			if (window.innerWidth < 767) {
  				plugins.popover.attr('data-placement', 'bottom');
  				plugins.popover.popover();
  			}
  			else {
  				plugins.popover.popover();
  			}
  		}
  
  		// Bootstrap Buttons
  		if (plugins.statefulButton.length) {
  			$(plugins.statefulButton).on('click', function () {
  				var statefulButtonLoading = $(this).button('loading');
  
  				setTimeout(function () {
  					statefulButtonLoading.button('reset')
  				}, 2000);
  			})
  		}
  
  		// Bootstrap tabs
  		if (plugins.bootstrapTabs.length) {
  			for (var i = 0; i < plugins.bootstrapTabs.length; i++) {
  				var bootstrapTabsItem = $(plugins.bootstrapTabs[i]);
  			}
  		}
  
  
  		// Copyright Year (Evaluates correct copyright year)
  		if (plugins.copyrightYear.length) {
  			plugins.copyrightYear.text(initialDate.getFullYear());
  		}
  
  
  
  		// Add custom styling options for input[type="radio"]
  		if (plugins.radio.length) {
  			for (var i = 0; i < plugins.radio.length; i++) {
  				$(plugins.radio[i]).addClass("radio-custom").after("<span class='radio-custom-dummy'></span>")
  			}
  		}
  
  		// Add custom styling options for input[type="checkbox"]
  		if (plugins.checkbox.length) {
  			for (var i = 0; i < plugins.checkbox.length; i++) {
  				$(plugins.checkbox[i]).addClass("checkbox-custom").after("<span class='checkbox-custom-dummy'></span>")
  			}
  		}
  
  		// UI To Top
  		if (isDesktop && !isNoviBuilder) {
  			$().UItoTop({
  				easingType: 'easeOutQuad',
  				containerClass: 'ui-to-top fa fa-angle-up'
  			});
  		}
  
  		// RD Navbar
  		if (plugins.rdNavbar.length) {
  			var aliaces, i, j, len, value, values, responsiveNavbar;
  
  			aliaces = ["-", "-sm-", "-md-", "-lg-", "-xl-", "-xxl-"];
  			values = [0, 576, 768, 992, 1200, 1600];
  			responsiveNavbar = {};
  
  			for (i = j = 0, len = values.length; j < len; i = ++j) {
  				value = values[i];
  				if (!responsiveNavbar[values[i]]) {
  					responsiveNavbar[values[i]] = {};
  				}
  				if (plugins.rdNavbar.attr('data' + aliaces[i] + 'layout')) {
  					responsiveNavbar[values[i]].layout = plugins.rdNavbar.attr('data' + aliaces[i] + 'layout');
  				}
  				if (plugins.rdNavbar.attr('data' + aliaces[i] + 'device-layout')) {
  					responsiveNavbar[values[i]]['deviceLayout'] = plugins.rdNavbar.attr('data' + aliaces[i] + 'device-layout');
  				}
  				if (plugins.rdNavbar.attr('data' + aliaces[i] + 'hover-on')) {
  					responsiveNavbar[values[i]]['focusOnHover'] = plugins.rdNavbar.attr('data' + aliaces[i] + 'hover-on') === 'true';
  				}
  				if (plugins.rdNavbar.attr('data' + aliaces[i] + 'auto-height')) {
  					responsiveNavbar[values[i]]['autoHeight'] = plugins.rdNavbar.attr('data' + aliaces[i] + 'auto-height') === 'true';
  				}
  
  				if (isNoviBuilder) {
  					responsiveNavbar[values[i]]['stickUp'] = false;
  				} else if (plugins.rdNavbar.attr('data' + aliaces[i] + 'stick-up')) {
  					responsiveNavbar[values[i]]['stickUp'] = plugins.rdNavbar.attr('data' + aliaces[i] + 'stick-up') === 'true';
  				}
  
  				if (plugins.rdNavbar.attr('data' + aliaces[i] + 'stick-up-offset')) {
  					responsiveNavbar[values[i]]['stickUpOffset'] = plugins.rdNavbar.attr('data' + aliaces[i] + 'stick-up-offset');
  				}
  			}
  
  
  			plugins.rdNavbar.RDNavbar({
  				anchorNav: !isNoviBuilder,
  				stickUpClone: (plugins.rdNavbar.attr("data-stick-up-clone") && !isNoviBuilder) ? plugins.rdNavbar.attr("data-stick-up-clone") === 'true' : false,
  				responsive: responsiveNavbar,
  				callbacks: {
  					onStuck: function () {
  						var navbarSearch = this.$element.find('.rd-search input');
  
  						if (navbarSearch) {
  							navbarSearch.val('').trigger('propertychange');
  						}
  					},
  					onDropdownOver: function () {
  						return !isNoviBuilder;
  					},
  					onUnstuck: function () {
  						if (this.$clone === null)
  							return;
  
  						var navbarSearch = this.$clone.find('.rd-search input');
  
  						if (navbarSearch) {
  							navbarSearch.val('').trigger('propertychange');
  							navbarSearch.trigger('blur');
  						}
  
  					}
  				}
  			});
  
  
  			if (plugins.rdNavbar.attr("data-body-class")) {
  				document.body.className += ' ' + plugins.rdNavbar.attr("data-body-class");
  			}
  		}
  
  		// Add class in viewport
  		if (plugins.viewAnimate.length) {
  			for (var i = 0; i < plugins.viewAnimate.length; i++) {
  				var $view = $(plugins.viewAnimate[i]).not('.active');
  				$document.on("scroll", $.proxy(function () {
  					if (isScrolledIntoView(this)) {
  						this.addClass("active");
  					}
  				}, $view))
  					.trigger("scroll");
  			}
  		}
  
  		// Swiper
  		if (plugins.swiper.length) {
  			for (var i = 0; i < plugins.swiper.length; i++) {
  				var s = $(plugins.swiper[i]);
  				var pag = s.find(".swiper-pagination"),
  					next = s.find(".swiper-button-next"),
  					prev = s.find(".swiper-button-prev"),
  					bar = s.find(".swiper-scrollbar"),
  					swiperSlide = s.find(".swiper-slide"),
  					autoplay = false;
  
  				for (var j = 0; j < swiperSlide.length; j++) {
  					var $this = $(swiperSlide[j]),
  						url;
  
  					if (url = $this.attr("data-slide-bg")) {
  						$this.css({
  							"background-image": "url(" + url + ")",
  							"background-size": "cover"
  						})
  					}
  				}
  
  				swiperSlide.end()
  					.find("[data-caption-animate]")
  					.addClass("not-animated")
  					.end();
  
  				s.swiper({
  					autoplay: s.attr('data-autoplay') ? s.attr('data-autoplay') === "false" ? undefined : s.attr('data-autoplay') : 5000,
  					direction: s.attr('data-direction') ? s.attr('data-direction') : "horizontal",
  					effect: s.attr('data-slide-effect') ? s.attr('data-slide-effect') : "slide",
  					speed: s.attr('data-slide-speed') ? s.attr('data-slide-speed') : 600,
  					keyboardControl: s.attr('data-keyboard') === "true",
  					mousewheelControl: s.attr('data-mousewheel') === "true",
  					mousewheelReleaseOnEdges: s.attr('data-mousewheel-release') === "true",
  					nextButton: next.length ? next.get(0) : null,
  					prevButton: prev.length ? prev.get(0) : null,
  					pagination: pag.length ? pag.get(0) : null,
  					paginationClickable: pag.length ? pag.attr("data-clickable") !== "false" : false,
  					paginationBulletRender: pag.length ? pag.attr("data-index-bullet") === "true" ? function (swiper, index, className) {
  						return '<span class="' + className + '">' + (index + 1) + '</span>';
  					} : null : null,
  					scrollbar: bar.length ? bar.get(0) : null,
  					scrollbarDraggable: bar.length ? bar.attr("data-draggable") !== "false" : true,
  					scrollbarHide: bar.length ? bar.attr("data-draggable") === "false" : false,
  					loop: isNoviBuilder ? false : s.attr('data-loop') !== "false",
  					simulateTouch: s.attr('data-simulate-touch') && !isNoviBuilder ? s.attr('data-simulate-touch') === "true" : false,
  					onTransitionStart: function (swiper) {
  						toggleSwiperInnerVideos(swiper);
  					},
  					onTransitionEnd: function (swiper) {
  						toggleSwiperCaptionAnimation(swiper);
  					},
  					onInit: function (swiper) {
  						toggleSwiperInnerVideos(swiper);
  						toggleSwiperCaptionAnimation(swiper);
  						initLightGalleryItem(s.find('[data-lightgallery="item"]'), 'lightGallery-in-carousel');
  						getSwiperActiveSlideNumber(swiper);
  					},
  					onSlideChangeStart: function (swiper) {
  						getSwiperActiveSlideNumber(swiper);
  					}
  				});
  
  				$window.on("resize", (function (s) {
  					return function () {
  						var mh = getSwiperHeight(s, "min-height"),
  							h = getSwiperHeight(s, "height");
  						if (h) {
  							s.css("height", mh ? mh > h ? mh : h : h);
  						}
  					}
  				})(s)).trigger("resize");
  			}
  		}
  
  		// Owl carousel
  		if (plugins.owl.length) {
  			for (var i = 0; i < plugins.owl.length; i++) {
  				var c = $(plugins.owl[i]);
  				plugins.owl[i].owl = c;
  
  				initOwlCarousel(c);
  			}
  		}
  
  
  		// WOW
  		if ($html.hasClass("wow-animation") && plugins.wow.length && !isNoviBuilder && isDesktop) {
  			new WOW().init();
  		}
  
  		// RD Input Label
  		if (plugins.rdInputLabel.length) {
  			plugins.rdInputLabel.RDInputLabel();
  		}
  
  		// Regula
  		if (plugins.regula.length) {
  			attachFormValidator(plugins.regula);
  		}
  
  
  		// RD Mailform
  		if (plugins.rdMailForm.length) {
  			var i, j, k,
  				msg = {
  					'MF000': 'Successfully sent!',
  					'MF001': 'Recipients are not set!',
  					'MF002': 'Form will not work locally!',
  					'MF003': 'Please, define email field in your form!',
  					'MF004': 'Please, define type of your form!',
  					'MF254': 'Something went wrong with PHPMailer!',
  					'MF255': 'Aw, snap! Something went wrong.'
  				};
  
  			for (i = 0; i < plugins.rdMailForm.length; i++) {
  				var $form = $(plugins.rdMailForm[i]),
  					formHasCaptcha = false;
  
  				$form.attr('novalidate', 'novalidate').ajaxForm({
  					data: {
  						"form-type": $form.attr("data-form-type") || "contact",
  						"counter": i
  					},
  					beforeSubmit: function (arr, $form, options) {
  						if (isNoviBuilder)
  							return;
  
  						var form = $(plugins.rdMailForm[this.extraData.counter]),
  							inputs = form.find("[data-constraints]"),
  							output = $("#" + form.attr("data-form-output")),
  							captcha = form.find('.recaptcha'),
  							captchaFlag = true;
  
  						output.removeClass("active error success");
  
  						if (isValidated(inputs, captcha)) {
  
  							// veify reCaptcha
  							if (captcha.length) {
  								var captchaToken = captcha.find('.g-recaptcha-response').val(),
  									captchaMsg = {
  										'CPT001': 'Please, setup you "site key" and "secret key" of reCaptcha',
  										'CPT002': 'Something wrong with google reCaptcha'
  									};
  
  								formHasCaptcha = true;
  
  								$.ajax({
  									method: "POST",
  									url: "bat/reCaptcha.php",
  									data: {'g-recaptcha-response': captchaToken},
  									async: false
  								})
  									.done(function (responceCode) {
  										if (responceCode !== 'CPT000') {
  											if (output.hasClass("snackbars")) {
  												output.html('<p><span class="icon text-middle mdi mdi-check icon-xxs"></span><span>' + captchaMsg[responceCode] + '</span></p>')
  
  												setTimeout(function () {
  													output.removeClass("active");
  												}, 3500);
  
  												captchaFlag = false;
  											} else {
  												output.html(captchaMsg[responceCode]);
  											}
  
  											output.addClass("active");
  										}
  									});
  							}
  
  							if (!captchaFlag) {
  								return false;
  							}
  
  							form.addClass('form-in-process');
  
  							if (output.hasClass("snackbars")) {
  								output.html('<p><span class="icon text-middle fa fa-circle-o-notch fa-spin icon-xxs"></span><span>Sending</span></p>');
  								output.addClass("active");
  							}
  						} else {
  							return false;
  						}
  					},
  					error: function (result) {
  						if (isNoviBuilder)
  							return;
  
  						var output = $("#" + $(plugins.rdMailForm[this.extraData.counter]).attr("data-form-output")),
  							form = $(plugins.rdMailForm[this.extraData.counter]);
  
  						output.text(msg[result]);
  						form.removeClass('form-in-process');
  
  						if (formHasCaptcha) {
  							grecaptcha.reset();
  						}
  					},
  					success: function (result) {
  						if (isNoviBuilder)
  							return;
  
  						var form = $(plugins.rdMailForm[this.extraData.counter]),
  							output = $("#" + form.attr("data-form-output")),
  							select = form.find('select');
  
  						form
  							.addClass('success')
  							.removeClass('form-in-process');
  
  						if (formHasCaptcha) {
  							grecaptcha.reset();
  						}
  
  						result = result.length === 5 ? result : 'MF255';
  						output.text(msg[result]);
  
  						if (result === "MF000") {
  							if (output.hasClass("snackbars")) {
  								output.html('<p><span class="icon text-middle mdi mdi-check icon-xxs"></span><span>' + msg[result] + '</span></p>');
  							} else {
  								output.addClass("active success");
  							}
  						} else {
  							if (output.hasClass("snackbars")) {
  								output.html(' <p class="snackbars-left"><span class="icon icon-xxs mdi mdi-alert-outline text-middle"></span><span>' + msg[result] + '</span></p>');
  							} else {
  								output.addClass("active error");
  							}
  						}
  
  						form.clearForm();
  
  						if (select.length) {
  							select.select2("val", "");
  						}
  
  						form.find('input, textarea').trigger('blur');
  
  						setTimeout(function () {
  							output.removeClass("active error success");
  							form.removeClass('success');
  						}, 3500);
  					}
  				});
  			}
  		}
  
  		// lightGallery
  		if (plugins.lightGallery.length) {
  			for (var i = 0; i < plugins.lightGallery.length; i++) {
  				initLightGallery(plugins.lightGallery[i]);
  			}
  		}
  
  		// lightGallery item
  		if (plugins.lightGalleryItem.length) {
  			for (var i = 0; i < plugins.lightGalleryItem.length; i++) {
  				initLightGalleryItem(plugins.lightGalleryItem[i]);
  			}
  		}
  
  		// Dynamic lightGallery
  		if (plugins.lightDynamicGalleryItem.length) {
  			for (var i = 0; i < plugins.lightDynamicGalleryItem.length; i++) {
  				initDynamicLightGallery(plugins.lightDynamicGalleryItem[i]);
  			}
  		}
  
  		// Custom Toggles
  		if (plugins.customToggle.length) {
  			for (var i = 0; i < plugins.customToggle.length; i++) {
  				var $this = $(plugins.customToggle[i]);
  
  				$this.on('click', $.proxy(function (event) {
  					event.preventDefault();
  
  					var $ctx = $(this);
  					$($ctx.attr('data-custom-toggle')).add(this).toggleClass('active');
  				}, $this));
  
  				if ($this.attr("data-custom-toggle-hide-on-blur") === "true") {
  					$body.on("click", $this, function (e) {
  						if (e.target !== e.data[0]
  							&& $(e.data.attr('data-custom-toggle')).find($(e.target)).length
  							&& e.data.find($(e.target)).length === 0) {
  							$(e.data.attr('data-custom-toggle')).add(e.data[0]).removeClass('active');
  						}
  					})
  				}
  
  				if ($this.attr("data-custom-toggle-disable-on-blur") === "true") {
  					$body.on("click", $this, function (e) {
  						if (e.target !== e.data[0] && $(e.data.attr('data-custom-toggle')).find($(e.target)).length === 0 && e.data.find($(e.target)).length === 0) {
  							$(e.data.attr('data-custom-toggle')).add(e.data[0]).removeClass('active');
  						}
  					})
  				}
  			}
  		}
  
  		// TimeCircles
  		if (plugins.dateCountdown.length) {
  			for (var i = 0; i < plugins.dateCountdown.length; i++) {
  				var dateCountdownItem = $(plugins.dateCountdown[i]),
  					time = {
  						"Days": {
  							"text": "Days",
  							"show": true,
  							color: dateCountdownItem.attr("data-color") ? dateCountdownItem.attr("data-color") : "#f9f9f9"
  						},
  						"Hours": {
  							"text": "Hours",
  							"show": true,
  							color: dateCountdownItem.attr("data-color") ? dateCountdownItem.attr("data-color") : "#f9f9f9"
  						},
  						"Minutes": {
  							"text": "Minutes",
  							"show": true,
  							color: dateCountdownItem.attr("data-color") ? dateCountdownItem.attr("data-color") : "#f9f9f9"
  						},
  						"Seconds": {
  							"text": "Seconds",
  							"show": true,
  							color: dateCountdownItem.attr("data-color") ? dateCountdownItem.attr("data-color") : "#f9f9f9"
  						}
  					};
  
  				dateCountdownItem.TimeCircles({
  					color: dateCountdownItem.attr("data-color") ? dateCountdownItem.attr("data-color") : "rgba(247, 247, 247, 1)",
  					animation: "smooth",
  					bg_width: dateCountdownItem.attr("data-bg-width") ? dateCountdownItem.attr("data-bg-width") : 0.6,
  					circle_bg_color: dateCountdownItem.attr("data-bg") ? dateCountdownItem.attr("data-bg") : "rgba(0, 0, 0, 1)",
  					fg_width: dateCountdownItem.attr("data-width") ? dateCountdownItem.attr("data-width") : 0.03
  				});
  
  				(function (dateCountdownItem, time) {
  					$window.on('load resize orientationchange', function () {
  						if (window.innerWidth < 479) {
  							dateCountdownItem.TimeCircles({
  								time: {
  									"Days": {
  										"text": "Days",
  										"show": true,
  										color: dateCountdownItem.attr("data-color") ? dateCountdownItem.attr("data-color") : "#f9f9f9"
  									},
  									"Hours": {
  										"text": "Hours",
  										"show": true,
  										color: dateCountdownItem.attr("data-color") ? dateCountdownItem.attr("data-color") : "#f9f9f9"
  									},
  									"Minutes": {
  										"text": "Minutes",
  										"show": true,
  										color: dateCountdownItem.attr("data-color") ? dateCountdownItem.attr("data-color") : "#f9f9f9"
  									},
  									Seconds: {
  										"text": "Seconds",
  										show: false,
  										color: dateCountdownItem.attr("data-color") ? dateCountdownItem.attr("data-color") : "#f9f9f9"
  									}
  								}
  							}).rebuild();
  						} else if (window.innerWidth < 767) {
  							dateCountdownItem.TimeCircles({
  								time: {
  									"Days": {
  										"text": "Days",
  										"show": true,
  										color: dateCountdownItem.attr("data-color") ? dateCountdownItem.attr("data-color") : "#f9f9f9"
  									},
  									"Hours": {
  										"text": "Hours",
  										"show": true,
  										color: dateCountdownItem.attr("data-color") ? dateCountdownItem.attr("data-color") : "#f9f9f9"
  									},
  									"Minutes": {
  										"text": "Minutes",
  										"show": true,
  										color: dateCountdownItem.attr("data-color") ? dateCountdownItem.attr("data-color") : "#f9f9f9"
  									},
  									Seconds: {
  										text: '',
  										show: false,
  										color: dateCountdownItem.attr("data-color") ? dateCountdownItem.attr("data-color") : "#f9f9f9"
  									}
  								}
  							}).rebuild();
  						} else {
  							dateCountdownItem.TimeCircles({time: time}).rebuild();
  						}
  					});
  				})(dateCountdownItem, time);
  			}
  		}
  
  		// Circle Progress
  		if (plugins.circleProgress.length) {
  			for (var i = 0; i < plugins.circleProgress.length; i++) {
  				var circleProgressItem = $(plugins.circleProgress[i]);
  				$document.on("scroll", $.proxy(function () {
  					var $this = $(this);
  
  					if (!$this.hasClass('animated') && isScrolledIntoView($this)) {
  
  						var arrayGradients = $this.attr('data-gradient').split(",");
  
  						$this.circleProgress({
  							value: $this.attr('data-value'),
  							size: $this.attr('data-size') ? $this.attr('data-size') : 175,
  							fill: {gradient: arrayGradients, gradientAngle: Math.PI / 4},
  							startAngle: -Math.PI / 4 * 2,
  							emptyFill: $this.attr('data-empty-fill') ? $this.attr('data-empty-fill') : "rgb(245,245,245)",
  							thickness: $this.attr('data-thickness') ? parseInt($this.attr('data-thickness'), 10) : 10
  
  						}).on('circle-animation-progress', function (event, progress, stepValue) {
  							$(this).find('span').text(String(stepValue.toFixed(2)).replace('0.', '').replace('1.', '1'));
  						});
  						$this.addClass('animated');
  					}
  				}, circleProgressItem))
  					.trigger("scroll");
  			}
  		}
  
  
  
  
  		// JQuery mousewheel plugin
  		if (plugins.scroller.length) {
  			for (var i = 0; i < plugins.scroller.length; i++) {
  				var scrollerItem = $(plugins.scroller[i]);
  
  				scrollerItem.mCustomScrollbar({
  					theme: scrollerItem.attr('data-theme') ? scrollerItem.attr('data-theme') : 'minimal',
  					scrollInertia: 100,
  					scrollButtons: {enable: false}
  				});
  			}
  		}
  
  		// parallax scroll
  		if ($('[data-parallax-scroll]').length && !isNoviBuilder && !isMobile) {
  			ParallaxScroll.init();
  		}
  
  		/**
  		 * Select2
  		 * @description Enables select2 plugin
  		 */
  		if (plugins.selectFilter.length) {
  			var i;
  			for (i = 0; i < plugins.selectFilter.length; i++) {
  				var select = $(plugins.selectFilter[i]);
  
  				select.select2({
  					placeholder: select.attr("data-placeholder") ? select.attr("data-placeholder") : false,
  					minimumResultsForSearch: select.attr("data-minimum-results-search") ? select.attr("data-minimum-results-search") : 10,
  					maximumSelectionSize: 3
  				});
  			}
  		}
  
  		/**
  		 * Bootstrap Date time picker
  		 */
  		if (plugins.bootstrapDateTimePicker.length) {
  			var i;
  			for (i = 0; i < plugins.bootstrapDateTimePicker.length; i++) {
  				var $dateTimePicker = $(plugins.bootstrapDateTimePicker[i]);
  				var options = {};
  
  				options['format'] = 'dddd DD MMMM YYYY - HH:mm';
  				if ($dateTimePicker.attr("data-time-picker") === "date") {
  					options['format'] = 'dddd DD MMMM YYYY';
  					options['minDate'] = new Date();
  				} else if ($dateTimePicker.attr("data-time-picker") === "time") {
  					options['format'] = 'HH:mm';
  				}
  
  				options["time"] = ($dateTimePicker.attr("data-time-picker") !== "date");
  				options["date"] = ($dateTimePicker.attr("data-time-picker") !== "time");
  				options["shortTime"] = true;
  
  				$dateTimePicker.bootstrapMaterialDatePicker(options);
  			}
  		}
  
  
  
  
  	});
  }());
  