1(function ($) { 2 3 'use strict'; 4 // Mean Menu 5 $('.mean-menu').meanmenu({ 6 meanScreenWidth: "991" 7 }); 8 9 // Sticky, Go To Top JS 10 $(window).on('scroll', function () { 11 // Header Sticky JS 12 if ($(this).scrollTop() > 150) { 13 $('.navbar-area').addClass("is-sticky"); 14 } 15 else { 16 $('.navbar-area').removeClass("is-sticky"); 17 }; 18 }); 19 20 // Preloader 21 //$(window).on('load', function () { 22 // $('.preloader-area').fadeOut(); 23 //}); 24 $(function () { 25 setTimeout(function () { 26 $('.preloader-area').fadeOut(300); 27 }, 200); 28 }); 29 30 // Odometer statistics 31 // Keep the final value in data-count, initialize from zero, and start 32 // each counter only when it enters the viewport. 33 const statisticCounters = Array.from( 34 document.querySelectorAll('.odometer[data-count]') 35 ); 36 37 const getStatisticValue = function (element) { 38 const rawValue = (element.dataset.count || '') 39 .trim() 40 .replace(/\s+/g, ''); 41 const parsedValue = Number(rawValue); 42 43 return Number.isFinite(parsedValue) 44 ? Math.max(0, parsedValue) 45 : 0; 46 }; 47 48 statisticCounters.forEach(function (element) { 49 const finalValue = getStatisticValue(element); 50 51 element.dataset.counterPrepared = 'true'; 52 element.setAttribute( 53 'aria-label', 54 finalValue.toLocaleString('az-AZ') 55 ); 56 element.textContent = '0'; 57 }); 58 59 const initializeStatisticCounters = function () { 60 if (!statisticCounters.length) return; 61 62 const reduceMotion = window.matchMedia && 63 window.matchMedia('(prefers-reduced-motion: reduce)').matches; 64 65 const startCounter = function (element) { 66 if (element.dataset.counterStarted === 'true') return; 67 68 element.dataset.counterStarted = 'true'; 69 const finalValue = getStatisticValue(element); 70 71 if ( 72 element.odometer && 73 typeof element.odometer.update === 'function' 74 ) { 75 if ( 76 reduceMotion && 77 typeof element.odometer.render === 'function' 78 ) { 79 element.odometer.value = finalValue; 80 element.odometer.render(finalValue); 81 } else { 82 element.odometer.update(finalValue); 83 } 84 } else { 85 element.textContent = finalValue.toLocaleString('az-AZ'); 86 } 87 }; 88 89 if (reduceMotion || !('IntersectionObserver' in window)) { 90 statisticCounters.forEach(startCounter); 91 return; 92 } 93 94 const observer = new IntersectionObserver(function ( 95 entries, 96 currentObserver 97 ) { 98 entries.forEach(function (entry) { 99 if (!entry.isIntersecting) return; 100 101 startCounter(entry.target); 102 currentObserver.unobserve(entry.target); 103 }); 104 }, { 105 threshold: 0.35, 106 rootMargin: '0px 0px -8% 0px' 107 }); 108 109 statisticCounters.forEach(function (element) { 110 observer.observe(element); 111 }); 112 }; 113 114 if (document.readyState === 'loading') { 115 document.addEventListener( 116 'DOMContentLoaded', 117 initializeStatisticCounters, 118 { once: true } 119 ); 120 } else { 121 initializeStatisticCounters(); 122 } 123 124 // AOS animation 125 AOS.init({ 126 disable: function () { 127 var maxWidth = 900; 128 return window.innerWidth < maxWidth; 129 } 130 }); 131 132 // Others Option For Responsive JS 133 $(".others-option-for-responsive .dot-menu").on("click", function () { 134 $(".others-option-for-responsive .container .container").toggleClass("active"); 135 }); 136 137 // Hero-slider 138 $('.hero-slider').owlCarousel({ 139 loop: true, 140 margin: 0, 141 nav: true, 142 dots: true, 143 items: 1, 144 thumbs: true, 145 thumbsPrerendered: true, 146 autoplay: true, 147 smartSpeed: 1000, 148 autoplayHoverPause: true, 149 navText: [ 150 '<i class="ri-arrow-left-line"></i>', 151 '<i class="ri-arrow-right-line"></i>', 152 ], 153 });
154 155 // Hero-slider2 156 $('.hero-slider2').owlCarousel({ 157 loop: true, 158 margin: 0, 159 nav: true, 160 dots: false, 161 items: 1, 162 thumbs: false, 163 autoplay: true, 164 smartSpeed: 1000, 165 autoplayHoverPause: true, 166 navText: [ 167 '<i class="ri-arrow-left-line"></i>', 168 '<i class="ri-arrow-right-line"></i>', 169 ], 170 }); 171 172 // Courses-slider 173 $('.courses-slider').owlCarousel({ 174 loop: true, 175 margin: 30, 176 nav: true, 177 dots: true, 178 thumbs: false, 179 autoplay: false, 180 smartSpeed: 1000, 181 autoplayHoverPause: true, 182 navText: [ 183 '<i class="ri-arrow-left-line"></i>', 184 '<i class="ri-arrow-right-line"></i>', 185 ], 186 responsive: { 187 0: { 188 items: 1, 189 }, 190 768: { 191 items: 2, 192 }, 193 992: { 194 items: 3, 195 }, 196 1200: { 197 items: 3, 198 }, 199 200 } 201 }); 202 203 204 // Campus-slider 205 $('.campus-slider').owlCarousel({ 206 loop: true, 207 margin: 30, 208 nav: true, 209 thumbs: false, 210 dots: true, 211 autoplay: false, 212 smartSpeed: 1000, 213 autoplayHoverPause: true, 214 navText: [ 215 '<i class="ri-arrow-left-line"></i>', 216 '<i class="ri-arrow-right-line"></i>', 217 ], 218 responsive: { 219 0: { 220 items: 1, 221 }, 222 768: { 223 items: 2, 224 }, 225 992: { 226 items: 2, 227 }, 228 1200: { 229 items: 2, 230 }, 231 232 } 233 }); 234 235 // Campus-slider2 236 $('.campus-slider2').owlCarousel({ 237 loop: true, 238 margin: 30, 239 nav: true, 240 thumbs: false, 241 dots: false, 242 center: true, 243 autoplay: false, 244 smartSpeed: 1000, 245 autoplayHoverPause: true, 246 navText: [ 247 '<i class="ri-arrow-left-line"></i>', 248 '<i class="ri-arrow-right-line"></i>', 249 ], 250 responsive: { 251 0: { 252 items: 1, 253 }, 254 768: { 255 items: 2, 256 }, 257 992: { 258 items: 3, 259 }, 260 1200: { 261 items: 3, 262 }, 263 264 } 265 }); 266 267 // Events-slider 268 $('.events-slider').owlCarousel({ 269 loop: true, 270 margin: 30, 271 nav: true, 272 dots: true, 273 thumbs: false, 274 autoplay: false, 275 smartSpeed: 1000, 276 autoplayHoverPause: true, 277 navText: [ 278 '<i class="ri-arrow-left-line"></i>', 279 '<i class="ri-arrow-right-line"></i>', 280 ], 281 responsive: { 282 0: { 283 items: 1, 284 }, 285 768: { 286 items: 2, 287 }, 288 992: { 289 items: 3, 290 }, 291 1200: { 292 items: 3, 293 }, 294 295 } 296 }); 297 298 // Events-slider 299 $('.news-slider').owlCarousel({ 300 loop: true, 301 margin: 30, 302 nav: true, 303 dots: true, 304 thumbs: false, 305 autoplay: false, 306 smartSpeed: 1000, 307 autoplayHoverPause: true, 308 navText: [ 309 '<i class="ri-arrow-left-line"></i>', 310 '<i class="ri-arrow-right-line"></i>', 311 ], 312 responsive: { 313 0: { 314 items: 1, 315 }, 316 768: { 317 items: 2, 318 }, 319 992: { 320 items: 3, 321 }, 322 1200: { 323 items: 3, 324 }, 325 326 } 327 }); 328 329 // Care-slider 330 //$('.health-care-slider').owlCarousel({ 331 // loop: true, 332 // margin: 30, 333 // nav: true, 334 // dots: false, 335 // thumbs: false, 336 // autoplay: false, 337 // smartSpeed: 1000, 338 // autoplayHoverPause: true, 339 // navText: [ 340 // '<i class="ri-arrow-left-line"></i>', 341 // '<i class="ri-arrow-right-line"></i>', 342 // ], 343 // responsive: { 344 // 0: { 345 // items: 1, 346 // }, 347 // 768: { 348 // items: 2, 349 // }, 350 // 992: { 351 // items: 3, 352 // }, 353 // 1200: { 354 // items: 3, 355 // }, 356 357 // } 358 //}); 359 360 // Magnific popup 361 $(document).ready(function () { 362 $('.popup-youtube, .popup-vimeo, .popup-gmaps').magnificPopup({ 363 disableOn: 100, 364 type: 'iframe', 365 mainClass: 'mfp-fade', 366 removalDelay: 160, 367 preloader: false,
368 fixedContentPos: false 369 }); 370 }); 371 372 // Subscribe form JS 373 $(".newsletter-form").validator().on("submit", function (event) { 374 if (event.isDefaultPrevented()) { 375 // handle the invalid form... 376 formErrorSub(); 377 submitMSGSub(false, "Please enter your email correctly."); 378 } else { 379 // everything looks good! 380 event.preventDefault(); 381 } 382 }); 383 function callbackFunction(resp) { 384 if (resp.result === "success") { 385 formSuccessSub(); 386 } 387 else { 388 formErrorSub(); 389 } 390 } 391 function formSuccessSub() { 392 $(".newsletter-form")[0].reset(); 393 submitMSGSub(true, "Thank you for subscribing!"); 394 setTimeout(function () { 395 $("#validator-newsletter, #validator-newsletter-2").addClass('hide'); 396 }, 4000) 397 } 398 function formErrorSub() { 399 $(".newsletter-form").addClass("animated shake"); 400 setTimeout(function () { 401 $(".newsletter-form").removeClass("animated shake"); 402 }, 1000) 403 } 404 function submitMSGSub(valid, msg) { 405 if (valid) { 406 var msgClasses = "validation-success"; 407 } else { 408 var msgClasses = "validation-danger"; 409 } 410 $("#validator-newsletter, #validator-newsletter-2").removeClass().addClass(msgClasses).text(msg); 411 } 412
413 // Input Plus & Minus Number JS 414 $('.input-counter').each(function () { 415 var spinner = jQuery(this), 416 input = spinner.find('input[type="text"]'), 417 btnUp = spinner.find('.plus-btn'), 418 btnDown = spinner.find('.minus-btn'), 419 min = input.attr('min'), 420 max = input.attr('max'); 421 422 btnUp.on('click', function () { 423 var oldValue = parseFloat(input.val()); 424 if (oldValue >= max) { 425 var newVal = oldValue; 426 } else { 427 var newVal = oldValue + 1; 428 } 429 spinner.find("input").val(newVal); 430 spinner.find("input").trigger("change"); 431 }); 432 btnDown.on('click', function () { 433 var oldValue = parseFloat(input.val()); 434 if (oldValue <= min) { 435 var newVal = oldValue; 436 } else { 437 var newVal = oldValue - 1; 438 } 439 spinner.find("input").val(newVal); 440 spinner.find("input").trigger("change"); 441 }); 442 }); 443 444 // Count Time 445 function makeTimer() { 446 var endTime = new Date("September 20, 2025 17:00:00 PDT"); 447 var endTime = (Date.parse(endTime)) / 1000; 448 var now = new Date(); 449 var now = (Date.parse(now) / 1000); 450 var timeLeft = endTime - now; 451 var days = Math.floor(timeLeft / 86400); 452 var hours = Math.floor((timeLeft - (days * 86400)) / 3600); 453 var minutes = Math.floor((timeLeft - (days * 86400) - (hours * 3600)) / 60); 454 var seconds = Math.floor((timeLeft - (days * 86400) - (hours * 3600) - (minutes * 60))); 455 if (hours < "10") { hours = "0" + hours; } 456 if (minutes < "10") { minutes = "0" + minutes; } 457 if (seconds < "10") { seconds = "0" + seconds; } 458 $("#days").html(days + "<span>Days</span>"); 459 $("#hours").html(hours + "<span>Hours</span>"); 460 $("#minutes").html(minutes + "<span>Minutes</span>"); 461 $("#seconds").html(seconds + "<span>Seconds</span>"); 462 } 463 setInterval(function () { makeTimer(); }, 0); 464 465 // AJAX MailChimp JS 466 $(".newsletter-form").ajaxChimp({ 467 url: "https://hibootstrap.us20.list-manage.com/subscribe/post?u=60e1ffe2e8a68ce1204cd39a5&id=42d6d188d9", // Your url MailChimp 468 callback: callbackFunction 469 }); 470 471 // Go to Top 472 function updateGoTopVisibility() { 473 $('.go-top').toggleClass('active', $(window).scrollTop() > 300); 474 } 475 $(window).on('scroll', updateGoTopVisibility);
476 updateGoTopVisibility(); 477 // Click Event 478 $('.go-top').on('click', function () { 479 $("html, body").animate({ scrollTop: "0" }, 500); 480 }); 481 482 // Year 483 try { 484 document.getElementById("year").innerHTML = new Date().getFullYear(); 485 } catch (err) { } 486 487 488})(jQuery); 489 490try { 491 // function to set a given theme/color-scheme 492 function setTheme(themeName) { 493 localStorage.setItem('sanu_theme', themeName); 494 document.documentElement.className = themeName; 495 } 496 // function to toggle between light and dark theme 497 function toggleTheme() { 498 if (localStorage.getItem('sanu_theme') === 'theme-dark') { 499 setTheme('theme-light'); 500 } else { 501 setTheme('theme-dark'); 502 } 503 } 504 // Immediately invoked function to set the theme on initial load 505 (function () { 506 if (localStorage.getItem('sanu_theme') === 'theme-dark') { 507 setTheme('theme-dark'); 508 document.getElementById('slider').checked = false; 509 } else { 510 setTheme('theme-light'); 511 document.getElementById('slider').checked = true; 512 } 513 })(); 514} catch (err) { }
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.