1/*! 2 * scripts. 3 */ 4 5(function($) { 6 7"use strict"; 8 9// No # and #0 scroll on click 10$('a[href="#"], a[href="#0"]').click(function(e) { 11 e.preventDefault(); 12}) 13 14 15function reservation() { 16 document.querySelectorAll('[open-modal]').forEach(function(element) { 17 element.addEventListener('click', function() { 18 var id = this.getAttribute('open-modal'); 19 document.querySelector('.modal#' + id).classList.add('active'); 20 }); 21 }); 22 23 document.querySelectorAll('[close-modal]').forEach(function(element) { 24 element.addEventListener('click', function() { 25 this.closest('.modal').classList.remove('active'); 26 }); 27 }); 28 29 document.querySelectorAll('.modal').forEach(function(element) { 30 element.addEventListener('click', function(e) { 31 if (e.target !== this) return; 32 this.classList.remove('active'); 33 }); 34 }); 35} 36reservation(); 37 38 39function acc() { 40 $('.acc > .acc-item.is-active').children('.acc-content').slideToggle('fast'); 41 $(".acc > .acc-item").click(function() { 42 $(this).siblings('.acc-item').removeClass('is-active').children('.acc-content').slideUp('fast'); 43 $(this).toggleClass('is-active').children('.acc-content').slideToggle('fast'); 44 }); 45} 46acc(); 47 48 49function sliderTabs() { 50 var sliderTabsElements = document.querySelectorAll('.slider-tabs'); 51 sliderTabsElements.forEach(function(sliderTabsElement, index) { 52 var newDiv1 = document.createElement('div'); 53 newDiv1.classList.add('slider-button-next'); 54 var newDiv2 = document.createElement('div'); 55 newDiv2.classList.add('slider-button-prev'); 56 var newDiv3 = document.createElement('div'); 57 newDiv3.classList.add('swiper-pagination'); 58 var swiperWrapper = sliderTabsElement.querySelector('.swiper-wrapper'); 59 swiperWrapper.parentNode.insertBefore(newDiv1, swiperWrapper.nextSibling); 60 swiperWrapper.parentNode.insertBefore(newDiv2, swiperWrapper.nextSibling); 61 swiperWrapper.parentNode.insertBefore(newDiv3, swiperWrapper.nextSibling); 62 63 var swiperTabs = new Swiper('.swiper.slider-tabs', { 64 autoHeight: true, 65 slidesPerView: 1, 66 spaceBetween: 64, 67 navigation: { 68 nextEl: '.slider-button-next', 69 prevEl: '.slider-button-prev' 70 }, 71 pagination: { 72 el: '.swiper-pagination', 73 clickable: true 74 }, 75 // scrollbar: { 76 // el: ".swiper-scrollbar", 77 // hide: false, 78 // draggable: true, 79 // }, 80 autoplay: { 81 delay: 5000, 82 disableOnInteraction: false, 83 }, 84 breakpoints: { 85 768: { 86 slidesPerView: 1, 87 }, 88 992: { 89 slidesPerView: 3, 90 } 91 } 92 }); 93 }); 94} 95sliderTabs(); 96 97 98function sliderPhoto() { 99 var sliderPhotoElement = document.querySelector('.slider-photo'); 100 if (sliderPhotoElement) { 101 var newDiv1 = document.createElement('div'); 102 newDiv1.classList.add('swiper-pagination'); 103 var swiperWrapper = sliderPhotoElement.querySelector('.swiper-wrapper'); 104 swiperWrapper.parentNode.insertBefore(newDiv1, swiperWrapper.nextSibling); 105 } 106 var swiperLogos = new Swiper('.swiper.slider-photo', { 107 slidesPerView: 1, 108 spaceBetween: 48, 109 loop: true, 110 // autoplay: { 111 // delay: 2500, 112 // disableOnInteraction: true, 113 // }, 114 pagination: { 115 el: '.swiper-pagination', 116 clickable: true 117 } 118 }); 119} 120sliderPhoto(); 121 122 123function sliderBaseFamily() { 124 var sliderBaseFamilyElement = document.querySelector('.slider-base-family'); 125 if (sliderBaseFamilyElement) { 126 var newDiv1 = document.createElement('div'); 127 newDiv1.classList.add('swiper-pagination'); 128 var swiperWrapper = sliderBaseFamilyElement.querySelector('.swiper-wrapper'); 129 swiperWrapper.parentNode.insertBefore(newDiv1, swiperWrapper.nextSibling); 130 } 131 var swiperLogos = new Swiper('.swiper.slider-base-family', { 132 slidesPerView: 1, 133 spaceBetween: 32, 134 loop: true, 135 autoplay: { 136 delay: 2500, 137 disableOnInteraction: true, 138 }, 139 // pagination: { 140 // el: '.swiper-pagination', 141 // clickable: true 142 // }, 143 breakpoints: { 144 768: { 145 slidesPerView: 2, 146 }, 147 992: { 148 slidesPerView: 2, 149 } 150 } 151 }); 152} 153sliderBaseFamily(); 154 155 156function sliderBasecoffee() { 157 var sliderLocationElements = document.querySelectorAll('.slider-base-coffee');
158 sliderLocationElements.forEach(function(sliderLocationElement, index) { 159 var newDiv1 = document.createElement('div'); 160 newDiv1.classList.add('slider-button-next'); 161 var newDiv2 = document.createElement('div'); 162 newDiv2.classList.add('slider-button-prev'); 163 var newDiv4 = document.createElement('div'); 164 newDiv4.classList.add('swiper-scrollbar'); 165 var swiperWrapper = sliderLocationElement.querySelector('.swiper-wrapper'); 166 swiperWrapper.parentNode.insertBefore(newDiv1, swiperWrapper.nextSibling); 167 swiperWrapper.parentNode.insertBefore(newDiv2, swiperWrapper.nextSibling); 168 swiperWrapper.parentNode.insertBefore(newDiv4, swiperWrapper.nextSibling); 169 170 // Use a unique selector for each slider instance 171 var swiperTabs = new Swiper(sliderLocationElement, { 172 direction: 'horizontal', 173 autoHeight: true, 174 slidesPerView: 1, 175 spaceBetween: 0, 176 autoplay: { 177 delay: 5000, 178 disableOnInteraction: false, 179 }, 180 navigation: { 181 nextEl: newDiv1, 182 prevEl: newDiv2 183 }, 184 watchOverflow: true, 185 scrollbar: { 186 el: newDiv4, 187 hide: false, 188 draggable: true, 189 }, 190 breakpoints: { 191 768: { 192 slidesPerView: 2, 193 }, 194 992: { 195 slidesPerView: 4, 196 } 197 } 198 }); 199 }); 200} 201sliderBasecoffee(); 202 203 204function sliderLocation() { 205 var sliderLocationElements = document.querySelectorAll('.slider-location'); 206 sliderLocationElements.forEach(function(sliderLocationElement, index) { 207 // var newDiv1 = document.createElement('div'); 208 // newDiv1.classList.add('slider-button-next'); 209 // var newDiv2 = document.createElement('div'); 210 // newDiv2.classList.add('slider-button-prev'); 211 var newDiv3 = document.createElement('div'); 212 newDiv3.classList.add('swiper-pagination'); 213 // var newDiv4 = document.createElement('div'); 214 // newDiv4.classList.add('swiper-scrollbar'); 215 var swiperWrapper = sliderLocationElement.querySelector('.swiper-wrapper'); 216 // swiperWrapper.parentNode.insertBefore(newDiv1, swiperWrapper.nextSibling); 217 // swiperWrapper.parentNode.insertBefore(newDiv2, swiperWrapper.nextSibling); 218 swiperWrapper.parentNode.insertBefore(newDiv3, swiperWrapper.nextSibling); 219 // swiperWrapper.parentNode.insertBefore(newDiv4, swiperWrapper.nextSibling); 220 221 var swiperTabs = new Swiper('.swiper.slider-location', { 222 direction: 'horizontal', 223 autoHeight: true, 224 slidesPerView: 1, 225 spaceBetween: 0, 226 // autoplay: { 227 // delay: 5000, 228 // disableOnInteraction: false, 229 // }, 230 // navigation: { 231 // nextEl: '.slider-button-next', 232 // prevEl: '.slider-button-prev' 233 // }, 234 pagination: { 235 el: '.swiper-pagination', 236 clickable: true 237 }, 238 // scrollbar: { 239 // el: ".swiper-scrollbar", 240 // hide: false, 241 // draggable: true, 242 // }, 243 breakpoints: { 244 768: { 245 slidesPerView: 2, 246 }, 247 992: { 248 slidesPerView: 2, 249 } 250 } 251 }); 252 }); 253} 254sliderLocation(); 255 256 257// jQuery ready 258$(document).ready(function($){ 259 260 261 $('.reserv-btn').first().attr('open-modal', 'example'); 262 263 264 // Function to initialize header behavior on scroll 265 function initializeHeader() { 266 let lastScrollTop = 0; // Store the last scroll position 267 let headerHidden = false; // Track if the header is hidden 268 269 $(window).on("scroll", function () { 270 const currentScroll = $(this).scrollTop(); 271 272 // Add or remove background class based on scroll position 273 if (currentScroll === 0) { 274 $(".site-header").removeClass("header-bg"); 275 } else if (!$(".site-header").hasClass("header-hidden")) { 276 $(".site-header").addClass("header-bg"); 277 } 278 279 // Hide header when scrolling down more than 200px 280 // if (currentScroll - lastScrollTop > 0 && currentScroll > 200 && !headerHidden) { 281 // $(".site-header").addClass("header-hidden"); 282 // headerHidden = true; 283 // } 284 285 // Show header when scrolling up more than 10px 286 // if (lastScrollTop - currentScroll > 10 && headerHidden) { 287 // $(".site-header").removeClass("header-hidden").addClass("header-bg"); 288 // headerHidden = false; 289 // } 290 291 // Update last scroll position 292 lastScrollTop = currentScroll; 293 }); 294 } 295 initializeHeader(); 296 297 298 299 // Add click event to parent menu items with submenus 300 $('.nav-mobile .wp-block-navigation__submenu-container.wp-block-navigation-submenu').hide(); 301 $('.nav-mobile a.wp-block-navigation-item__content').click(function(e) { 302 // e.preventDefault(); 303 var submenu = $(this).siblings('.nav-mobile .wp-block-navigation__submenu-container.wp-block-navigation-submenu'); 304 $('.nav-mobile .wp-block-navigation__submenu-container.wp-block-navigation-submenu').not(submenu).slideUp(); 305 submenu.slideToggle(); 306 }); 307 308 309 function initializeTabs() { 310 $('.tabs').each(function() { 311 var $container = $(this); 312 313 $container.find('.tab-link').click(function() { 314 var index = $(this).index(); 315 316 $container.find('.tab-link').removeClass('active'); 317 $container.find('.tab').removeClass('active'); 318 319 $(this).addClass('active'); 320 $container.find('.tab').eq(index).addClass('active').hide().fadeIn(); 321 322 // if (window.matchMedia('(max-width: 781px)').matches) { 323 // $('html, body').animate({ 324 // scrollTop: $container.find('.tab-content').offset().top 325 // }, 500); 326 // } 327 }); 328 }); 329 } 330 initializeTabs(); 331 332 333 $('.tab-button').on('click', function () { 334 // Remove active class from all buttons 335 $('.tab-button').removeClass('active'); 336 337 // Add active class to the clicked button 338 $(this).addClass('active'); 339 340 // Get the index of the clicked button 341 const index = $(this).index(); 342 343 // Fade out the currently active pane 344 $('.tab-pane.active').fadeOut(300, function () { 345 // After fade out, remove the active class 346 $(this).removeClass('active'); 347 348 // Fade in the corresponding pane 349 $('.tab-pane').eq(index).fadeIn(300).addClass('active'); 350 }); 351 }); 352 353 354 // Function to animate count up 355 function animateCountUp(el) { 356 var endValue = parseInt($(el).text(), 10); 357 $(el).prop('Counter', 0).animate({ 358 Counter: endValue 359 }, { 360 duration: 3500, 361 easing: 'swing', 362 step: function(now) { 363 $(el).text(Math.ceil(now) + ""); 364 } 365 }); 366 } 367 368 let observer = new IntersectionObserver((entries, observer) => {
369 entries.forEach(entry => { 370 if (entry.isIntersecting) { 371 animateCountUp(entry.target); 372 observer.unobserve(entry.target); 373 } 374 }); 375 }, { 376 threshold: 0.5 377 }); 378 379 $('.count-up').each(function() { 380 observer.observe(this); 381 }); 382 383}); 384 385 386})(jQuery);
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.