diff --git a/Chico/Mobile/Homepage/article.js b/Chico/Mobile/Homepage/article.js new file mode 100644 index 0000000..dd7369d --- /dev/null +++ b/Chico/Mobile/Homepage/article.js @@ -0,0 +1,285 @@ + + // LAZY LOADING + lazy_load_group.push( + { + id: 'js-article-home', + target: '#js-article-home', + loadFn: function () { + getTopAricleList(); + }, + }, + { + id: 'js-article-small-top', + target: '#js-article-small-top', + loadFn: function () { + articleTopMainSmall(); + }, + }, + { + id: 'js-video-featured-', + target: '#js-video-featured-', + loadFn: function () { + getFeaturedVideo(); + }, + }, + { + id: 'js-new-article', + target: '#js-new-article', + loadFn: function () { + getNewArticleHome(); + }, + }, + { + id: 'js-product-hot-article', + target: '#js-product-hot-article', + loadFn: function () { + productHot(); + }, + }, + { + id: 'js-article-small-home', + target: '#js-article-small-home', + loadFn: function () { + getBottomAricleList(); + }, + }, + { + id: 'js-article-middle-right', + target: '#js-article-middle-right', + loadFn: function () { + articleCatRight(); + }, + }, + ) + + // SWIPER ARTICLE TOP + function swiperArticle() { + new Swiper(".swiper-article", { + slidesPerView: 1, + spaceBetween: 10, + centeredSlides: true, + loop: true, + speed: 1000, + autoplay: { + delay: 2500, + disableOnInteraction: false, + pauseOnMouseEnter: "true", + }, + pagination: { + el: ".swiper-pagination", + clickable: true, + }, + navigation: { + nextEl: ".swiper-button-next", + prevEl: ".swiper-button-prev", + }, + }); + } + swiperArticle(); + + // GET ARTICLE TOP NEAR SWIPER + function getTopAricleList() { + var params = { + action_type: 'list', + type: 'article', + featured: 1, + show: 1 + } + var target = "#js-article-home"; + Hura.Ajax.get("article", params).then(function (data) { + var html = Hura.Template.parse(articleMainTop, data.list.splice(0, 3)); + Hura.Template.render(target, html); + }); + } + + // GET ARTICLE TOP NEAR SWIPER + function getBottomAricleList() { + var params = { + action_type: 'list', + type: 'article', + featured: 1, + show: 8, + } + var target = "#js-article-small-home"; + Hura.Ajax.get("article", params).then(function (data) { + var html = Hura.Template.parse(articleMainBottom, data.list.splice(0,3)); + Hura.Template.render(target, html); + }); + } + + + + // GET ARTICLE COL LEFT + function articleTopMainSmall() { + var params = { + action_type: 'list', + type: 'article', + featured: 1, + show: 18 + } + var target = "#js-article-small-top"; + Hura.Ajax.get("article", params).then(function (data) { + var html = Hura.Template.parse(articleMainSmall, data.list.splice(0, 3)); + Hura.Template.render(target, html); + }); + } + + // GET FEATURED VIDEO + function getFeaturedVideo() { + var params = { + action_type: "featured", + type: "article", + show: 10, + }; + var smallTarget = "#js-video-featured-"; + Hura.Ajax.get("article", params).then(function (data) { + var html = Hura.Template.parse(featureVideo, data.splice(0, 3)); + Hura.Template.render(smallTarget, html); + }); + } + + // TIN MỚI NHẤT + function getNewArticleHome() { + var params = { + action_type: "featured", + type: "article", + show: 18, + }; + + var target = "#js-new-article"; + Hura.Ajax.get("article", params).then(function (data) { + var html = Hura.Template.parse(newArticle, data.splice(0, 3)); + Hura.Template.render(target, html); + }); + } + + // TIN TUYỂN DỤNG + function articleCatRight() { + var params = { + action_type: 'list', + type: 'article', + catId: 5, + }; + var target = "#js-article-middle-right"; + Hura.Ajax.get("article", params).then(function (data) { + //console.log(data) + var html = Hura.Template.parse(articleMiddleRight, data.list); + Hura.Template.render(target, html); + }); + } + + // GET PRODUCT NEWEST + function productHot() { + var params = { + action_type: "product-list", + hotType: "saleoff", + sort: "order", + }; + + var target = "#js-product-hot-article"; + Hura.Ajax.get("product", params).then(function (data) { + //console.log(data.list); + var html = Hura.Template.parse(productHotArticle, data.list.splice(0, 5)); + Hura.Template.render(target, html); + }); + } + + + + + + function run_anchor() { + var all = document.getElementById("js-find_toc").getElementsByTagName("*"); + var nodes = []; + for(var i = all.length; i--; nodes.unshift(all[i])); + var result = document.createElement("ol"); + buildRec(nodes, result, 2); + + $("
Nội dung chính
" + result.outerHTML + "
").insertAfter('#js-first-paragraph'); + + $("#js-outp a").each(function(){ + if($(this).text().trim()!=''){ + var anchor_name = convertToSlug($(this).text()); + $(this).attr("onclick", `scrollRec('${anchor_name}')`); + } + }); + + setTimeout(function(){ + $("#js-toggle").click(function(){ + $(this).parents("#js-toc_container").find("#js-outp").toggle(); + }); + }, 500) + } + + function scrollRec(id) { + document.getElementById(id).scrollIntoView({behavior:'smooth'}); + } + + function buildRec(nodes, elm, lv) { + var node; + // console.log(elm); + // filter + do { + node = nodes.shift(); + } while(node && !(/^h[123]$/i.test(node.tagName))); + // process the next node + if(node) { + var ul, li, cnt; + var curLv = parseInt(node.tagName.substring(1)); + //console.log(curLv); + var stt = 0; + if(curLv == lv) { // same level append an il + cnt = 0; + } else if(curLv < lv && 1<2) { // walk up then append il + cnt = 0; + do { + elm = elm.parentNode.parentNode; + cnt--; + } while(cnt > (curLv - lv)); + } else if(curLv > lv) { // create children then append il + cnt = 0; + do { + li = elm.lastChild; + if(li == null) + li = elm.appendChild(document.createElement("li")); + elm = li.appendChild(document.createElement("ol")); + cnt++; + } while(cnt < (curLv - lv) && 1<2); + } + + li = elm.appendChild(document.createElement("li")); + // replace the next line with archor tags or whatever you want + li.innerHTML = ''+ node.innerText +''; + // recursive call + buildRec(nodes, elm, lv + cnt); + } + } + + function convertToSlug(Text){ + let newText = Text; + return newText + .toLowerCase() + .replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, "a") + .replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, "e") + .replace(/ì|í|ị|ỉ|ĩ/g, "i") + .replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, "o") + .replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, "u") + .replace(/ỳ|ý|ỵ|ỷ|ỹ/g, "y") + .replace(/đ/g, "d") + .replace(/\u0300|\u0301|\u0303|\u0309|\u0323/g, "") + .replace(/\u02C6|\u0306|\u031B/g, "") + .replace(/[^\w ]+/g,'') + .replace(/ +/g,'-') + ; + } + + run_anchor(); + + $("#js-find_toc h2, #js-find_toc h3").each(function(){ + if($(this).text().trim()!=''){ + var anchor_name = convertToSlug($(this).text()); + $(this).attr("id",anchor_name); + $(this).css("scroll-margin-top","80px"); + } + }); + diff --git a/Chico/Mobile/Homepage/cart.js b/Chico/Mobile/Homepage/cart.js new file mode 100644 index 0000000..6e85dce --- /dev/null +++ b/Chico/Mobile/Homepage/cart.js @@ -0,0 +1,645 @@ + +//Kiểm tra cú pháp Email +function validateEmail(Email) { + var regaxEmail = + /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + if (regaxEmail.test(Email)) { + return true; + } else { + return false; + } +} + + function check_field(){ + var number_regex1 = /^[0]\d{9}$/i; + var number_regex2 = /^[0]\d{10}$/i; + var error = ""; + + var check_name = document.getElementById('buyer_name').value; + if(check_name.length < 4) error += "- Tên quá ngắn\n"; + else if(check_name.indexOf(' -1) { + error += "- Họ tên chứa các ký tự không hợp lệ, bạn vui lòng kiểm tra lại\n"; + } + + var check_email = document.getElementById('buyer_email').value; + if(check_email.length < 4) { + error += "- Bạn chưa nhập email\n"; + } + if(check_email.length > 4){ + if(validateEmail(check_email)==false) error += "- Email không hợp lệ\n"; + } + + var check_add = document.getElementById('buyer_address').value; + if(check_add.length < 5) error += "- Địa chỉ quá ngắn\n"; + else if(check_add.indexOf(' -1) { + error += "- Địa chỉ chứa các ký tự không hợp lệ, bạn vui lòng kiểm tra lại\n"; + } + + var check_tel = document.getElementById('buyer_tel').value; + if(check_tel.length < 4) error += "- Bạn chưa nhập SĐT\n"; + else{ + if(number_regex1.test(check_tel) == false && number_regex2.test(check_tel) == false) error += "- Số điện thoại chưa chính xác\n"; + } + + var check_note = document.getElementById('buyer_note').value; + if(check_note.indexOf(' -1) { + error += "- Ghi chú chứa các ký tự không hợp lệ, bạn vui lòng kiểm tra lại\n"; + } + + var check_province = document.getElementById('buyer_province').value; + if(check_province==0) error += "- Bạn chưa chọn Tỉnh/Thành phố\n"; + else if(check_province.indexOf(' -1) { + error += "- Tỉnh/Thành phố chứa các ký tự không hợp lệ, bạn vui lòng kiểm tra lại\n"; + } + + var check_district = document.getElementById('js-district-holder').value; + if(check_district==0) error += "- Bạn chưa chọn Quận/Huyện\n"; + else if(check_district.indexOf(' -1) { + error += "- Quận/Huyện phố chứa các ký tự không hợp lệ, bạn vui lòng kiểm tra lại\n"; + } + + if(error != "") { + alert(error); return false; + } + if (check_district > 0 && check_add.length > 5) { + var district = $('#js-district-holder option:selected').text(); + $('#buyer_address').val(check_add +', '+ district) + } + + $(".js-send-cart").css("pointer-events","none"); + $(".js-send-cart").html("ĐANG XỬ LÝ..."); + return true; + } + + +// check input validation section +function check_valid_input(pattern, target) { + // check valid value for input in cart page + $(target).on("input", function () { + var stringValue = $(target).val(); + var status = pattern.test(stringValue); + if (status == false) { + $(this).css("outline-color", "rgb(194 29 29)"); //red + var targetName = $(this).prev().html().replace("*", ""); + this.setCustomValidity(targetName + " quá ngắn/chưa đúng"); + this.reportValidity(); + } else { + this.setCustomValidity(""); + this.reportValidity(); + $(this).css("outline-color", "rgb(45 182 99)"); //green + } + }); + return; +} +//for mail +function check_valid_input_executer() { + // add check func for each input here and call this func to check all input + //for mail + check_valid_input( + /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, + "#buyer_email" + ); + //for name + check_valid_input(/^[a-zA-Z ]{4,20}$/, "#buyer_name"); + //for phone number + check_valid_input(/(84|0[3|5|7|8|9])+([0-9]{8})\b/, "#buyer_tel"); + //for address + check_valid_input(/.{10}/, "#buyer_address"); +} + +// end check input validation section + +//Get province selection ( lay quan huyen ) + function getProvince(province_id) { + var params = { + action_type: 'district-list', + province: province_id + }; + var target = '#js-district-holder'; + + Hura.Ajax.get("province", params).then(function (data) { + //console.log(data); + // productTpl is in template: javascript/tpl + var html = Hura.Template.parse(provinceTpl, data); + Hura.Template.render(target, ''); + }) + } + + $(".js-bank-money").click(function(){ + $("#show-info-bank").addClass("hide"); + }); + + $(".js-bank-online").click(function(){ + $("#show-info-bank").removeClass("hide"); + }); + +var TOTAL_CART_VALUE_NODE = ".js-total-cart-price"; + +function formatCurrency(a) { + var b = parseFloat(a) + .toFixed(2) + .replace(/(\d)(?=(\d{3})+\.)/g, "$1.") + .toString(); + var len = b.length; + b = b.substring(0, len - 3); + return b; +} + +function strToNumber(str) { + str += ""; + while (str.indexOf(".") > 0) { + str = str.replace(".", ""); + } + var result = parseFloat(str); + return isNaN(result) ? 0 : result; +} + +function tinhSoLuongSanPham() { + var total_item = 0; + + $(".js-buy-quantity").each(function () { + total_item += parseInt($(this).val()); + }); + $("#js-total-quantity").html(total_item + " sản phẩm"); +} + +function checkTotalShippingFee(){ + var province = $("#id-province").val(); + var district = $("#id-distric").val(); + + var cart_total_before_fee_discount = $("#js-total-before-fee-discount").val(); + + + if(province==0 || district == 0){ + return; + } + + var params = { + action : "shipping", + action_type: "get-shipping-and-cod", + order_value : cart_total_before_fee_discount, + province : province, + district : district + } + + Hura.Ajax.post('shipping',params).then(function(data){ + //console.log(data) + $('#js_price_ship').val(data.ship) + calculateCartTotalPrice() + }) + +} + + +//tinh tong gia don hang +function calculateCartTotalPrice() { + var dom_target = ".js-total-before-fee-cart-price"; + var total_cart_price = 0; + + $(".item-cart-price").each(function () { + total_cart_price += Hura.Util.strToNumber($(this).html()); + }); + + //log for other reference + $("#js-total-before-fee-discount").val(total_cart_price); + + //giam gia khac: voucher, membership, loyalty point conversion + var total_discount = 0; + total_discount += Number($("#js-discount-voucher").val()); + total_discount += parseInt($("#js-discount-membership").val()); + + var voucher_value = parseInt($("#js-discount-voucher").val()); + + //phi khac: shipping, COD... + var total_other_fee = 0; + total_other_fee += parseInt($("#js-fee-shipping").val()); + total_other_fee += parseInt($("#js-fee-cod").val()); + //console.log(total_discount); + + var priceFreeship = parseInt($('#js_price_freeship').val()); + + if($('#js_price_ship').val() == "nomal"){ + $("#js-inner-ship").html(` +
+
+ Phí vận chuyển: +
+

Chưa tính

+
+ `); + + $(dom_target).html(formatCurrency(total_cart_price)+' đ'); + $(TOTAL_CART_VALUE_NODE).html(formatCurrency(total_cart_price - total_discount )+' đ'); + + }else{ + var priceShip = parseInt($('#js_price_ship').val()); + if(total_cart_price >= priceFreeship || priceShip == 0){ + //console.log(total_cart_price); + //console.log(priceFreeship) + $("#js-inner-ship").html(` +
+
+ Phí vận chuyển: +
+

Freeship

+
+ `); + + $(dom_target).html(formatCurrency(total_cart_price)+' đ'); + $(TOTAL_CART_VALUE_NODE).html(formatCurrency(total_cart_price - total_discount )+' đ'); + + }else{ + var minusPriceShip = priceFreeship - total_cart_price; + //console.log(total_cart_price); + //console.log(priceFreeship) + $("#js-inner-ship").html(` +
+
+ Phí vận chuyển: +
+

${formatCurrency(priceShip) + ' đ'}

+
+
+
+ Mua thêm ${formatCurrency(minusPriceShip)} đ để được Freeship +
+
+ Mua thêm +
+
+ `); + //console.log(total_discount) + + + $(dom_target).html(formatCurrency(total_cart_price)+' đ'); + $(TOTAL_CART_VALUE_NODE).html(formatCurrency(total_cart_price - total_discount + priceShip )+' đ'); + + } + } + + +} + +//thay doi tong gia cua 1 san pham +function changeItemTotalPrice() { + var $row = $(this).closest(".js-item-row"); + var item_type = $row.data("item_type"); + var price = parseInt($row.find(".js-buy-price").val()); + var quantity = parseInt($row.find(".js-buy-quantity").val()); + var total_price = price * quantity; + + //loai bo so luong vo ly + if (quantity < 1) { + $row.find(".js-buy-quantity").val(1); + total_price = 0; + } + + $row.find(".item-cart-price").html(formatCurrency(total_price)+' đ'); + + calculateCartTotalPrice(); + + //console.log("updating cart = " + item_type); + + //save to cart + switch (item_type) { + case "product": + Hura.Cart.Product.update($row.data("item_id"), $row.data("variant_id"), {quantity: quantity,}); + break; + + case "deal": + Hura.Cart.Deal.update($row.data("item_id"), { quantity: quantity }); + break; + + case "combo": + Hura.Cart.Combo.update($row.data("item_id"), { quantity: quantity }); + break; + } + + // +} + +//nghe thay doi so luong sp +function listenQuantityChange() { + var $track_change = $(".js-quantity-change"); + + //thay doi so luong sp mua, neu nhap so luong + $track_change.on("change", function (e) { + var quantity_stock = $(this).attr("data-stock"); + var $row = $(this).closest(".js-item-row"); + var current_quantity = $(this).val(); + + if($(this).val() < 1) $(this).val(1); + + if(current_quantity > quantity_stock) { + alert("Bạn được mua tối đa "+ quantity_stock + " sản phẩm này"); + $row.find(".js-buy-quantity").val(quantity_stock); + changeItemTotalPrice.call(this); + tinhSoLuongSanPham.call(this); + + return ; + } + + + changeItemTotalPrice.call(this); + tinhSoLuongSanPham.call(this); + }); + + //thay doi so luong sp theo - hoac + + $track_change.on("click", function (e) { + if (e.target.nodeName === "INPUT") return; + + var quantity_change = parseInt(this.getAttribute("data-value")); + var $row = $(this).closest(".cart-item-info"); + var current_quantity = parseInt($row.find(".js-buy-quantity").val()); + var quantity_stock = parseInt($row.find(".js-buy-quantity").attr("data-stock")); + + //loai bo so luong vo ly + if (current_quantity + quantity_change < 1) { + $row.find(".js-buy-quantity").val(1); + return; + } + + if(current_quantity + quantity_change > quantity_stock) { + alert("Bạn được mua tối đa "+ quantity_stock + " sản phẩm này"); + $row.find(".js-buy-quantity").val(quantity_stock); + changeItemTotalPrice.call(this); + tinhSoLuongSanPham.call(this); + return ; + } + + $row.find(".js-buy-quantity").val(current_quantity + quantity_change); + + //then update + changeItemTotalPrice.call(this); + tinhSoLuongSanPham.call(this); + }); +} + + function deleteCart(){ + let product_ids = []; + $(".js-delete-item").each(function(){ + var $row = $(this).closest(".js-item-row"); + var item_id = $row.data("item_id"); + var variant_id = $row.data("variant_id"); + product_ids.push({item_id: item_id, variant_id: variant_id}) + $row.remove(); + }); + deleteAllCart(product_ids); + } + + async function deleteAllCart(product_ids){ + for(let i = 0; i < product_ids.length; i++) { + let item_id = product_ids[i].item_id; + let variant_id = product_ids[i].variant_id; + await Hura.Cart.Product.remove(item_id, variant_id); + } + + setTimeout(function(){ + if($(".js-item-row").length==0){ location.reload();} + },500); + + } + +function downloadCartImage() { + var seconds = new Date().getTime() / 1000; + var print_url = "{{ global.domain }}/print/user.php?view=cart&f="+parseInt(seconds)+"&uid="+Hura.User.getUserId(); + + window.location = "https://screenshot.hurasoft.com/screenshot.php?url=" + encodeURIComponent(print_url); +} + + +//nghe xoa san pham +function listenDeleteCartItem() { + $(".item-cart-icon").on("click", function () { + var $row = $(this).closest(".cart-item-info"); + var item_type = $row.data("item_type"); + var item_id = $row.data("item_id"); + calculateCartTotalPrice(); + + //console.log("deleting item from cart = " + item_type); + + var deleteStatus; + //save to cart + switch (item_type) { + case "product": + deleteStatus = Hura.Cart.Product.remove( + item_id, + $row.data("variant_id") + ); + location.reload(); + break; + case "deal": + deleteStatus = Hura.Cart.Deal.remove(item_id); + location.reload(); + break; + case "combo": + deleteStatus = Hura.Cart.Combo.remove(item_id); + location.reload(); + break; + } + + if (deleteStatus) { + deleteStatus.then(function () { + $row.remove(); + tinhSoLuongSanPham(); + }); + } + }); +} + + + + // Voucher + function debounce(func, wait, immediate) { + var timeout; + return function() { + var context = this, args = arguments; + var later = function() { + timeout = null; + if (!immediate) func.apply(context, args); + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); + }; + }; + + function voucher_input_change() { + $('#js_voucher_input').change(); + } + + function listenVoucherCode(dom_node) { + var cart_total_before_fee_discount = $("#js-total-before-fee-discount").val(); + var $message_holder = $("#js-voucher-message"); + + var check_deal = 0 + $(".js-item-row").each(function(){ + var check = $(this).attr("data-check-deal") + if (check == 1) { + check_deal = 1; + } + }) + + $(dom_node).change(debounce(function(){ + if (check_deal == 1) { + $message_holder.html('Mã voucher không được áp dụng. Vui lòng xóa sản phẩm DEAL trong giỏ hàng'); + } else{ + var voucher_code = this.value.trim(); + + //update field to send when submit + $("#js_coupon_code").val(voucher_code); + $("#js-discount-voucher").val(0); + $("#price-discount").html(''); + $message_holder.html(''); + + //xu ly hien thi + if(voucher_code.length > 2) { + var params = { + action_type: 'check', + code : voucher_code , + order_value : cart_total_before_fee_discount, + product_ids : '' + } + + Hura.Ajax.post('coupon', params).then(function (data) { + //console.log(data); + var voucher_info = data; + + if(voucher_info.status == 'error') { + //bao loi + $message_holder.html(voucher_info.message); + return ; + } + + $message_holder.html("Bạn đang sử dụng mã coupon/voucher: " + voucher_info.coupon_info.code + ""); + $message_holder.show(); + + //xu ly khac + switch (voucher_info.coupon_info.type) { + case "cash": //giam tru tien + $("#js-discount-voucher").val(Hura.Util.strToNumber(voucher_info.coupon_info.cash_discount)); + $("#price-discount").html(formatCurrency(voucher_info.coupon_info.cash_discount)); + break; + + case "priceoff"://giam gia % + //var total_price_in_cart = $('#js-total-before-fee-discount').val(); + var total_price_in_cart = {% if global.module.name == 'combo_set' %}0{% else %}{{ page.cart_summary.total_value }}{% endif%}; + var after_discount = Math.ceil( total_price_in_cart * voucher_info.coupon_info.content / 100); + $("#js-discount-voucher").val(Hura.Util.strToNumber(after_discount)); + $("#price-discount").html(formatCurrency(voucher_info.total_cash_discount)); + break; + + case "pro": + //todo: + + break; + + case "other": + //todo: + + break; + } + + calculateCartTotalPrice(); + }) + }else{ + $("#js-discount-voucher").val(0); + $message_holder.html(''); + //recalculate total + calculateCartTotalPrice(); + } + } + },100)); + + } + + function getVoucherList(holder) { + var params = { + action_type: 'get-active-list', + limit: 50 + } + + Hura.Ajax.post('coupon', params).then(function (response) { + //console.log(response); + + buildListVoucher(response, holder); + + $(".js-voucher-active").click(function(){ + $(".js-voucher-active").removeClass('current-voucher'); + $(this).addClass('current-voucher'); + }); + }) + } + + function buildListVoucher(response, holder) { + var html = ''; + var current_time = (new Date()).getTime()/1000; + + if (response.total > 0) { + Object.keys(response).forEach(function(key, keyIndex) { + var data = response[key]; + Object.keys(data).forEach(function(item, itemIndex) { + var status = data[item].can_use_with_cart.status; + var code = data[item].code + var title = data[item].title; + var id_coupon = data[item].id; + var to_time = data[item].to_time; + var time_left = to_time - current_time; + var check_product = data[item].can_use_with_cart.status; + + if (time_left > 0 && check_product == 'yes') { + html+=`
`; + } else{ + html+='
'; + } + html+= '
Nhập '+code+'
'; + html+= '

'+ title +'

'; + }) + }) + } else{ + html+= ` +
+ + +

Chưa có mã voucher nào !

+
+ `; + } + + $(holder).html(html); + } + + + function voucherSelected(voucher_coder) { + $("#js_voucher_input_pop").val(voucher_coder); + $('#js-voucher-popupmessage').html(""); + + } + + function voucherActive() { + $("#js_voucher_input").val(""); + $("#js_voucher_input").change(); + + var newCode = $("#js_voucher_input_pop").val(); + $("#js_voucher_input").val(newCode); + $("#js_voucher_input").change(); + close_voucher(); + + } + + function open_voucher() { + $("#js-popup-voucher").show(); + $("body").addClass("overflow-hidden"); + $(".cart-voucher-popup").addClass("active") + } + + function close_voucher() { + $("#js-popup-voucher").hide(); + $("body").removeClass("overflow-hidden"); + $(".js-voucher-active").removeClass('current-voucher'); + $("#js_voucher_input_pop").val(""); + $(".cart-voucher-popup").removeClass("active") + } + + \ No newline at end of file diff --git a/Chico/Mobile/Homepage/customer.js b/Chico/Mobile/Homepage/customer.js new file mode 100644 index 0000000..b9e74d7 --- /dev/null +++ b/Chico/Mobile/Homepage/customer.js @@ -0,0 +1,165 @@ + + + // CHECK FORM RESIGTER + function check_field_registor() { + var error = ""; + var email = document.getElementById("email").value; + if (ValidateEmail(email)) error += ValidateEmail(email); + + var password = document.getElementById("password").value; + if (password.length < 6) error += "- Mật khẩu quá yếu\n"; + + var full_name = document.getElementById("full_name").value; + if (full_name.length < 2) error += "- Mời bạn nhập đúng tên\n"; + + var mobile = document.getElementById("tel").value; + if (mobile.length < 9) error += "- Mời bạn nhập đúng số điện thoại\n"; + + var address = document.getElementById("address").value; + if (address.length < 6) error += "- Mời bạn nhập địa chỉ\n"; + + var pass = $("#password").val(); + var pass1 = $("#password1").val(); + + if (pass1 != pass) { + error += "- Mật khẩu không trùng khớp. Xin vui lòng nhập lại!"; + } + + if (error != "") { + alert(error); + return false; + } else { + var registerParams = { + action_type: "register", + info: { + email: email, + name: full_name, + tel: mobile, + mobile: mobile, + birthday: "", + password: password, + address: address, + }, + }; + + Hura.Ajax.post("customer", registerParams).then(function (data) { + //console.log(data); + if (data.status == "error" && data.message == "Email exist") { + alert("Email đã được đăng ký \n Vui lòng nhập lại! "); + } else { + alert("Bạn đã đăng ký thành công! Chuyển tiếp sang Đăng nhập."); + location.href = "/dang-nhap"; + } + }); + } + } + + // CHECK FORM LOGIN + function check_login() { + var error = ""; + var email = document.getElementById("email").value; + if (ValidateEmail(email)) error += ValidateEmail(email); + + var password = document.getElementById("password").value; + if (password.length == 0) + error += "- Bạn cần nhập mật khẩu để đăng nhập \n"; + + if (error != "") { + alert(error); + return false; + } else { + Hura.User.login(email, password).then(function (data) { + //console.log(data); + if (data.status == "error") { + alert(data.message); + } else { + alert("Đăng nhập thành công!"); + location.href = "/taikhoan"; + } + }); + } + } + + // CHECK VALIDATION EMAIL + function ValidateEmail(emailValue) { + var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; + if (emailValue.length < 6) return "- Mời bạn nhập email!\n"; + else if (!emailValue.match(mailformat)) + return "- Email không chính xác, vui lòng nhập lại\n"; + } + + // TOGGLE SHOW PASSWORD + function show_hide_pass(password) { + var x = $(password).parents(".item").find(".input-pass").attr("type"); + + if (x === "password") { + $(password).parents(".item").find(".input-pass").attr("type", "text"); + } else { + $(password).parents(".item").find(".input-pass").attr("type", "password"); + } + } + + // FORGOT PASSWORD + function forgotPassword() { + var email = document.getElementById("email_register").value; + + Hura.Ajax.customPost("/ajax/reset_password_request.php", { + email: email, + }).then(function (data) { + //console.log(data); + $("#js-mess").html(data.message); + }); + } + + + + + var customerOrderTpl = ` + + + #{%= item.orderId %} + {%= item.orderDate %} + (Xem chi tiết) + + + + + {% for (let itemProduct of item.item_list) { %} + + - {%= itemProduct.item_info.productName %} + + {% } %} + + + + {%= parseInt(item.totalValue).toLocaleString() %} đ + {% if (item.status_id === "0") { %} +

Đang xử lý

+ {% } %} + + + `; + +{% endraw %} + + + // RENDER CUSTOMER ORDER LIST + function getOrderList() { + Hura.Ajax.post("account", { action_type: "recent-order" }).then(function ( + order_list + ) { + //console.log(order_list); + + if (order_list.length > 0) { + var html = Hura.Template.parse(customerOrderTpl, order_list); + Hura.Template.render("#js-customer-order", html); + } else { + $(".order-page").html(`

Bạn chưa có đơn hàng nào!

`); + } + }); + } + diff --git a/Chico/Mobile/Homepage/global.js b/Chico/Mobile/Homepage/global.js new file mode 100644 index 0000000..a65c075 --- /dev/null +++ b/Chico/Mobile/Homepage/global.js @@ -0,0 +1,282 @@ +Hura.UI.loadGroup(lazy_load_group); + + // LAZY LOADING BLOCK ELEMENT + var lazy_load_group = []; + + var lazyLoadInstance = new LazyLoad({ + elements_selector: ".lazy" + }); + + + + lazy_load_group.push( + { + id: 'js-article-featured-footer', + target: '#js-article-featured-footer', + loadFn: function () { + getFooterAricleList(); + }, + }, + ) + + + + //Kiểm tra cú pháp Email +function validateEmail(Email) { + var regaxEmail = + /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + if (regaxEmail.test(Email)) { + return true; + } else { + return false; + } +} + +//Kiếm tra cú pháp Số điện thoại +var number_regex1 = /^[0]\d{9}$/i; +var number_regex2 = /^[0]\d{10}$/i; +var error = ""; + + +//Kiểm tra tên chứa ký tự đặc biệt +var nameRegex = /[^a-z0-9A-Z_ÀÁÂÃÈÉÊÌÍÒÓÔÕÙÚĂĐĨŨƠàáâãèéêìíòóôõùúăđĩũơƯĂẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼỀỀỂưăạảấầẩẫậắằẳẵặẹẻẽềềểỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪễếệỉịọỏốồổỗộớờởỡợụủứừỬỮỰỲỴÝỶỸửữựỳỵỷỹ]/u; + + + +// FORMAT PRICE +function formatCurrency(a) { + var b = parseFloat(a) + .toFixed(2) + .replace(/(\d)(?=(\d{3})+\.)/g, "$1.") + .toString(); + var len = b.length; + b = b.substring(0, len - 3); + return b; +} + +// CONVERT STRING TO NUMBER +function strToNumber(str) { + str += ""; + while (str.indexOf(".") > 0) { + str = str.replace(".", ""); + } + var result = parseFloat(str); + return isNaN(result) ? 0 : result; +} + + + + // FIXED HEADER + function fixed_header() { + $(window).scroll(function () { + var distanceFromTop = $(document).scrollTop(); + + if (distanceFromTop > 500) { + $(".header").addClass("fixed-nav"); + + } else { + $(".header").removeClass("fixed-nav"); + } + }); + } + fixed_header(); + + + + + // ADD ITEM TO CART SUCCESS FORM + var successForm = document.querySelector(".success-form"); + function cartButton(idCart) { + Hura.Cart.Product.add(idCart, 0, { quantity: 1 }).then(function ( + add_status + ) { + if (add_status.status === "error") { + alert("Đã tồn tại sản phẩm trong giỏ hàng"); + } else { + modalSuccess(); + change_cart_amount(); + } + }); + } + + // CALL MODAL SUCCESS + function modalSuccess() { + successForm.classList.toggle("hide"); + setTimeout(function () { + successForm.classList.toggle("hide"); + }, 1200); + } + + // CHANGE AMOUNT CART HEADER + function change_cart_amount() { + Hura.Cart.getSummary().then(function (data) { + if (data.total_item != 0) { + $(".header-features-cart-amount").show().html(data.total_item); + $(".name-amount-sp").show(); + $(".amount-sp-in-cart").show().html("("+ data.total_item +")"); + } else { + $(".header-features-cart-amount").hide(); + $(".name-amount-sp").hide(); + } + }); + } + change_cart_amount(); + + + + + + + function _showMenu(){ + $("body").addClass("overflow-hidden"); + $(".global-menu-container").addClass("show"); + $(".bg-menu").show(); + } + + + function _hideMenu(){ + $("body").removeClass("overflow-hidden"); + $(".global-menu-container").removeClass("show"); + $(".bg-menu").hide(); + } + + $(".js-show-cat-menu").click(function(){ + $(this).parents(".js-cat-item").find(".js-sub-menu").slideToggle(); + $(this).toggleClass("fa-angle-down") + }); + + $('.js-cat-2').click(function(){ + $(this).parents('.js-cat-2-block').find('.sub-menu-2').slideToggle(); + $(this).toggleClass('fa-angle-down') + }); + + + + + + // GET SEARCH PRODUCT + function searchProduct(value) { + var params = { + action: "search", + action_type: "search", + content: "product", + q: value, + }; + + Hura.Ajax.get("search", params).then(function (data) { + //console.log(data.list); + + if (data.list.length > 0) { + $(".search-results").css("display", "block"); + var html = Hura.Template.parse(searchResultsTpl, data.list); + Hura.Template.render(".search-results-list", html); + } else { + $(".search-results").css("display", "none"); + } + }); + } + + // GET VALUE INPUT + function getSearchValue() { + $("#js-search-box").on("keyup", function (e) { + let value = e.target.value; + if (value) { + searchProduct(value); + } else { + $(".search-results").css("display", "none"); + } + }); + } + getSearchValue(); + + + + + + //ĐĂNG KÝ NHẬN TIN +function subscribe_newsletter(a) { + var email = $(a).val(); + + if (email.length > 4) { + var params = { + action: "customer", + action_type: "register-newsletter", + info: { + name: "Khách hàng nhận bản tin", + email: email, + }, + }; + Hura.Ajax.post("customer", params).then(function (data) { + //console.log(data); + if (data.status == "success") { + alert("Quý khách đã đăng ký thành công"); + $(a).val(""); + } else if (data.message == "Email exist") { + if (validateEmail(email) == false) + alert("Email không hợp lệ"); + } else { + alert("Lỗi xảy ra, vui lòng thử lại"); + } + }); + } else { + alert("Vui lòng nhập địa chỉ email"); + } +} + + + + //TIN TỨC NỔI BẬT FOOTER + function getFooterAricleList() { + var params = { + action_type: 'list', + type: 'article', + featured: 1, + show: 10 + } + var target = "#js-article-featured-footer"; + Hura.Ajax.get("article", params).then(function (data) { + var html = Hura.Template.parse(articleFeaturedFooter, data.list.splice(0, 2)); + Hura.Template.render(target, html); + convertTimeArticleHome(); + }); + } + + function convertTimeArticleHome(){ + $(".js-art-time").each(function(){ + var time = $(this).attr("data-time"); + var day = time.substring(0, 2); + var month = time.substring(3, 5); + var year = time.substring(6, 10); + + var addDay = $(this).find("span"); + var addYear = $(this).find("b"); + + $(addDay).html(day+'.'+month); + $(addYear).html(year); + }) + } + + + + + $(".js-footer-item").click(function(){ + $(this).parents(".info-item").find("ul, .support-list").slideToggle(); + $(this).toggleClass("current"); + }); + + + + + + // SORT SELECT BOX + function sortSelect() { + var href = window.location.href; + + $(".js-select-sort-item").each(function () { + if ($(this).val() === href) { + $(this).attr("selected", "selected"); + } + }); + } + sortSelect(); + diff --git a/Chico/Mobile/Homepage/homepage.js b/Chico/Mobile/Homepage/homepage.js new file mode 100644 index 0000000..36cbeb5 --- /dev/null +++ b/Chico/Mobile/Homepage/homepage.js @@ -0,0 +1,137 @@ + +//SWIPER SLIDER SHOWCASE + function swiperShowCase() { + new Swiper(".swiper-showcase", { + slidesPerView: 1, + spaceBetween: 10, + centeredSlides: true, + loop: true, + speed: 1000, + preloadImages: false, + lazy: true, + autoplay: { + delay: 2500, + disableOnInteraction: false, + pauseOnMouseEnter: "true", + }, + pagination: { + el: ".swiper-pagination", + clickable: true, + }, + navigation: { + nextEl: ".swiper-button-next", + prevEl: ".swiper-button-prev", + }, + }); + } + swiperShowCase(); + + + + + //COLLECTION + function swiperCollectionBox() { + new Swiper(".homepage-collection-swiper", { + slidesPerView: 2.5, + spaceBetween: 6, + rewind: true, + speed: 1000, + preloadImages: false, + lazy: true, + }); + } + swiperCollectionBox(); + + + + // SET CATEGOTY ITEM LINK TO VIEW MORE BUTTON + function setLinkToSeeAllBtn(target, categoryLink) { + target + .parents(".collection-tab-container") + .find(".all-item-collection") + .children() + .attr("href", categoryLink); + } + + + // COLLECTION SECTION + function collectionBoxHandler() { + $(".js-collection-item").on("click", function () { + var collectionId = $(this).attr("data-id"); + var collectionLink = $(this).attr("data-url"); + $(this).parent().find(".active").removeClass("active"); + $(this).addClass("active"); + + getCollectionProduct(collectionId); + setLinkToSeeAllBtn($(this), collectionLink); + }); + } + + function getCollectionProduct(collectionId) { + var params = { + action_type: "list", + id: collectionId, + show: 18, + }; + var target = "#js-collection-holder"; + Hura.Ajax.get("collection", params).then(function (data) { + var html = Hura.Template.parse(productTpl, data.list); + Hura.Template.render(target, html); + }); + } + + function firstClickCollection() { + collectionBoxHandler(); + $(".js-collection-item").first().click(); + } + + firstClickCollection(); + + + //SWIPER CATEGORY HOMEPAGE + function swiperListBox() { + new Swiper(".homepage-cat-swiper", { + slidesPerView: 2, + spaceBetween: 10, + rewind: true, + speed: 1000, + preloadImages: false, + lazy: true, + }); + } + swiperListBox(); + + function lazyCategoryBox(){ + for (let i = 0; i <= category_to_fetch.length - 1; i++) { + let idCat = category_to_fetch[i] + lazy_load_group.push({ + id: "js-product-" + idCat, + target: "#js-product-" + idCat, + loadFn: function () { + getCategoryProduct(idCat) + }, + }); + } + } + lazyCategoryBox(); + + // AJAX CATEGORY BOX - HOT PRODUCT + function getCategoryProduct(id) { + var params = { + action_type: "product-list", + category: id, + + }; + var target = "#js-product-" + id; + Hura.Ajax.get("product", params).then(function (data) { + //console.log(data.list); + if (data.total == 0) { + $(target).html( + `

Sản phẩm đang được cập nhật...!

` + ); + } else { + var html = Hura.Template.parse(listCategoryHome, data.list); + Hura.Template.render(target, html); + } + }); + } diff --git a/Chico/Mobile/Homepage/img/article.png b/Chico/Mobile/Homepage/img/article.png new file mode 100644 index 0000000..fdeed31 Binary files /dev/null and b/Chico/Mobile/Homepage/img/article.png differ diff --git a/Chico/Mobile/Homepage/img/background_collection-mb.png b/Chico/Mobile/Homepage/img/background_collection-mb.png new file mode 100644 index 0000000..6c4cda2 Binary files /dev/null and b/Chico/Mobile/Homepage/img/background_collection-mb.png differ diff --git a/Chico/Mobile/Homepage/img/banner.png b/Chico/Mobile/Homepage/img/banner.png new file mode 100644 index 0000000..4bcf468 Binary files /dev/null and b/Chico/Mobile/Homepage/img/banner.png differ diff --git a/Chico/Mobile/Homepage/img/chico-footer.png b/Chico/Mobile/Homepage/img/chico-footer.png new file mode 100644 index 0000000..703d6c7 Binary files /dev/null and b/Chico/Mobile/Homepage/img/chico-footer.png differ diff --git a/Chico/Mobile/Homepage/img/credit-1.png b/Chico/Mobile/Homepage/img/credit-1.png new file mode 100644 index 0000000..6799127 Binary files /dev/null and b/Chico/Mobile/Homepage/img/credit-1.png differ diff --git a/Chico/Mobile/Homepage/img/credit-2.png b/Chico/Mobile/Homepage/img/credit-2.png new file mode 100644 index 0000000..0e20352 Binary files /dev/null and b/Chico/Mobile/Homepage/img/credit-2.png differ diff --git a/Chico/Mobile/Homepage/img/hot-line-footer.png b/Chico/Mobile/Homepage/img/hot-line-footer.png new file mode 100644 index 0000000..21d557d Binary files /dev/null and b/Chico/Mobile/Homepage/img/hot-line-footer.png differ diff --git a/Chico/Mobile/Homepage/img/icon- dm1.png b/Chico/Mobile/Homepage/img/icon- dm1.png new file mode 100644 index 0000000..5fa8227 Binary files /dev/null and b/Chico/Mobile/Homepage/img/icon- dm1.png differ diff --git a/Chico/Mobile/Homepage/img/icon-artilce1.png b/Chico/Mobile/Homepage/img/icon-artilce1.png new file mode 100644 index 0000000..b471934 Binary files /dev/null and b/Chico/Mobile/Homepage/img/icon-artilce1.png differ diff --git a/Chico/Mobile/Homepage/img/image 113.png b/Chico/Mobile/Homepage/img/image 113.png new file mode 100644 index 0000000..46e54f3 Binary files /dev/null and b/Chico/Mobile/Homepage/img/image 113.png differ diff --git a/Chico/Mobile/Homepage/img/item-aricle.png b/Chico/Mobile/Homepage/img/item-aricle.png new file mode 100644 index 0000000..c8708a0 Binary files /dev/null and b/Chico/Mobile/Homepage/img/item-aricle.png differ diff --git a/Chico/Mobile/Homepage/img/item_sp.png b/Chico/Mobile/Homepage/img/item_sp.png new file mode 100644 index 0000000..fa9b2ec Binary files /dev/null and b/Chico/Mobile/Homepage/img/item_sp.png differ diff --git a/Chico/Mobile/Homepage/img/lock (1).png b/Chico/Mobile/Homepage/img/lock (1).png new file mode 100644 index 0000000..6e8cdb1 Binary files /dev/null and b/Chico/Mobile/Homepage/img/lock (1).png differ diff --git a/Chico/Mobile/Homepage/img/logo-chico.png b/Chico/Mobile/Homepage/img/logo-chico.png new file mode 100644 index 0000000..561cb14 Binary files /dev/null and b/Chico/Mobile/Homepage/img/logo-chico.png differ diff --git a/Chico/Mobile/Homepage/img/menu-dm.png b/Chico/Mobile/Homepage/img/menu-dm.png new file mode 100644 index 0000000..22dd8b7 Binary files /dev/null and b/Chico/Mobile/Homepage/img/menu-dm.png differ diff --git a/Chico/Mobile/Homepage/img/sprite.png b/Chico/Mobile/Homepage/img/sprite.png new file mode 100644 index 0000000..3798806 Binary files /dev/null and b/Chico/Mobile/Homepage/img/sprite.png differ diff --git a/Chico/Mobile/Homepage/index.html b/Chico/Mobile/Homepage/index.html new file mode 100644 index 0000000..5c896c9 --- /dev/null +++ b/Chico/Mobile/Homepage/index.html @@ -0,0 +1,2796 @@ + + + + + + + Chào mừng bạn đã đến với Chico + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+ + + +
+ +
+
+
+
+
+ +
+
+ + + + + +
+ +
+
+ +
+
+ Showcase + +
+ + +
+ Showcase + +
+ +
+ Showcase + +
+ +
+ Showcase + +
+ +
+
+
+ + + + +
+ +
+
+
+
+
+
+ + Bếp từ đơn FASSTER FS-188I FS-188I + + +
+
+ +

+ +

+ + +

Mã SP:

+
+ + Bếp từ đơn FASSTER FS-188I FS-188I + +
+ + + 6.350.000 ₫ + + + + 6.500.000 ₫ + +
+ +
+
+ Còn hàng +
+ + + + + +
+
+
+
+ + +
+
+ + Bếp từ đơn FASSTER FS-188I FS-188I + + +
+
+ +

+ +

+ + +

Mã SP:

+
+ + Bếp từ đơn FASSTER FS-188I FS-188I + +
+ + + 6.350.000 ₫ + + + + 6.500.000 ₫ + +
+ +
+
+ Còn hàng +
+ + + + + +
+
+
+
+ + +
+
+ + Bếp từ đơn FASSTER FS-188I FS-188I + + +
+
+ +

+ +

+ + +

Mã SP:

+
+ + Bếp từ đơn FASSTER FS-188I FS-188I + +
+ + + 6.350.000 ₫ + + + + 6.500.000 ₫ + +
+ +
+
+ Còn hàng +
+ + + + + +
+
+
+
+ +
+
+
+
+

+ Xem thêm +

+ +
+ +
+
+
+

Nông nghiệp, Máy móc

+ +
+
+
+
+
+
+ + Quạt điều hòa KANGAROO KG50F68 + + +
+
+ +

+ +

+ + +

Mã SP:

+
+ + Quạt điều hòa KANGAROO KG50F68 + +
+ + + 8.200.000 ₫ + + + + 9.000.000 ₫ + +
+ +
+
Còn hàng
+ + + + + +
+
+ +
+
+ +
+
+ + Quạt điều hòa KANGAROO KG50F68 + + +
+
+ +

+ +

+ + +

Mã SP:

+
+ + Quạt điều hòa KANGAROO KG50F68 + +
+ + + 8.200.000 ₫ + + + + 9.000.000 ₫ + +
+ +
+
Còn hàng
+ + + + + +
+
+ +
+
+ +
+
+ + Quạt điều hòa KANGAROO KG50F68 + + +
+
+ +

+ +

+ + +

Mã SP:

+
+ + Quạt điều hòa KANGAROO KG50F68 + +
+ + + 8.200.000 ₫ + + + + 9.000.000 ₫ + +
+ +
+
Còn hàng
+ + + + + +
+
+ +
+
+ +
+
+ + Quạt điều hòa KANGAROO KG50F68 + + +
+
+ +

+ +

+ + +

Mã SP:

+
+ + Quạt điều hòa KANGAROO KG50F68 + +
+ + + 8.200.000 ₫ + + + + 9.000.000 ₫ + +
+ +
+
Còn hàng
+ + + + + +
+
+ +
+
+ +
+
+
+
+
+ +
+ +
+ +
+ +
+
+ +
+ +
+ + +
+ + + + + + + + + + + + +
+ +
+ + + Mới nhất + + + + + + + + + + + + + + + + + + + + + + Phổ biến + + + + + + + + + + + + + + + + + + + + + + Theo tên + + + + + + + + + + + Giá   + + + + + + + + + + + + + + +
+ +
+ +
+ +
+ + Quạt điều hòa KANGAROO KG50F68 + + +
+
+ +

+ +

+ + +

Mã SP: 0

+
+ + Quạt điều hòa KANGAROO KG50F68 + +
+ + + 8.200.000 ₫ + + + + 9.000.000 ₫ + +
+ +
+
Còn hàng
+ + + + + +
+
+
+ +
+ + Quạt điều hòa KANGAROO KG50F68 + + +
+
+ +

+ +

+ + +

Mã SP: 0

+
+ + Quạt điều hòa KANGAROO KG50F68 + +
+ + + 8.200.000 ₫ + + + + 9.000.000 ₫ + +
+ +
+
Còn hàng
+ + + + + +
+
+
+ +
+ + Quạt điều hòa KANGAROO KG50F68 + + +
+
+ +

+ +

+ + +

Mã SP: 0

+
+ + Quạt điều hòa KANGAROO KG50F68 + +
+ + + 8.200.000 ₫ + + + + 9.000.000 ₫ + +
+ +
+
Còn hàng
+ + + + + +
+
+
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + +
+ +
+ +

Sản phẩm TEST

+ +
+

+ Mã SP: CCEF02 + Lượt xem: 0 + (1 đánh giá) +

+ +
+ + + 230.000₫ + + + Giá niêm yết: 550.000 ₫ + + + + + +
+ + +

Giá đã có VAT

+ + +
+ Mô tả tóm tắt sản phẩm +
+
    + + +
  • Chất liệu: Vỏ nhựa +
  • + +
  • Kích thước: 182x128x35mm +
  • + +
  • Tốc độ: 10/100 Mbps +
  • + +
  • Cổng kết nối: 1x Wan port/4x Lan ports +
  • + +
  • Điện năng tiêu thụ: 9V
  • + +
+
+ Xem thêm +
+ + +
+ Sản phẩm còn hàng tại +
+
    +
  • Số 2 Lương Ngọc Quyến, Hà Đông, Hà Nội
  • +
  • 106/6 Bầu Cát 1, Phường 12, Quận Tân Bình
  • +
+
+
+ + +
+
+ + Quà tặng và Ưu đãi +
+
+
    + + +
  • Balo Laptop +
  • + +
  • Bộ vệ sinh Laptop +
  • + +
  • Voucher giảm giá 10% khi mua phụ kiện(tối đa 100k): dây kết nối, phụ kiện, usb, dây mạng +
  • + +
  • Gói bảo trì, bảo dưỡng miễn phí TRỌN ĐỜI tại Chico
  • + +
+
+
+ + + + + Hotline tư vấn: 082.418.4444 + + + + + + + + +
+

Số lượng:

+ + +
+ + + +
+
+ + + + + +
+
+ +
+ +
+
+ +
+
+
+

Thông tin sản phẩm Sản phẩm TEST

+
+ +

Bộ PC Gaming Intel Core i7-13700K | RTX 3060 Ti | RAM 16GB là một cấu hình PC có thể cân được hết mọi tựa game Esport đến những game Triple A, không chỉ trong giải trí mà nó còn edit video 4k và những hình ảnh một cách mượt mà chỉ trong nháy mắt.

+

 

+

Bộ vi xử lý đa năng

+

+

CPU Intel Core i7-13700K được thiết kế với 16 nhân và 24 luồng cùng mức xung nhịp lên đến 5.4 GHz giúp mang lại trải nghiệm chơi game tối ưu và hiệu suất làm việc sáng tạo vượt ngoài mong đợi cho bạn.

+
    +
  • Cấu trúc Kết hợp Hiệu suất - Tích hợp hai vi cấu trúc cốt lõi vào một khuôn duy nhất, ưu tiên và phân phối khối lượng công việc để tối ưu hóa hiệu suất.
  • +
  • Intel Thread Director - Điều khiển Luồng thông minh giúp tối ưu hóa khối lượng công việc bằng cách giúp trình lên lịch của hệ điều hành phân phối khối lượng công việc đến các lõi tối ưu một cách thông minh.
  • +
  • Hỗ trợ PCIe 5.0 lên đến 16 làn - Mang đến khả năng sẵn sàng lên đến 32 GT/s, giúp truy cập nhanh vào đồ họa rời, bộ lưu trữ và các thiết bị ngoại vi.
  • +
  • Hỗ trợ PCIe 4.0 lên đến 4 làn - Cung cấp lên đến 16 GT/s, giúp truy cập nhanh vào bộ lưu trữ và các thiết bị ngoại vi.
  • +
  • Hỗ trợ cả DDR5 và DDR4 ECC - Cung cấp đa dạng các tùy chọn sử dụng phù hợp nhất với nhu cầu của người dùng.
  • +
  • Kích thước bộ nhớ đệm Thông minh Intel (L3) và L2 được chia sẻ tăng lên cho phép người dùng làm việc nhanh hơn, với bộ dữ liệu lớn hơn.
  • +
  • Intel Deep Learning Boost - Tăng tốc suy luận AI để cải thiện hiệu năng cho khối lượng công việc học sâu.
  • +
  • Gaussian & Neural Accelerator 3.0 (GNA 3.0) - Xử lý các ứng dụng âm thanh và giọng nói sử dụng AI.
  • +
  • Intel Adaptive Boost Technology - cải thiện hiệu suất bằng cách cơ hội cho phép tần số turbo đa lõi cao hơn.
  • +
  • Intel Thermal Velocity Boost - tự động tăng tần số xung nhịp của bộ xử lý nếu bộ xử lý ở nhiệt độ từ 70°C trở xuống và năng lượng turbo sẵn có.
  • +
  • Công nghệ Intel Turbo Boost Max 3.0 - Xác định các lõi nhanh nhất của bộ xử lý và hướng các khối lượng công việc quan trọng đến chúng.
  • +
  • Đồ họa UHD Intel được điều khiển bởi Cấu trúc Xe - mang đến khả năng đa phương tiện phong phú và đồ họa thông minh cho phép tăng cường độ phức tạp của hình ảnh, nâng cao hiệu suất 3D và xử lý hình ảnh nhanh hơn.
  • +
  • Có thể ép xung - Khi được ghép nối với các bo mạch chủ chipset Intel Z790 hoặc Z690, các lõi P, lõi E, đồ họa tích hợp và bộ nhớ của CPU có thể được cài để chạy ở tần số cao hơn thông số kỹ thuật mặc định, dẫn đến hiệu suất cao hơn.
  • +
  • Intel Extreme Memory Profile 3.0 - Đơn giản hóa trải nghiệm ép xung bộ nhớ với tính linh hoạt cao hơn.
  • +
+

 

+

Bo mạch chủ siêu bền

+

+

Mainboard Asus TUF GAMING Z690-PLUS WIFI D4 được xây dựng từ các linh kiện chuẩn quân sự, giải pháp truyền tải điện năng và hệ thống tản nhiệt toàn diện, bo mạch chủ này mang lại hiệu năng tuyệt vời với độ ổn định tuyệt đối khi chơi các trận game trong thời gian dài.

+
    +
  • Nhiều lớp PCB tối ưu hóa việc quản lý nhiệt cho các thành phần quan trọng, cung cấp nhiều khoảng trống hơn để đẩy CPU vượt qua giới hạn
  • +
  • ASUS TUF GAMING Z690-PLUS WIFI D4 được xây dụng từ các thành phần TUF bao gồm, cuộn cảm chuẩn quân sự đạt chứng nhận cung cấp nguồn điện mạnh mẽ cho CPU, cải thiện độ ổn định của hệ thống
  • +
  • Đầu nối ASUS ProCool được chế tạo theo các thông số kỹ thuật chặt chẽ để đảm bảo tiếp xúc hoàn toàn với cáp nguồn PSU. Trở kháng thấp hơn giúp ngăn chặn mối chập và lỗi đầu kết nối.
  • +
  • Bốn khe cắm M.2 PCIe 4.0 hỗ trợ tối đa hai thiết bị 22110 và cũng cung cấp hỗ trợ SSD RAID NVMe có thể mang đến hiệu suất đáng kinh ngạc.
  • +
  • PCIe 5.0 cung cấp tốc độ truyền dữ liệu gấp đôi PCIe 4.0, giúp nó đủ mạnh mẽ để xử lý các tác vụ mới nặng về dữ liệu.
  • +
  • Hỗ trợ USB mở rộng đảm bảo khả năng kết nối với nhiều thiết bị ngoại vi.
  • +
+

 

+

Bộ nhớ hiệu xuất cao, đẹp

+

+

RAM Adata XPG Spectrix D50 RGB được giới game thủ đánh giá là 1 con quái vật hiệu năng trong dòng sản phẩm bộ nhớ. Kiểu dáng độc đáo cùng những đường nét tinh tế được khắc 3D thủ công nhằm mang lại cái nhìn hấp dẫn nhất trên 1 chiếc Ram PC. Được trang bị các chip và mạch PCB cao cấp, Spectrix D50 RGB mang đến sự ổn định vượt trội cùng nền tảng tốc độ tuyệt vời. Ngoài ra, sản phẩm còn hỗ trợ 2 nền tảng Intel và AMD mới nhất. Spectrix D50 RGB tích hợp 1 bộ tản nhiệt kim loại dày 1,95mm được cấu tạo vững chắc không chỉ mang lại độ bền tuyệt vời mà còn mang lại 1 cảm giác cứng cáp và mạnh mẽ. Thiết kế vẻ ngoài thanh lịch với các đường nét hình học được khắc thủ công, kết hợp cùng phần LED RGB hình tam giác độc đáo. Sẵn sàng thu hút mọi ánh nhìn.

+

 

+

Ổ cứng SSD tốc độ cao

+

 

+

Ổ cứng SSD SAMSUNG 980 500GB NVMe M.2 là sự lựa chọn thông minh cho hiệu suất vượt trội được hỗ trợ bởi giao diện NVMe PCIe 3.0. Đã đến lúc tối đa hóa tiềm năng hệ thống của bạn, cho dù bạn cần để chơi game hay làm việc đồ họa nặng.

+
    +
  • Hệ số hình thức: M.2 2280
  • +
  • Giao diện: PCI-Express 3.0 x4, NVMe 1.4
  • +
  • Tổng dung lượng: 500GB
  • +
  • Tốc độ đọc tuần tự: lên đến 3100 MB / s
  • +
  • Tốc độ ghi tuần tự: lên đến 2600 MB / s
  • +
  • HMB (Bộ đệm bộ nhớ máy chủ) được hỗ trợ
  • +
  • TRIM & SMART, GC, Mã hóa AES 256-bit được hỗ trợ, TCG / Opal, IEEE1667, Hỗ trợ chế độ ngủ của thiết bị.
  • +
+

 

+

Card màn hình mạnh mẽ

+


+

Colorful GeForce RTX 3060 Ti NB DUO LHR-V sở hữu thiết kế hầm hố nhằm cung cấp sức mạnh và khả năng làm mát mạnh mẽ hơn bao giờ hết. Mặt lưng bằng kim loại mới kết hợp cùng công nghệ quạt tản nhiệt mạnh mẽ nhằm mang đến hiệu suất tản nhiệt tối ưu. Thiết kế cánh quạt cải tiến chống nhiễu loạn luồng không khí và công nghệ cảm biến nhiệt cho phép quạt tự động dừng ở mức nhiệt thấp.

+

 

+

 Tản nhiệt hiệu suất cao

+

+

 Tản nhiệt nước AIO Asus TUF Gaming LC 240 RGB là mẫu tản nhiệt CPU bằng nước hiệu năng cao giúp mang đến hiệu năng, tính năng và thiết kế cần thiết để trở thành một phần thiết yếu dành cho các dàn máy chơi game tầm trung.

+

- Quạt tản nhiệt TUF Gaming với thiết kế rãnh cánh quạt giúp tối ưu hóa luồng khí và giảm tiếng ồn của quạt.
- Nắp bơm mạ kim loại (theo công nghệ NCVM) giúp làm nổi bật vẻ đẹp hiện đại, góc cạnh
- Đồng bộ hóa tuyệt vời với cho bo mạch chủ TUF Gaming
- Ống dẫn nước được bọc lưới để tăng độ bền.

+

 

+

Nguồn hiệu năng cao

+

+

Nguồn máy tính ANTECH NE750G  được sinh ra đã sẵn sàng cho những người tìm kiếm trải nghiệm DIY-PC tốt nhất, đồng thời nó cũng cung cấp hiệu suất đặc biệt và độ ổn định vượt trội. Nổi bật với thiết kế mô-đun đầy đủ 100% và chứng nhận 80 PLUS Gold, dòng NeoECO Gold Modular giúp cài đặt phần cứng PC của bạn thuận tiện và dễ dàng. Nó vẫn cung cấp năng lượng hiệu quả cao cho hệ thống của bạn và giảm hóa đơn tiền điện.

+

 

+

Quyền lợi khách hàng

+

+

MINH AN COMPUTER luôn đặt tận tâm là nền tảng của phục vụ, với tôn chỉ lấy khách hàng làm trung tâm được thực hiện ngay từ khi thành lập và xuyên suốt trong quá trình kinh doanh để mang những giá trị đích thực tới khách hàng và đối tác, chúng tôi xin cam kết:

+


- Toàn bộ linh kiện là hàng chính hãng mới 100%
- Cấu hình có thể thay đổi tùy theo nhu cầu và kinh phí của quý khách
- Cam kết giá tốt nhất
- Tư vấn miễn phí 24/7 - Tổng đài: 1800 6321
- Hỗ trợ trả góp lãi suất thấp, thủ tục nhanh gọn
- Vận chuyển toàn quốc nhanh chóng
- Lắp đặt và Bảo hành tận nơi siêu tốc (Bán kính 25 km)
- Bảo hành chính hãng, lỗi đổi mới 90 ngày đầu nếu có lỗi do nhà sản xuất
- Hỗ trợ kỹ thuật, bảo trì, bảo dưỡng theo cam kết trong suốt quá trình sử dụng.

+
 
+ +
+ +
+ +
+

Thông số kỹ thuật

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TÊN GỌITÊN CHI TIẾTBẢO HÀNH
CPUIntel Core i7-13700K (Up to 5,40 Ghz | 16 nhân 24 luồng | 25MB Cache | Raptor Lake)36 THÁNG
MAINBOARDASUS TUF Gaming Z690-Plus WIFI D4 (Intel Z690 | Socket 1700 | ATX)36 THÁNG
RAMAdata XPG Spectrix D50 RGB 8GB (2x8GB | DDR4 | 3200MHz | Grey)36 THÁNG
VGAColorful GeForce RTX 3060 Ti NB DUO LHR-V36 THÁNG
Tản nhiệt nướcAIO Asus TUF Gaming LC 240 RGB36 THÁNG
Ổ Cứng SSDSamsung 980 500GB (Gen 3x4 | 3100 / 2600 MB/s)36 THÁNG
NGUỒNAntec Neo ECO Gold NE750G 80 Plus Gold36 THÁNG
VỎ CASEAsus TUF Gaming GT30112 THÁNG
+

 

+
+ + + Xem thêm thông số +
+ +
+

Đánh giá, nhận xét sản phẩm

+
+
+ + + + + + + + +
+ +
+
+

Sao trung bình

+ 3 +
+
+
+ + + + + + + + + + + + + +
+ + + + + + + + +
+ 5 +
+
+
+ 0 +
+ +
+ 4 +
+
+
+ 0 +
+ +
+ 3 +
+
+
+ 1 +
+ +
+ 2 +
+
+
+ 0 +
+ +
+ 1 +
+
+
+ 0 +
+ +
+
+ + + + + +
+
+
+
+ +
+
+ No name + | 21/3/2023 +
+ +
+ + test +
+ +
+ + Trả lời +
+ + + +
+
+ +
+
+
+ + Nguyễn Văn An + + Nguyễn Văn An +
+ +
OK
+
+
+ +
+
+
+ +
+
+
+
+ + +
+

Hỏi và đáp (0 Bình luận)

+
+
+ +
+ Gửi +
+
+ + + +
+
+
+ +
+
+
+ + +
+
+
+

Sản phẩm tương tự

+
+ + +
+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + +
+ + + +
+ + model + +
+
+ +
+ + +
+ + + + Mã sản phẩm: TL-WN832N + + + + +
+ +

3.444.000 đ

+ + + +

5.556.000 đ

+ +
+ + + +
+ +
+ - + + + +
+ +
+ + + + +
+ +
+ +
+ Tổng tiền đơn hàng +

3.444.000 đ

+
+ +
+
+
+
+

Thông tin khách hàng

+
+
+
+
+
+

Họ tên*

+ +
+
+

Email*

+ +
+
+

Số điện thoại*

+ +
+ + + + +
+

Địa chỉ*

+ +
+ +
+

Ghi chú

+ +
+ +
+
+
+
+
+

Hình thức thanh toán

+
+ + + + + +
+

THÔNG TIN TÀI KHOẢN

+

Số tài khoản:

+

Ngân hàng:

+

Chủ tài khoản: No Name

+
+ + +
+ + +

+
+ + + + +
+ + +
+ +
+ + + + + + + + + + + + + + + +
+
+ +
+ + +
+ +
+
+
+ + +
+
+
+

Họ và Tên*

+ +
+ +
+

Số điện thoại*

+ +
+ +
+

Địa chỉ*

+ +
+ +
+

Email*

+ +
+ +
+

Mật khẩu*

+ +
+ + +
+
+ +
+

Nhập lại mật khẩu*

+ +
+ + +
+ + +
+ + +
+
+
+
+
+ + + +
+ +
+
+ +
+ + +
+
+ + +
+
+ +
+ +
+ +
+
+ + + + +
+
+ + TOP sản phẩm hot hit mùa hè 2023 + +
+ + +

+ TOP sản phẩm hot hit mùa hè 2023 +

+
+
+

+ + 17-03-2023, 1:15 pm + + 0 +

+
+
+
+
+
+ +
+ +
+
+
+
+
+ + +
+ +
+ +
+

Tin tức công nghệ

+ +
+ Xem tất cả >> +
+
+ + + + +
+ +
+ +
+

+ Bài viết mới nhất +

+ + +
+ + + + +
+
+ +
+
+
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Chico/Mobile/Homepage/library.css b/Chico/Mobile/Homepage/library.css new file mode 100644 index 0000000..51ca93a --- /dev/null +++ b/Chico/Mobile/Homepage/library.css @@ -0,0 +1,26 @@ +/** + * 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 + */ + + @font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden} + + /** + * Fancybox + **/ + body.compensate-for-scrollbar{overflow:hidden}.fancybox-active{height:auto}.fancybox-is-hidden{left:-9999px;margin:0;position:absolute!important;top:-9999px;visibility:hidden}.fancybox-container{-webkit-backface-visibility:hidden;height:100%;left:0;outline:none;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-transform:translateZ(0);transform:translateZ(0);width:100%;z-index:99992}.fancybox-container *{box-sizing:border-box}.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage{bottom:0;left:0;position:absolute;right:0;top:0}.fancybox-outer{-webkit-overflow-scrolling:touch;overflow-y:auto}.fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.fancybox-is-open .fancybox-bg{opacity:.9;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.fancybox-caption,.fancybox-infobar,.fancybox-navigation .fancybox-button,.fancybox-toolbar{direction:ltr;opacity:0;position:absolute;transition:opacity .25s ease,visibility 0s ease .25s;visibility:hidden;z-index:99997}.fancybox-show-caption .fancybox-caption,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-nav .fancybox-navigation .fancybox-button,.fancybox-show-toolbar .fancybox-toolbar{opacity:1;transition:opacity .25s ease 0s,visibility 0s ease 0s;visibility:visible}.fancybox-infobar{color:#ccc;font-size:13px;-webkit-font-smoothing:subpixel-antialiased;height:44px;left:0;line-height:44px;min-width:44px;mix-blend-mode:difference;padding:0 10px;pointer-events:none;top:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-toolbar{right:0;top:0}.fancybox-stage{direction:ltr;overflow:visible;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99994}.fancybox-is-open .fancybox-stage{overflow:hidden}.fancybox-slide{-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:absolute;text-align:center;top:0;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;white-space:normal;width:100%;z-index:99994}.fancybox-slide:before{content:"";display:inline-block;font-size:0;height:100%;vertical-align:middle;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous{display:block}.fancybox-slide--image{overflow:hidden;padding:44px 0}.fancybox-slide--image:before{display:none}.fancybox-slide--html{padding:6px}.fancybox-content{background:#fff;display:inline-block;margin:0;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:relative;text-align:left;vertical-align:middle}.fancybox-slide--image .fancybox-content{-webkit-animation-timing-function:cubic-bezier(.5,0,.14,1);animation-timing-function:cubic-bezier(.5,0,.14,1);-webkit-backface-visibility:hidden;background:transparent;background-repeat:no-repeat;background-size:100% 100%;left:0;max-width:none;overflow:visible;padding:0;position:absolute;top:0;-webkit-transform-origin:top left;transform-origin:top left;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:99995}.fancybox-can-zoomOut .fancybox-content{cursor:zoom-out}.fancybox-can-zoomIn .fancybox-content{cursor:zoom-in}.fancybox-can-pan .fancybox-content,.fancybox-can-swipe .fancybox-content{cursor:-webkit-grab;cursor:grab}.fancybox-is-grabbing .fancybox-content{cursor:-webkit-grabbing;cursor:grabbing}.fancybox-container [data-selectable=true]{cursor:text}.fancybox-image,.fancybox-spaceball{background:transparent;border:0;height:100%;left:0;margin:0;max-height:none;max-width:none;padding:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content,.fancybox-slide--map .fancybox-content,.fancybox-slide--pdf .fancybox-content,.fancybox-slide--video .fancybox-content{height:100%;overflow:visible;padding:0;width:100%}.fancybox-slide--video .fancybox-content{background:#000}.fancybox-slide--map .fancybox-content{background:#e5e3df}.fancybox-slide--iframe .fancybox-content{background:#fff}.fancybox-iframe,.fancybox-video{background:transparent;border:0;display:block;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.fancybox-iframe{left:0;position:absolute;top:0}.fancybox-error{background:#fff;cursor:default;max-width:400px;padding:40px;width:100%}.fancybox-error p{color:#444;font-size:16px;line-height:20px;margin:0;padding:0}.fancybox-button{background:rgba(30,30,30,.6);border:0;border-radius:0;box-shadow:none;cursor:pointer;display:inline-block;height:44px;margin:0;padding:10px;position:relative;transition:color .2s;vertical-align:top;visibility:inherit;width:44px}.fancybox-button,.fancybox-button:link,.fancybox-button:visited{color:#ccc}.fancybox-button:hover{color:#fff}.fancybox-button:focus{outline:none}.fancybox-button.fancybox-focus{outline:1px dotted}.fancybox-button[disabled],.fancybox-button[disabled]:hover{color:#888;cursor:default;outline:none}.fancybox-button div{height:100%}.fancybox-button svg{display:block;height:100%;overflow:visible;position:relative;width:100%}.fancybox-button svg path{fill:currentColor;stroke-width:0}.fancybox-button--fsenter svg:nth-child(2),.fancybox-button--fsexit svg:nth-child(1),.fancybox-button--pause svg:nth-child(1),.fancybox-button--play svg:nth-child(2){display:none}.fancybox-progress{background:#ff5268;height:2px;left:0;position:absolute;right:0;top:0;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0;transform-origin:0;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:linear;z-index:99998}.fancybox-close-small{background:transparent;border:0;border-radius:0;color:#ccc;cursor:pointer;opacity:.8;padding:8px;position:absolute;right:-12px;top:-44px;z-index:401}.fancybox-close-small:hover{color:#fff;opacity:1}.fancybox-slide--html .fancybox-close-small{color:currentColor;padding:10px;right:0;top:0}.fancybox-slide--image.fancybox-is-scaling .fancybox-content{overflow:hidden}.fancybox-is-scaling .fancybox-close-small,.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small{display:none}.fancybox-navigation .fancybox-button{background-clip:content-box;height:100px;opacity:0;position:absolute;top:calc(50% - 50px);width:70px}.fancybox-navigation .fancybox-button div{padding:7px}.fancybox-navigation .fancybox-button--arrow_left{left:0;padding:31px 26px 31px 6px}.fancybox-navigation .fancybox-button--arrow_right{padding:31px 6px 31px 26px;right:0}.fancybox-caption{bottom:0;color:#eee;font-size:14px;font-weight:400;left:0;line-height:1.5;padding:25px 44px;right:0;text-align:center;z-index:99996}.fancybox-caption:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAD6CAQAAADKSeXYAAAAYklEQVQoz42RwQ3AMAgDjfcfup8WoRykfBAK5mQHKSz5rbXJPis1hjiV3CIqgG0hLZPkVkA4p4x5oR1bVeDrdCLrW2Q0D5bcwY3TGMHbdw3mPRuOtaspYP1w//G1OIcW148H0DMCqI/3mMMAAAAASUVORK5CYII=);background-repeat:repeat-x;background-size:contain;bottom:0;content:"";display:block;left:0;pointer-events:none;position:absolute;right:0;top:-44px;z-index:-1}.fancybox-caption a,.fancybox-caption a:link,.fancybox-caption a:visited{color:#ccc;text-decoration:none}.fancybox-caption a:hover{color:#fff;text-decoration:underline}.fancybox-loading{-webkit-animation:a 1s linear infinite;animation:a 1s linear infinite;background:transparent;border:4px solid #888;border-bottom-color:#fff;border-radius:50%;height:50px;left:50%;margin:-25px 0 0 -25px;opacity:.7;padding:0;position:absolute;top:50%;width:50px;z-index:99999}@-webkit-keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.fancybox-fx-slide.fancybox-slide--previous{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.fancybox-fx-slide.fancybox-slide--next{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.fancybox-fx-slide.fancybox-slide--current{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}.fancybox-fx-fade.fancybox-slide--next,.fancybox-fx-fade.fancybox-slide--previous{opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}.fancybox-fx-fade.fancybox-slide--current{opacity:1}.fancybox-fx-zoom-in-out.fancybox-slide--previous{opacity:0;-webkit-transform:scale3d(1.5,1.5,1.5);transform:scale3d(1.5,1.5,1.5)}.fancybox-fx-zoom-in-out.fancybox-slide--next{opacity:0;-webkit-transform:scale3d(.5,.5,.5);transform:scale3d(.5,.5,.5)}.fancybox-fx-zoom-in-out.fancybox-slide--current{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}.fancybox-fx-rotate.fancybox-slide--previous{opacity:0;-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}.fancybox-fx-rotate.fancybox-slide--next{opacity:0;-webkit-transform:rotate(1turn);transform:rotate(1turn)}.fancybox-fx-rotate.fancybox-slide--current{opacity:1;-webkit-transform:rotate(0deg);transform:rotate(0deg)}.fancybox-fx-circular.fancybox-slide--previous{opacity:0;-webkit-transform:scale3d(0,0,0) translate3d(-100%,0,0);transform:scale3d(0,0,0) translate3d(-100%,0,0)}.fancybox-fx-circular.fancybox-slide--next{opacity:0;-webkit-transform:scale3d(0,0,0) translate3d(100%,0,0);transform:scale3d(0,0,0) translate3d(100%,0,0)}.fancybox-fx-circular.fancybox-slide--current{opacity:1;-webkit-transform:scaleX(1) translateZ(0);transform:scaleX(1) translateZ(0)}.fancybox-fx-tube.fancybox-slide--previous{-webkit-transform:translate3d(-100%,0,0) scale(.1) skew(-10deg);transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{-webkit-transform:translate3d(100%,0,0) scale(.1) skew(10deg);transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{-webkit-transform:translateZ(0) scale(1);transform:translateZ(0) scale(1)}@media (max-height:576px){.fancybox-caption{padding:12px}.fancybox-slide{padding-left:6px;padding-right:6px}.fancybox-slide--image{padding:6px 0}.fancybox-close-small{right:-6px}.fancybox-slide--image .fancybox-close-small{background:#4e4e4e;color:#f2f4f6;height:36px;opacity:1;padding:6px;right:0;top:0;width:36px}}.fancybox-share{background:#f4f4f4;border-radius:3px;max-width:90%;padding:30px;text-align:center}.fancybox-share h1{color:#222;font-size:35px;font-weight:700;margin:0 0 20px}.fancybox-share p{margin:0;padding:0}.fancybox-share__button{border:0;border-radius:3px;display:inline-block;font-size:14px;font-weight:700;line-height:40px;margin:0 5px 10px;min-width:130px;padding:0 15px;text-decoration:none;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.fancybox-share__button:link,.fancybox-share__button:visited{color:#fff}.fancybox-share__button:hover{text-decoration:none}.fancybox-share__button--fb{background:#3b5998}.fancybox-share__button--fb:hover{background:#344e86}.fancybox-share__button--pt{background:#bd081d}.fancybox-share__button--pt:hover{background:#aa0719}.fancybox-share__button--tw{background:#1da1f2}.fancybox-share__button--tw:hover{background:#0d95e8}.fancybox-share__button svg{height:25px;margin-right:7px;position:relative;top:-1px;vertical-align:middle;width:25px}.fancybox-share__button svg path{fill:#fff}.fancybox-share__input{background:transparent;border:0;border-bottom:1px solid #d7d7d7;border-radius:0;color:#5d5b5b;font-size:14px;margin:10px 0 0;outline:none;padding:10px 15px;width:100%}.fancybox-thumbs{background:#ddd;bottom:0;display:none;margin:0;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;padding:2px 2px 4px;position:absolute;right:0;-webkit-tap-highlight-color:transparent;top:0;width:212px;z-index:99995}.fancybox-thumbs-x{overflow-x:auto;overflow-y:hidden}.fancybox-show-thumbs .fancybox-thumbs{display:block}.fancybox-show-thumbs .fancybox-inner{right:212px}.fancybox-thumbs__list{font-size:0;height:100%;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;position:relative;white-space:nowrap;width:100%}.fancybox-thumbs-x .fancybox-thumbs__list{overflow:hidden}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar{width:7px}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track{background:#fff;border-radius:10px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}.fancybox-thumbs__list a{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:rgba(0,0,0,.1);background-position:50%;background-repeat:no-repeat;background-size:cover;cursor:pointer;float:left;height:75px;margin:2px;max-height:calc(100% - 8px);max-width:calc(50% - 4px);outline:none;overflow:hidden;padding:0;position:relative;-webkit-tap-highlight-color:transparent;width:100px}.fancybox-thumbs__list a:before{border:6px solid #ff5268;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);z-index:99991}.fancybox-thumbs__list a:focus:before{opacity:.5}.fancybox-thumbs__list a.fancybox-thumbs-active:before{opacity:1}@media (max-width:576px){.fancybox-thumbs{width:110px}.fancybox-show-thumbs .fancybox-inner{right:110px}.fancybox-thumbs__list a{max-width:calc(100% - 10px)}} + + + /** + * Fancy Box 4 + */ + .carousel{position:relative;box-sizing:border-box}.carousel *,.carousel *:before,.carousel *:after{box-sizing:inherit}.carousel.is-draggable{cursor:move;cursor:grab}.carousel.is-dragging{cursor:move;cursor:grabbing}.carousel__viewport{position:relative;overflow:hidden;max-width:100%;max-height:100%}.carousel__track{display:flex}.carousel__slide{flex:0 0 auto;width:var(--carousel-slide-width, 60%);max-width:100%;padding:1rem;position:relative;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.has-dots{margin-bottom:calc(0.5rem + 22px)}.carousel__dots{margin:0 auto;padding:0;position:absolute;top:calc(100% + 0.5rem);left:0;right:0;display:flex;justify-content:center;list-style:none;user-select:none}.carousel__dots .carousel__dot{margin:0;padding:0;display:block;position:relative;width:22px;height:22px;cursor:pointer}.carousel__dots .carousel__dot:after{content:"";width:8px;height:8px;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);background-color:currentColor;opacity:.25;transition:opacity .15s ease-in-out}.carousel__dots .carousel__dot.is-selected:after{opacity:1}.carousel__button{width:var(--carousel-button-width, 48px);height:var(--carousel-button-height, 48px);padding:0;border:0;display:flex;justify-content:center;align-items:center;pointer-events:all;cursor:pointer;color:var(--carousel-button-color, currentColor);background:var(--carousel-button-bg, transparent);border-radius:var(--carousel-button-border-radius, 50%);box-shadow:var(--carousel-button-shadow, none);transition:opacity .15s ease}.carousel__button.is-prev,.carousel__button.is-next{position:absolute;top:50%;transform:translateY(-50%)}.carousel__button.is-prev{left:10px}.carousel__button.is-next{right:10px}.carousel__button[disabled]{cursor:default;opacity:.3}.carousel__button svg{width:var(--carousel-button-svg-width, 50%);height:var(--carousel-button-svg-height, 50%);fill:none;stroke:currentColor;stroke-width:var(--carousel-button-svg-stroke-width, 1.5);stroke-linejoin:bevel;stroke-linecap:round;filter:var(--carousel-button-svg-filter, none);pointer-events:none}html.with-fancybox{scroll-behavior:auto}body.compensate-for-scrollbar{overflow:hidden !important;touch-action:none}.fancybox__container{position:fixed;top:0;left:0;bottom:0;right:0;direction:ltr;margin:0;padding:env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);box-sizing:border-box;display:flex;flex-direction:column;color:var(--fancybox-color, #fff);-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;z-index:1050;outline:none;transform-origin:top left;--carousel-button-width: 48px;--carousel-button-height: 48px;--carousel-button-svg-width: 24px;--carousel-button-svg-height: 24px;--carousel-button-svg-stroke-width: 2.5;--carousel-button-svg-filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.4))}.fancybox__container *,.fancybox__container *::before,.fancybox__container *::after{box-sizing:inherit}.fancybox__container :focus{outline:none}body:not(.is-using-mouse) .fancybox__container :focus{box-shadow:0 0 0 1px #fff,0 0 0 2px var(--fancybox-accent-color, rgba(1, 210, 232, 0.94))}@media all and (min-width: 1024px){.fancybox__container{--carousel-button-width:48px;--carousel-button-height:48px;--carousel-button-svg-width:27px;--carousel-button-svg-height:27px}}.fancybox__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--fancybox-bg, rgba(24, 24, 27, 0.92))}.fancybox__carousel{position:relative;flex:1 1 auto;min-height:0;height:100%;z-index:10}.fancybox__carousel.has-dots{margin-bottom:calc(0.5rem + 22px)}.fancybox__viewport{position:relative;width:100%;height:100%;overflow:visible;cursor:default}.fancybox__track{display:flex;height:100%}.fancybox__slide{flex:0 0 auto;width:100%;max-width:100%;margin:0;padding:48px 8px 8px 8px;position:relative;overscroll-behavior:contain;display:flex;flex-direction:column;outline:0;overflow:auto;--carousel-button-width: 36px;--carousel-button-height: 36px;--carousel-button-svg-width: 22px;--carousel-button-svg-height: 22px}.fancybox__slide::before,.fancybox__slide::after{content:"";flex:0 0 0;margin:auto}@media all and (min-width: 1024px){.fancybox__slide{padding:64px 100px}}.fancybox__content{margin:0 env(safe-area-inset-right, 0px) 0 env(safe-area-inset-left, 0px);padding:36px;color:var(--fancybox-content-color, #374151);background:var(--fancybox-content-bg, #fff);position:relative;align-self:center;display:flex;flex-direction:column;z-index:20}.fancybox__content :focus:not(.carousel__button.is-close){outline:thin dotted;box-shadow:none}.fancybox__caption{align-self:center;max-width:100%;margin:0;padding:1rem 0 0 0;line-height:1.375;color:var(--fancybox-color, currentColor);visibility:visible;cursor:auto;flex-shrink:0;overflow-wrap:anywhere}.is-loading .fancybox__caption{visibility:hidden}.fancybox__container>.carousel__dots{top:100%;color:var(--fancybox-color, #fff)}.fancybox__nav .carousel__button{z-index:40}.fancybox__nav .carousel__button.is-next{right:8px}@media all and (min-width: 1024px){.fancybox__nav .carousel__button.is-next{right:40px}}.fancybox__nav .carousel__button.is-prev{left:8px}@media all and (min-width: 1024px){.fancybox__nav .carousel__button.is-prev{left:40px}}.carousel__button.is-close{position:absolute;top:8px;right:8px;top:calc(env(safe-area-inset-top, 0px) + 8px);right:calc(env(safe-area-inset-right, 0px) + 8px);z-index:40}@media all and (min-width: 1024px){.carousel__button.is-close{right:40px}}.fancybox__content>.carousel__button.is-close{position:absolute;top:-40px;right:0;color:var(--fancybox-color, #fff)}.fancybox__no-click,.fancybox__no-click button{pointer-events:none}.fancybox__spinner{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:50px;height:50px;color:var(--fancybox-color, currentColor)}.fancybox__slide .fancybox__spinner{cursor:pointer;z-index:1053}.fancybox__spinner svg{animation:fancybox-rotate 2s linear infinite;transform-origin:center center;position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:100%;height:100%}.fancybox__spinner svg circle{fill:none;stroke-width:2.75;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;animation:fancybox-dash 1.5s ease-in-out infinite;stroke-linecap:round;stroke:currentColor}@keyframes fancybox-rotate{100%{transform:rotate(360deg)}}@keyframes fancybox-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.fancybox__backdrop,.fancybox__caption,.fancybox__nav,.carousel__dots,.carousel__button.is-close{opacity:var(--fancybox-opacity, 1)}.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop,.fancybox__container.is-animated[aria-hidden=false] .fancybox__caption,.fancybox__container.is-animated[aria-hidden=false] .fancybox__nav,.fancybox__container.is-animated[aria-hidden=false] .carousel__dots,.fancybox__container.is-animated[aria-hidden=false] .carousel__button.is-close{animation:.15s ease backwards fancybox-fadeIn}.fancybox__container.is-animated.is-closing .fancybox__backdrop,.fancybox__container.is-animated.is-closing .fancybox__caption,.fancybox__container.is-animated.is-closing .fancybox__nav,.fancybox__container.is-animated.is-closing .carousel__dots,.fancybox__container.is-animated.is-closing .carousel__button.is-close{animation:.15s ease both fancybox-fadeOut}.fancybox-fadeIn{animation:.15s ease both fancybox-fadeIn}.fancybox-fadeOut{animation:.1s ease both fancybox-fadeOut}.fancybox-zoomInUp{animation:.2s ease both fancybox-zoomInUp}.fancybox-zoomOutDown{animation:.15s ease both fancybox-zoomOutDown}.fancybox-throwOutUp{animation:.15s ease both fancybox-throwOutUp}.fancybox-throwOutDown{animation:.15s ease both fancybox-throwOutDown}@keyframes fancybox-fadeIn{from{opacity:0}to{opacity:1}}@keyframes fancybox-fadeOut{to{opacity:0}}@keyframes fancybox-zoomInUp{from{transform:scale(0.97) translate3d(0, 16px, 0);opacity:0}to{transform:scale(1) translate3d(0, 0, 0);opacity:1}}@keyframes fancybox-zoomOutDown{to{transform:scale(0.97) translate3d(0, 16px, 0);opacity:0}}@keyframes fancybox-throwOutUp{to{transform:translate3d(0, -30%, 0);opacity:0}}@keyframes fancybox-throwOutDown{to{transform:translate3d(0, 30%, 0);opacity:0}}.fancybox__carousel .carousel__slide{scrollbar-width:thin;scrollbar-color:#ccc rgba(255,255,255,.1)}.fancybox__carousel .carousel__slide::-webkit-scrollbar{width:8px;height:8px}.fancybox__carousel .carousel__slide::-webkit-scrollbar-track{background-color:rgba(255,255,255,.1)}.fancybox__carousel .carousel__slide::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:2px;box-shadow:inset 0 0 4px rgba(0,0,0,.2)}.fancybox__carousel.is-draggable .fancybox__slide,.fancybox__carousel.is-draggable .fancybox__slide .fancybox__content{cursor:move;cursor:grab}.fancybox__carousel.is-dragging .fancybox__slide,.fancybox__carousel.is-dragging .fancybox__slide .fancybox__content{cursor:move;cursor:grabbing}.fancybox__carousel .fancybox__slide .fancybox__content{cursor:auto}.fancybox__carousel .fancybox__slide.can-zoom_in .fancybox__content{cursor:zoom-in}.fancybox__carousel .fancybox__slide.can-zoom_out .fancybox__content{cursor:zoom-out}.fancybox__carousel .fancybox__slide.is-draggable .fancybox__content{cursor:move;cursor:grab}.fancybox__carousel .fancybox__slide.is-dragging .fancybox__content{cursor:move;cursor:grabbing}.fancybox__image{transform-origin:0 0;user-select:none;transition:none}.has-image .fancybox__content{padding:0;background:rgba(0,0,0,0);min-height:1px}.is-closing .has-image .fancybox__content{overflow:visible}.has-image[data-image-fit=contain]{overflow:visible;touch-action:none}.has-image[data-image-fit=contain] .fancybox__content{flex-direction:row;flex-wrap:wrap}.has-image[data-image-fit=contain] .fancybox__image{max-width:100%;max-height:100%;object-fit:contain}.has-image[data-image-fit=contain-w]{overflow-x:hidden;overflow-y:auto}.has-image[data-image-fit=contain-w] .fancybox__content{min-height:auto}.has-image[data-image-fit=contain-w] .fancybox__image{max-width:100%;height:auto}.has-image[data-image-fit=cover]{overflow:visible;touch-action:none}.has-image[data-image-fit=cover] .fancybox__content{width:100%;height:100%}.has-image[data-image-fit=cover] .fancybox__image{width:100%;height:100%;object-fit:cover}.fancybox__carousel .fancybox__slide.has-iframe .fancybox__content,.fancybox__carousel .fancybox__slide.has-map .fancybox__content,.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content,.fancybox__carousel .fancybox__slide.has-video .fancybox__content,.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content{max-width:100%;flex-shrink:1;min-height:1px;overflow:visible}.fancybox__carousel .fancybox__slide.has-iframe .fancybox__content,.fancybox__carousel .fancybox__slide.has-map .fancybox__content,.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content{width:100%;height:80%}.fancybox__carousel .fancybox__slide.has-video .fancybox__content,.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content{width:960px;height:540px;max-width:100%;max-height:100%}.fancybox__carousel .fancybox__slide.has-map .fancybox__content,.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content,.fancybox__carousel .fancybox__slide.has-video .fancybox__content,.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content{padding:0;background:rgba(24,24,27,.9);color:#fff}.fancybox__carousel .fancybox__slide.has-map .fancybox__content{background:#e5e3df}.fancybox__html5video,.fancybox__iframe{border:0;display:block;height:100%;width:100%;background:rgba(0,0,0,0)}.fancybox-placeholder{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.fancybox__thumbs{flex:0 0 auto;position:relative;padding:0px 3px;opacity:var(--fancybox-opacity, 1)}.fancybox__container.is-animated[aria-hidden=false] .fancybox__thumbs{animation:.15s ease-in backwards fancybox-fadeIn}.fancybox__container.is-animated.is-closing .fancybox__thumbs{opacity:0}.fancybox__thumbs .carousel__slide{flex:0 0 auto;width:var(--fancybox-thumbs-width, 96px);margin:0;padding:8px 3px;box-sizing:content-box;display:flex;align-items:center;justify-content:center;overflow:visible;cursor:pointer}.fancybox__thumbs .carousel__slide .fancybox__thumb::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-width:5px;border-style:solid;border-color:var(--fancybox-accent-color, rgba(34, 213, 233, 0.96));opacity:0;transition:opacity .15s ease;border-radius:var(--fancybox-thumbs-border-radius, 4px)}.fancybox__thumbs .carousel__slide.is-nav-selected .fancybox__thumb::after{opacity:.92}.fancybox__thumbs .carousel__slide>*{pointer-events:none;user-select:none}.fancybox__thumb{position:relative;width:100%;padding-top:calc(100%/(var(--fancybox-thumbs-ratio, 1.5)));background-size:cover;background-position:center center;background-color:rgba(255,255,255,.1);background-repeat:no-repeat;border-radius:var(--fancybox-thumbs-border-radius, 4px)}.fancybox__toolbar{position:absolute;top:0;right:0;left:0;z-index:20;background:linear-gradient(to top, hsla(0deg, 0%, 0%, 0) 0%, hsla(0deg, 0%, 0%, 0.006) 8.1%, hsla(0deg, 0%, 0%, 0.021) 15.5%, hsla(0deg, 0%, 0%, 0.046) 22.5%, hsla(0deg, 0%, 0%, 0.077) 29%, hsla(0deg, 0%, 0%, 0.114) 35.3%, hsla(0deg, 0%, 0%, 0.155) 41.2%, hsla(0deg, 0%, 0%, 0.198) 47.1%, hsla(0deg, 0%, 0%, 0.242) 52.9%, hsla(0deg, 0%, 0%, 0.285) 58.8%, hsla(0deg, 0%, 0%, 0.326) 64.7%, hsla(0deg, 0%, 0%, 0.363) 71%, hsla(0deg, 0%, 0%, 0.394) 77.5%, hsla(0deg, 0%, 0%, 0.419) 84.5%, hsla(0deg, 0%, 0%, 0.434) 91.9%, hsla(0deg, 0%, 0%, 0.44) 100%);padding:0;touch-action:none;display:flex;justify-content:space-between;--carousel-button-svg-width: 20px;--carousel-button-svg-height: 20px;opacity:var(--fancybox-opacity, 1);text-shadow:var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, 0.4))}@media all and (min-width: 1024px){.fancybox__toolbar{padding:8px}}.fancybox__container.is-animated[aria-hidden=false] .fancybox__toolbar{animation:.15s ease-in backwards fancybox-fadeIn}.fancybox__container.is-animated.is-closing .fancybox__toolbar{opacity:0}.fancybox__toolbar__items{display:flex}.fancybox__toolbar__items--left{margin-right:auto}.fancybox__toolbar__items--center{position:absolute;left:50%;transform:translateX(-50%)}.fancybox__toolbar__items--right{margin-left:auto}@media(max-width: 640px){.fancybox__toolbar__items--center:not(:last-child){display:none}}.fancybox__counter{min-width:72px;padding:0 10px;line-height:var(--carousel-button-height, 48px);text-align:center;font-size:17px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:subpixel-antialiased}.fancybox__progress{background:var(--fancybox-accent-color, rgba(34, 213, 233, 0.96));height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:30;user-select:none}.fancybox__container:fullscreen::backdrop{opacity:0}.fancybox__button--fullscreen g:nth-child(2){display:none}.fancybox__container:fullscreen .fancybox__button--fullscreen g:nth-child(1){display:none}.fancybox__container:fullscreen .fancybox__button--fullscreen g:nth-child(2){display:block}.fancybox__button--slideshow g:nth-child(2){display:none}.fancybox__container.has-slideshow .fancybox__button--slideshow g:nth-child(1){display:none}.fancybox__container.has-slideshow .fancybox__button--slideshow g:nth-child(2){display:block} + + \ No newline at end of file diff --git a/Chico/Mobile/Homepage/library.js b/Chico/Mobile/Homepage/library.js new file mode 100644 index 0000000..905e20c --- /dev/null +++ b/Chico/Mobile/Homepage/library.js @@ -0,0 +1,82 @@ +/** + * 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("e.split(" "))));return this.forEach((e=>{e.classList.add(...a)})),this},removeClass:function(){for(var e=arguments.length,t=new Array(e),s=0;se.split(" "))));return this.forEach((e=>{e.classList.remove(...a)})),this},hasClass:function(){for(var e=arguments.length,t=new Array(e),s=0;se.split(" "))));return o(this,(e=>a.filter((t=>e.classList.contains(t))).length>0)).length>0},toggleClass:function(){for(var e=arguments.length,t=new Array(e),s=0;se.split(" "))));this.forEach((e=>{a.forEach((t=>{e.classList.toggle(t)}))}))},attr:function(e,t){if(1===arguments.length&&"string"==typeof e)return this[0]?this[0].getAttribute(e):void 0;for(let s=0;s=0;e-=1){const i=a[e];r&&i.listener===r||r&&i.listener&&i.listener.dom7proxy&&i.listener.dom7proxy===r?(s.removeEventListener(t,i.proxyListener,n),a.splice(e,1)):r||(s.removeEventListener(t,i.proxyListener,n),a.splice(e,1))}}}return this},trigger:function(){const e=r();for(var t=arguments.length,s=new Array(t),a=0;at>0)),i.dispatchEvent(t),i.dom7EventData=[],delete i.dom7EventData}}}return this},transitionEnd:function(e){const t=this;return e&&t.on("transitionend",(function s(a){a.target===this&&(e.call(this,a),t.off("transitionend",s))})),this},outerWidth:function(e){if(this.length>0){if(e){const e=this.styles();return this[0].offsetWidth+parseFloat(e.getPropertyValue("margin-right"))+parseFloat(e.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(this.length>0){if(e){const e=this.styles();return this[0].offsetHeight+parseFloat(e.getPropertyValue("margin-top"))+parseFloat(e.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){const e=r();return this[0]?e.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){const e=r(),t=a(),s=this[0],i=s.getBoundingClientRect(),n=t.body,l=s.clientTop||n.clientTop||0,o=s.clientLeft||n.clientLeft||0,d=s===e?e.scrollY:s.scrollTop,c=s===e?e.scrollX:s.scrollLeft;return{top:i.top+d-l,left:i.left+c-o}}return null},css:function(e,t){const s=r();let a;if(1===arguments.length){if("string"!=typeof e){for(a=0;a{e.apply(t,[t,s])})),this):this},html:function(e){if(void 0===e)return this[0]?this[0].innerHTML:null;for(let t=0;tt-1)return d([]);if(e<0){const s=t+e;return d(s<0?[]:[this[s]])}return d([this[e]])},append:function(){let e;const t=a();for(let s=0;s=0;i-=1)this[s].insertBefore(a.childNodes[i],this[s].childNodes[0])}else if(e instanceof n)for(i=0;i0?e?this[0].nextElementSibling&&d(this[0].nextElementSibling).is(e)?d([this[0].nextElementSibling]):d([]):this[0].nextElementSibling?d([this[0].nextElementSibling]):d([]):d([])},nextAll:function(e){const t=[];let s=this[0];if(!s)return d([]);for(;s.nextElementSibling;){const a=s.nextElementSibling;e?d(a).is(e)&&t.push(a):t.push(a),s=a}return d(t)},prev:function(e){if(this.length>0){const t=this[0];return e?t.previousElementSibling&&d(t.previousElementSibling).is(e)?d([t.previousElementSibling]):d([]):t.previousElementSibling?d([t.previousElementSibling]):d([])}return d([])},prevAll:function(e){const t=[];let s=this[0];if(!s)return d([]);for(;s.previousElementSibling;){const a=s.previousElementSibling;e?d(a).is(e)&&t.push(a):t.push(a),s=a}return d(t)},parent:function(e){const t=[];for(let s=0;s6&&(i=i.split(", ").map((e=>e.replace(",","."))).join(", ")),n=new s.WebKitCSSMatrix("none"===i?"":i)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),a=n.toString().split(",")),"x"===t&&(i=s.WebKitCSSMatrix?n.m41:16===a.length?parseFloat(a[12]):parseFloat(a[4])),"y"===t&&(i=s.WebKitCSSMatrix?n.m42:16===a.length?parseFloat(a[13]):parseFloat(a[5])),i||0}function m(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function f(e){return"undefined"!=typeof window&&void 0!==window.HTMLElement?e instanceof HTMLElement:e&&(1===e.nodeType||11===e.nodeType)}function g(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let s=1;st.indexOf(e)<0));for(let t=0,i=s.length;tn?"next":"prev",p=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{l=(new Date).getTime(),null===o&&(o=l);const e=Math.max(Math.min((l-o)/d,1),0),r=.5-Math.cos(e*Math.PI)/2;let c=n+r*(s-n);if(p(c,s)&&(c=s),t.wrapperEl.scrollTo({[a]:c}),p(c,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[a]:c})})),void i.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=i.requestAnimationFrame(u)};u()}let b,x,y;function E(){return b||(b=function(){const e=r(),t=a();return{smoothScroll:t.documentElement&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch),passiveListener:function(){let t=!1;try{const s=Object.defineProperty({},"passive",{get(){t=!0}});e.addEventListener("testPassiveListener",null,s)}catch(e){}return t}(),gestures:"ongesturestart"in e}}()),b}function C(e){return void 0===e&&(e={}),x||(x=function(e){let{userAgent:t}=void 0===e?{}:e;const s=E(),a=r(),i=a.navigator.platform,n=t||a.navigator.userAgent,l={ios:!1,android:!1},o=a.screen.width,d=a.screen.height,c=n.match(/(Android);?[\s\/]+([\d.]+)?/);let p=n.match(/(iPad).*OS\s([\d_]+)/);const u=n.match(/(iPod)(.*OS\s([\d_]+))?/),h=!p&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),m="Win32"===i;let f="MacIntel"===i;return!p&&f&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${o}x${d}`)>=0&&(p=n.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),f=!1),c&&!m&&(l.os="android",l.android=!0),(p||h||u)&&(l.os="ios",l.ios=!0),l}(e)),x}function T(){return y||(y=function(){const e=r();return{isSafari:function(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}(),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),y}Object.keys(c).forEach((e=>{Object.defineProperty(d.fn,e,{value:c[e],writable:!0})}));var $={on(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;const i=s?"unshift":"push";return e.split(" ").forEach((e=>{a.eventsListeners[e]||(a.eventsListeners[e]=[]),a.eventsListeners[e][i](t)})),a},once(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;function i(){a.off(e,i),i.__emitterProxy&&delete i.__emitterProxy;for(var s=arguments.length,r=new Array(s),n=0;n=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;i1&&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{u[s]=e-t})),h.forEach(((e,s)=>{h[s]=e+t}))}}if(Object.assign(e,{slides:c,snapGrid:u,slidesGrid:h,slidesSizesGrid:m}),a.centeredSlides&&a.cssMode&&!a.centeredSlidesBounds){v(e.wrapperEl,"--swiper-centered-offset-before",-u[0]+"px"),v(e.wrapperEl,"--swiper-centered-offset-after",e.size/2-m[m.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(p!==d&&e.emit("slidesLengthChange"),u.length!==w&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),h.length!==b&&e.emit("slidesGridLengthChange"),a.watchSlidesProgress&&e.updateSlidesOffset(),!(o||a.cssMode||"slide"!==a.effect&&"fade"!==a.effect)){const t=`${a.containerModifierClass}backface-hidden`,s=e.$el.hasClass(t);p<=a.maxBackfaceHiddenSlides?s||e.$el.addClass(t):s&&e.$el.removeClass(t)}},updateAutoHeight:function(e){const t=this,s=[],a=t.virtual&&t.params.virtual.enabled;let i,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>a?t.slides.filter((t=>parseInt(t.getAttribute("data-swiper-slide-index"),10)===e))[0]:t.slides.eq(e)[0];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||d([])).each((e=>{s.push(e)}));else for(i=0;it.slides.length&&!a)break;s.push(n(e))}else s.push(n(t.activeIndex));for(i=0;ir?e:r}(r||0===r)&&t.$wrapperEl.css("height",`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides;for(let s=0;s=0&&p1&&u<=t.size||p<=0&&u>=t.size)&&(t.visibleSlides.push(l),t.visibleSlidesIndexes.push(e),a.eq(e).addClass(s.slideVisibleClass)),l.progress=i?-d:d,l.originalProgress=i?-c:c}t.visibleSlides=d(t.visibleSlides)},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,a=t.maxTranslate()-t.minTranslate();let{progress:i,isBeginning:r,isEnd:n}=t;const l=r,o=n;0===a?(i=0,r=!0,n=!0):(i=(e-t.minTranslate())/a,r=i<=0,n=i>=1),Object.assign(t,{progress:i,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!l&&t.emit("reachBeginning toEdge"),n&&!o&&t.emit("reachEnd toEdge"),(l&&!r||o&&!n)&&t.emit("fromEdge"),t.emit("progress",i)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,$wrapperEl:a,activeIndex:i,realIndex:r}=e,n=e.virtual&&s.virtual.enabled;let l;t.removeClass(`${s.slideActiveClass} ${s.slideNextClass} ${s.slidePrevClass} ${s.slideDuplicateActiveClass} ${s.slideDuplicateNextClass} ${s.slideDuplicatePrevClass}`),l=n?e.$wrapperEl.find(`.${s.slideClass}[data-swiper-slide-index="${i}"]`):t.eq(i),l.addClass(s.slideActiveClass),s.loop&&(l.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass));let o=l.nextAll(`.${s.slideClass}`).eq(0).addClass(s.slideNextClass);s.loop&&0===o.length&&(o=t.eq(0),o.addClass(s.slideNextClass));let d=l.prevAll(`.${s.slideClass}`).eq(0).addClass(s.slidePrevClass);s.loop&&0===d.length&&(d=t.eq(-1),d.addClass(s.slidePrevClass)),s.loop&&(o.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass),d.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass)),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{slidesGrid:a,snapGrid:i,params:r,activeIndex:n,realIndex:l,snapIndex:o}=t;let d,c=e;if(void 0===c){for(let e=0;e=a[e]&&s=a[e]&&s=a[e]&&(c=e);r.normalizeSlideIndex&&(c<0||void 0===c)&&(c=0)}if(i.indexOf(s)>=0)d=i.indexOf(s);else{const e=Math.min(r.slidesPerGroupSkip,c);d=e+Math.floor((c-e)/r.slidesPerGroup)}if(d>=i.length&&(d=i.length-1),c===n)return void(d!==o&&(t.snapIndex=d,t.emit("snapIndexChange")));const p=parseInt(t.slides.eq(c).attr("data-swiper-slide-index")||c,10);Object.assign(t,{snapIndex:d,realIndex:p,previousIndex:n,activeIndex:c}),t.emit("activeIndexChange"),t.emit("snapIndexChange"),l!==p&&t.emit("realIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&t.emit("slideChange")},updateClickedSlide:function(e){const t=this,s=t.params,a=d(e).closest(`.${s.slideClass}`)[0];let i,r=!1;if(a)for(let e=0;eo?o:a&&en?"next":r=o.length&&(g=o.length-1),(p||l.initialSlide||0)===(c||0)&&s&&r.emit("beforeSlideChangeStart");const v=-o[g];if(r.updateProgress(v),l.normalizeSlideIndex)for(let e=0;e=s&&t=s&&t=s&&(n=e)}if(r.initialized&&n!==p){if(!r.allowSlideNext&&vr.translate&&v>r.maxTranslate()&&(p||0)!==n)return!1}let b;if(b=n>p?"next":n{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.activeIndexc(e)));let h=n[u.indexOf(p)-1];if(void 0===h&&i.cssMode){let e;n.forEach(((t,s)=>{p>=t&&(e=s)})),void 0!==e&&(h=n[e>0?e-1:e])}let m=0;if(void 0!==h&&(m=l.indexOf(h),m<0&&(m=a.activeIndex-1),"auto"===i.slidesPerView&&1===i.slidesPerGroup&&i.slidesPerGroupAuto&&(m=m-a.slidesPerViewDynamic("previous",!0)+1,m=Math.max(m,0))),i.rewind&&a.isBeginning){const i=a.params.virtual&&a.params.virtual.enabled&&a.virtual?a.virtual.slides.length-1:a.slides.length-1;return a.slideTo(i,e,t,s)}return a.slideTo(m,e,t,s)},slideReset:function(e,t,s){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,s)},slideToClosest:function(e,t,s,a){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===a&&(a=.5);const i=this;let r=i.activeIndex;const n=Math.min(i.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/i.params.slidesPerGroup),o=i.rtlTranslate?i.translate:-i.translate;if(o>=i.snapGrid[l]){const e=i.snapGrid[l];o-e>(i.snapGrid[l+1]-e)*a&&(r+=i.params.slidesPerGroup)}else{const e=i.snapGrid[l-1];o-e<=(i.snapGrid[l]-e)*a&&(r-=i.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,i.slidesGrid.length-1),i.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this,{params:t,$wrapperEl:s}=e,a="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let i,r=e.clickedIndex;if(t.loop){if(e.animating)return;i=parseInt(d(e.clickedSlide).attr("data-swiper-slide-index"),10),t.centeredSlides?re.slides.length-e.loopedSlides+a/2?(e.loopFix(),r=s.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index(),p((()=>{e.slideTo(r)}))):e.slideTo(r):r>e.slides.length-a?(e.loopFix(),r=s.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index(),p((()=>{e.slideTo(r)}))):e.slideTo(r)}else e.slideTo(r)}};var z={loopCreate:function(){const e=this,t=a(),{params:s,$wrapperEl:i}=e,r=i.children().length>0?d(i.children()[0].parentNode):i;r.children(`.${s.slideClass}.${s.slideDuplicateClass}`).remove();let n=r.children(`.${s.slideClass}`);if(s.loopFillGroupWithBlank){const e=s.slidesPerGroup-n.length%s.slidesPerGroup;if(e!==s.slidesPerGroup){for(let a=0;an.length&&e.params.loopedSlidesLimit&&(e.loopedSlides=n.length);const l=[],o=[];n.each(((e,t)=>{d(e).attr("data-swiper-slide-index",t)}));for(let t=0;t=0;e-=1)r.prepend(d(l[e].cloneNode(!0)).addClass(s.slideDuplicateClass))},loopFix:function(){const e=this;e.emit("beforeLoopFix");const{activeIndex:t,slides:s,loopedSlides:a,allowSlidePrev:i,allowSlideNext:r,snapGrid:n,rtlTranslate:l}=e;let o;e.allowSlidePrev=!0,e.allowSlideNext=!0;const d=-n[t]-e.getTranslate();if(t=s.length-a){o=-s.length+t+a,o+=a;e.slideTo(o,0,!1,!0)&&0!==d&&e.setTranslate((l?-e.translate:e.translate)-d)}e.allowSlidePrev=i,e.allowSlideNext=r,e.emit("loopFix")},loopDestroy:function(){const{$wrapperEl:e,params:t,slides:s}=this;e.children(`.${t.slideClass}.${t.slideDuplicateClass},.${t.slideClass}.${t.slideBlankClass}`).remove(),s.removeAttr("data-swiper-slide-index")}};function L(e){const t=this,s=a(),i=r(),n=t.touchEventsData,{params:l,touches:o,enabled:c}=t;if(!c)return;if(t.animating&&l.preventInteractionOnTransition)return;!t.animating&&l.cssMode&&l.loop&&t.loopFix();let p=e;p.originalEvent&&(p=p.originalEvent);let h=d(p.target);if("wrapper"===l.touchEventsTarget&&!h.closest(t.wrapperEl).length)return;if(n.isTouchEvent="touchstart"===p.type,!n.isTouchEvent&&"which"in p&&3===p.which)return;if(!n.isTouchEvent&&"button"in p&&p.button>0)return;if(n.isTouched&&n.isMoved)return;!!l.noSwipingClass&&""!==l.noSwipingClass&&p.target&&p.target.shadowRoot&&e.path&&e.path[0]&&(h=d(e.path[0]));const m=l.noSwipingSelector?l.noSwipingSelector:`.${l.noSwipingClass}`,f=!(!p.target||!p.target.shadowRoot);if(l.noSwiping&&(f?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===a()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const i=s.closest(e);return i||s.getRootNode?i||t(s.getRootNode().host):null}(t)}(m,h[0]):h.closest(m)[0]))return void(t.allowClick=!0);if(l.swipeHandler&&!h.closest(l.swipeHandler)[0])return;o.currentX="touchstart"===p.type?p.targetTouches[0].pageX:p.pageX,o.currentY="touchstart"===p.type?p.targetTouches[0].pageY:p.pageY;const g=o.currentX,v=o.currentY,w=l.edgeSwipeDetection||l.iOSEdgeSwipeDetection,b=l.edgeSwipeThreshold||l.iOSEdgeSwipeThreshold;if(w&&(g<=b||g>=i.innerWidth-b)){if("prevent"!==w)return;e.preventDefault()}if(Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=g,o.startY=v,n.touchStartTime=u(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,l.threshold>0&&(n.allowThresholdMove=!1),"touchstart"!==p.type){let e=!0;h.is(n.focusableElements)&&(e=!1,"SELECT"===h[0].nodeName&&(n.isTouched=!1)),s.activeElement&&d(s.activeElement).is(n.focusableElements)&&s.activeElement!==h[0]&&s.activeElement.blur();const a=e&&t.allowTouchMove&&l.touchStartPreventDefault;!l.touchStartForcePreventDefault&&!a||h[0].isContentEditable||p.preventDefault()}t.params.freeMode&&t.params.freeMode.enabled&&t.freeMode&&t.animating&&!l.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",p)}function O(e){const t=a(),s=this,i=s.touchEventsData,{params:r,touches:n,rtlTranslate:l,enabled:o}=s;if(!o)return;let c=e;if(c.originalEvent&&(c=c.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&s.emit("touchMoveOpposite",c));if(i.isTouchEvent&&"touchmove"!==c.type)return;const p="touchmove"===c.type&&c.targetTouches&&(c.targetTouches[0]||c.changedTouches[0]),h="touchmove"===c.type?p.pageX:c.pageX,m="touchmove"===c.type?p.pageY:c.pageY;if(c.preventedByNestedSwiper)return n.startX=h,void(n.startY=m);if(!s.allowTouchMove)return d(c.target).is(i.focusableElements)||(s.allowClick=!1),void(i.isTouched&&(Object.assign(n,{startX:h,startY:m,currentX:h,currentY:m}),i.touchStartTime=u()));if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(mn.startY&&s.translate>=s.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(hn.startX&&s.translate>=s.minTranslate())return;if(i.isTouchEvent&&t.activeElement&&c.target===t.activeElement&&d(c.target).is(i.focusableElements))return i.isMoved=!0,void(s.allowClick=!1);if(i.allowTouchCallbacks&&s.emit("touchMove",c),c.targetTouches&&c.targetTouches.length>1)return;n.currentX=h,n.currentY=m;const f=n.currentX-n.startX,g=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(f**2+g**2)=25&&(e=180*Math.atan2(Math.abs(g),Math.abs(f))/Math.PI,i.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(i.isScrolling&&s.emit("touchMoveOpposite",c),void 0===i.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(i.startMoving=!0)),i.isScrolling)return void(i.isTouched=!1);if(!i.startMoving)return;s.allowClick=!1,!r.cssMode&&c.cancelable&&c.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&c.stopPropagation(),i.isMoved||(r.loop&&!r.cssMode&&s.loopFix(),i.startTranslate=s.getTranslate(),s.setTransition(0),s.animating&&s.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",c)),s.emit("sliderMove",c),i.isMoved=!0;let v=s.isHorizontal()?f:g;n.diff=v,v*=r.touchRatio,l&&(v=-v),s.swipeDirection=v>0?"prev":"next",i.currentTranslate=v+i.startTranslate;let w=!0,b=r.resistanceRatio;if(r.touchReleaseOnEdges&&(b=0),v>0&&i.currentTranslate>s.minTranslate()?(w=!1,r.resistance&&(i.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+i.startTranslate+v)**b)):v<0&&i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),s.allowSlidePrev||s.allowSlideNext||(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(v)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,i.currentTranslate=i.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),s.params.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(i.currentTranslate),s.setTranslate(i.currentTranslate))}function I(e){const t=this,s=t.touchEventsData,{params:a,touches:i,rtlTranslate:r,slidesGrid:n,enabled:l}=t;if(!l)return;let o=e;if(o.originalEvent&&(o=o.originalEvent),s.allowTouchCallbacks&&t.emit("touchEnd",o),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&a.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);a.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const d=u(),c=d-s.touchStartTime;if(t.allowClick){const e=o.path||o.composedPath&&o.composedPath();t.updateClickedSlide(e&&e[0]||o.target),t.emit("tap click",o),c<300&&d-s.lastClickTime<300&&t.emit("doubleTap doubleClick",o)}if(s.lastClickTime=u(),p((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===i.diff||s.currentTranslate===s.startTranslate)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=a.followFinger?r?t.translate:-t.translate:-s.currentTranslate,a.cssMode)return;if(t.params.freeMode&&a.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});let m=0,f=t.slidesSizesGrid[0];for(let e=0;e=n[e]&&h=n[e]&&(m=e,f=n[n.length-1]-n[n.length-2])}let g=null,v=null;a.rewind&&(t.isBeginning?v=t.params.virtual&&t.params.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(g=0));const w=(h-n[m])/f,b=ma.longSwipesMs){if(!a.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(w>=a.longSwipesRatio?t.slideTo(a.rewind&&t.isEnd?g:m+b):t.slideTo(m)),"prev"===t.swipeDirection&&(w>1-a.longSwipesRatio?t.slideTo(m+b):null!==v&&w<0&&Math.abs(w)>a.longSwipesRatio?t.slideTo(v):t.slideTo(m))}else{if(!a.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(o.target===t.navigation.nextEl||o.target===t.navigation.prevEl)?o.target===t.navigation.nextEl?t.slideTo(m+b):t.slideTo(m):("next"===t.swipeDirection&&t.slideTo(null!==g?g:m+b),"prev"===t.swipeDirection&&t.slideTo(null!==v?v:m))}}function A(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:a,allowSlidePrev:i,snapGrid:r}=e;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses(),("auto"===t.slidesPerView||t.slidesPerView>1)&&e.isEnd&&!e.isBeginning&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.run(),e.allowSlidePrev=i,e.allowSlideNext=a,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function D(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function G(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:a}=e;if(!a)return;let i;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();i=0===r?0:(e.translate-e.minTranslate())/r,i!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}let N=!1;function B(){}const H=(e,t)=>{const s=a(),{params:i,touchEvents:r,el:n,wrapperEl:l,device:o,support:d}=e,c=!!i.nested,p="on"===t?"addEventListener":"removeEventListener",u=t;if(d.touch){const t=!("touchstart"!==r.start||!d.passiveListener||!i.passiveListeners)&&{passive:!0,capture:!1};n[p](r.start,e.onTouchStart,t),n[p](r.move,e.onTouchMove,d.passiveListener?{passive:!1,capture:c}:c),n[p](r.end,e.onTouchEnd,t),r.cancel&&n[p](r.cancel,e.onTouchEnd,t)}else n[p](r.start,e.onTouchStart,!1),s[p](r.move,e.onTouchMove,c),s[p](r.end,e.onTouchEnd,!1);(i.preventClicks||i.preventClicksPropagation)&&n[p]("click",e.onClick,!0),i.cssMode&&l[p]("scroll",e.onScroll),i.updateOnWindowResize?e[u](o.ios||o.android?"resize orientationchange observerUpdate":"resize observerUpdate",A,!0):e[u]("observerUpdate",A,!0)};var X={attachEvents:function(){const e=this,t=a(),{params:s,support:i}=e;e.onTouchStart=L.bind(e),e.onTouchMove=O.bind(e),e.onTouchEnd=I.bind(e),s.cssMode&&(e.onScroll=G.bind(e)),e.onClick=D.bind(e),i.touch&&!N&&(t.addEventListener("touchstart",B),N=!0),H(e,"on")},detachEvents:function(){H(this,"off")}};const Y=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var R={addClasses:function(){const e=this,{classNames:t,params:s,rtl:a,$el:i,device:r,support:n}=e,l=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((a=>{e[a]&&s.push(t+a)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"pointer-events":!n.touch},{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:a},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...l),i.addClass([...t].join(" ")),e.emitContainerClasses()},removeClasses:function(){const{$el:e,classNames:t}=this;e.removeClass(t.join(" ")),this.emitContainerClasses()}};var W={init:!0,direction:"horizontal",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopedSlidesLimit:!0,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1};function j(e,t){return function(s){void 0===s&&(s={});const a=Object.keys(s)[0],i=s[a];"object"==typeof i&&null!==i?(["navigation","pagination","scrollbar"].indexOf(a)>=0&&!0===e[a]&&(e[a]={auto:!0}),a in e&&"enabled"in i?(!0===e[a]&&(e[a]={enabled:!0}),"object"!=typeof e[a]||"enabled"in e[a]||(e[a].enabled=!0),e[a]||(e[a]={enabled:!1}),g(t,s)):g(t,s)):g(t,s)}}const q={eventsEmitter:$,update:S,translate:M,transition:{setTransition:function(e,t){const s=this;s.params.cssMode||s.$wrapperEl.transition(e),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;a.cssMode||(a.autoHeight&&s.updateAutoHeight(),P({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;s.animating=!1,a.cssMode||(s.setTransition(0),P({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:k,loop:z,grabCursor:{setGrabCursor:function(e){const t=this;if(t.support.touch||!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;s.style.cursor="move",s.style.cursor=e?"grabbing":"grab"},unsetGrabCursor:function(){const e=this;e.support.touch||e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="")}},events:X,breakpoints:{setBreakpoint:function(){const e=this,{activeIndex:t,initialized:s,loopedSlides:a=0,params:i,$el:r}=e,n=i.breakpoints;if(!n||n&&0===Object.keys(n).length)return;const l=e.getBreakpoint(n,e.params.breakpointsBase,e.el);if(!l||e.currentBreakpoint===l)return;const o=(l in n?n[l]:void 0)||e.originalParams,d=Y(e,i),c=Y(e,o),p=i.enabled;d&&!c?(r.removeClass(`${i.containerModifierClass}grid ${i.containerModifierClass}grid-column`),e.emitContainerClasses()):!d&&c&&(r.addClass(`${i.containerModifierClass}grid`),(o.grid.fill&&"column"===o.grid.fill||!o.grid.fill&&"column"===i.grid.fill)&&r.addClass(`${i.containerModifierClass}grid-column`),e.emitContainerClasses()),["navigation","pagination","scrollbar"].forEach((t=>{const s=i[t]&&i[t].enabled,a=o[t]&&o[t].enabled;s&&!a&&e[t].disable(),!s&&a&&e[t].enable()}));const u=o.direction&&o.direction!==i.direction,h=i.loop&&(o.slidesPerView!==i.slidesPerView||u);u&&s&&e.changeDirection(),g(e.params,o);const m=e.params.enabled;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),p&&!m?e.disable():!p&&m&&e.enable(),e.currentBreakpoint=l,e.emit("_beforeBreakpoint",o),h&&s&&(e.loopDestroy(),e.loopCreate(),e.updateSlides(),e.slideTo(t-a+e.loopedSlides,0,!1)),e.emit("breakpoint",o)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let a=!1;const i=r(),n="window"===t?i.innerHeight:s.clientHeight,l=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}}));l.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;es}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:R,images:{loadImage:function(e,t,s,a,i,n){const l=r();let o;function c(){n&&n()}d(e).parent("picture")[0]||e.complete&&i?c():t?(o=new l.Image,o.onload=c,o.onerror=c,a&&(o.sizes=a),s&&(o.srcset=s),t&&(o.src=t)):c()},preloadImages:function(){const e=this;function t(){null!=e&&e&&!e.destroyed&&(void 0!==e.imagesLoaded&&(e.imagesLoaded+=1),e.imagesLoaded===e.imagesToLoad.length&&(e.params.updateOnImagesReady&&e.update(),e.emit("imagesReady")))}e.imagesToLoad=e.$el.find("img");for(let s=0;s1){const e=[];return d(t.el).each((s=>{const a=g({},t,{el:s});e.push(new V(a))})),e}const r=this;r.__swiper__=!0,r.support=E(),r.device=C({userAgent:t.userAgent}),r.browser=T(),r.eventsListeners={},r.eventsAnyListeners=[],r.modules=[...r.__modules__],t.modules&&Array.isArray(t.modules)&&r.modules.push(...t.modules);const n={};r.modules.forEach((e=>{e({swiper:r,extendParams:j(t,n),on:r.on.bind(r),once:r.once.bind(r),off:r.off.bind(r),emit:r.emit.bind(r)})}));const l=g({},W,n);return r.params=g({},l,_,t),r.originalParams=g({},r.params),r.passedParams=g({},t),r.params&&r.params.on&&Object.keys(r.params.on).forEach((e=>{r.on(e,r.params.on[e])})),r.params&&r.params.onAny&&r.onAny(r.params.onAny),r.$=d,Object.assign(r,{enabled:r.params.enabled,el:e,classNames:[],slides:d(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===r.params.direction,isVertical:()=>"vertical"===r.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:r.params.allowSlideNext,allowSlidePrev:r.params.allowSlidePrev,touchEvents:function(){const e=["touchstart","touchmove","touchend","touchcancel"],t=["pointerdown","pointermove","pointerup"];return r.touchEventsTouch={start:e[0],move:e[1],end:e[2],cancel:e[3]},r.touchEventsDesktop={start:t[0],move:t[1],end:t[2]},r.support.touch||!r.params.simulateTouch?r.touchEventsTouch:r.touchEventsDesktop}(),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:r.params.focusableElements,lastClickTime:u(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:r.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),r.emit("_swiper"),r.params.init&&r.init(),r}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const a=s.minTranslate(),i=(s.maxTranslate()-a)*e+a;s.translateTo(i,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.each((s=>{const a=e.getSlideClasses(s);t.push({slideEl:s,classNames:a}),e.emit("_slideClass",s,a)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:a,slidesGrid:i,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if(s.centeredSlides){let e,t=a[l].swiperSlideSize;for(let s=l+1;sn&&(e=!0));for(let s=l-1;s>=0;s-=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e=0;e-=1){i[l]-i[e]1)&&e.isEnd&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0),i||a()),s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,a=s.params.direction;return e||(e="horizontal"===a?"vertical":"horizontal"),e===a||"horizontal"!==e&&"vertical"!==e||(s.$el.removeClass(`${s.params.containerModifierClass}${a}`).addClass(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.each((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.$el.addClass(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.$el.removeClass(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;const s=d(e||t.params.el);if(!(e=s[0]))return!1;e.swiper=t;const i=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let r=(()=>{if(e&&e.shadowRoot&&e.shadowRoot.querySelector){const t=d(e.shadowRoot.querySelector(i()));return t.children=e=>s.children(e),t}return s.children?s.children(i()):d(s).children(i())})();if(0===r.length&&t.params.createElements){const e=a().createElement("div");r=d(e),e.className=t.params.wrapperClass,s.append(e),s.children(`.${t.params.slideClass}`).each((e=>{r.append(e)}))}return Object.assign(t,{$el:s,el:e,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:"rtl"===e.dir.toLowerCase()||"rtl"===s.css("direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===e.dir.toLowerCase()||"rtl"===s.css("direction")),wrongRTL:"-webkit-box"===r.css("display")}),!0}init(e){const t=this;if(t.initialized)return t;return!1===t.mount(e)||(t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.params.loop&&t.loopCreate(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.preloadImages&&t.preloadImages(),t.params.loop?t.slideTo(t.params.initialSlide+t.loopedSlides,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.attachEvents(),t.initialized=!0,t.emit("init"),t.emit("afterInit")),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:a,$el:i,$wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),a.loop&&s.loopDestroy(),t&&(s.removeClasses(),i.removeAttr("style"),r.removeAttr("style"),n&&n.length&&n.removeClass([a.slideVisibleClass,a.slideActiveClass,a.slideNextClass,a.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.$el[0].swiper=null,function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){g(_,e)}static get extendedDefaults(){return _}static get defaults(){return W}static installModule(e){V.prototype.__modules__||(V.prototype.__modules__=[]);const t=V.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>V.installModule(e))),V):(V.installModule(e),V)}}function F(e,t,s,i){const r=a();return e.params.createElements&&Object.keys(i).forEach((a=>{if(!s[a]&&!0===s.auto){let n=e.$el.children(`.${i[a]}`)[0];n||(n=r.createElement("div"),n.className=i[a],e.$el.append(n)),s[a]=n,t[a]=n}})),s}function U(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!\/])/g,"\\$1").replace(/ /g,".")}`}function K(e){const t=this,{$wrapperEl:s,params:a}=t;if(a.loop&&t.loopDestroy(),"object"==typeof e&&"length"in e)for(let t=0;t=l)return void s.appendSlide(t);let o=n>e?n+1:n;const d=[];for(let t=l-1;t>=e;t-=1){const e=s.slides.eq(t);e.remove(),d.unshift(e)}if("object"==typeof t&&"length"in t){for(let e=0;ee?n+t.length:n}else a.append(t);for(let e=0;e{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)})),a("setTranslate",(()=>{s.params.effect===t&&i()})),a("setTransition",((e,a)=>{s.params.effect===t&&r(a)})),a("transitionEnd",(()=>{if(s.params.effect===t&&o){if(!d||!d().slideShadows)return;s.slides.each((e=>{s.$(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").remove()})),o()}})),a("virtualUpdate",(()=>{s.params.effect===t&&(s.slides.length||(c=!0),requestAnimationFrame((()=>{c&&s.slides&&s.slides.length&&(i(),c=!1)})))}))}function se(e,t){return e.transformEl?t.find(e.transformEl).css({"backface-visibility":"hidden","-webkit-backface-visibility":"hidden"}):t}function ae(e){let{swiper:t,duration:s,transformEl:a,allSlides:i}=e;const{slides:r,activeIndex:n,$wrapperEl:l}=t;if(t.params.virtualTranslate&&0!==s){let e,s=!1;e=i?a?r.find(a):r:a?r.eq(n).find(a):r.eq(n),e.transitionEnd((()=>{if(s)return;if(!t||t.destroyed)return;s=!0,t.animating=!1;const e=["webkitTransitionEnd","transitionend"];for(let t=0;t
`),i.append(r)),r}Object.keys(q).forEach((e=>{Object.keys(q[e]).forEach((t=>{V.prototype[t]=q[e][t]}))})),V.use([function(e){let{swiper:t,on:s,emit:a}=e;const i=r();let n=null,l=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(a("beforeResize"),a("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&a("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==i.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver((e=>{l=i.requestAnimationFrame((()=>{const{width:s,height:a}=t;let i=s,r=a;e.forEach((e=>{let{contentBoxSize:s,contentRect:a,target:n}=e;n&&n!==t.el||(i=a?a.width:(s[0]||s).inlineSize,r=a?a.height:(s[0]||s).blockSize)})),i===s&&r===a||o()}))})),n.observe(t.el)):(i.addEventListener("resize",o),i.addEventListener("orientationchange",d))})),s("destroy",(()=>{l&&i.cancelAnimationFrame(l),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),i.removeEventListener("resize",o),i.removeEventListener("orientationchange",d)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=[],l=r(),o=function(e,t){void 0===t&&(t={});const s=new(l.MutationObserver||l.WebkitMutationObserver)((e=>{if(1===e.length)return void i("observerUpdate",e[0]);const t=function(){i("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(t):l.setTimeout(t,0)}));s.observe(e,{attributes:void 0===t.attributes||t.attributes,childList:void 0===t.childList||t.childList,characterData:void 0===t.characterData||t.characterData}),n.push(s)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),a("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=t.$el.parents();for(let t=0;t{n.forEach((e=>{e.disconnect()})),n.splice(0,n.length)}))}]);const re=[function(e){let t,{swiper:s,extendParams:a,on:i,emit:r}=e;function n(e,t){const a=s.params.virtual;if(a.cache&&s.virtual.cache[t])return s.virtual.cache[t];const i=a.renderSlide?d(a.renderSlide.call(s,e,t)):d(`
${e}
`);return i.attr("data-swiper-slide-index")||i.attr("data-swiper-slide-index",t),a.cache&&(s.virtual.cache[t]=i),i}function l(e){const{slidesPerView:t,slidesPerGroup:a,centeredSlides:i}=s.params,{addSlidesBefore:l,addSlidesAfter:o}=s.params.virtual,{from:d,to:c,slides:p,slidesGrid:u,offset:h}=s.virtual;s.params.cssMode||s.updateActiveIndex();const m=s.activeIndex||0;let f,g,v;f=s.rtlTranslate?"right":s.isHorizontal()?"left":"top",i?(g=Math.floor(t/2)+a+o,v=Math.floor(t/2)+a+l):(g=t+(a-1)+o,v=a+l);const w=Math.max((m||0)-v,0),b=Math.min((m||0)+g,p.length-1),x=(s.slidesGrid[w]||0)-(s.slidesGrid[0]||0);function y(){s.updateSlides(),s.updateProgress(),s.updateSlidesClasses(),s.lazy&&s.params.lazy.enabled&&s.lazy.load(),r("virtualUpdate")}if(Object.assign(s.virtual,{from:w,to:b,offset:x,slidesGrid:s.slidesGrid}),d===w&&c===b&&!e)return s.slidesGrid!==u&&x!==h&&s.slides.css(f,`${x}px`),s.updateProgress(),void r("virtualUpdate");if(s.params.virtual.renderExternal)return s.params.virtual.renderExternal.call(s,{offset:x,from:w,to:b,slides:function(){const e=[];for(let t=w;t<=b;t+=1)e.push(p[t]);return e}()}),void(s.params.virtual.renderExternalUpdate?y():r("virtualUpdate"));const E=[],C=[];if(e)s.$wrapperEl.find(`.${s.params.slideClass}`).remove();else for(let e=d;e<=c;e+=1)(eb)&&s.$wrapperEl.find(`.${s.params.slideClass}[data-swiper-slide-index="${e}"]`).remove();for(let t=0;t=w&&t<=b&&(void 0===c||e?C.push(t):(t>c&&C.push(t),t{s.$wrapperEl.append(n(p[e],e))})),E.sort(((e,t)=>t-e)).forEach((e=>{s.$wrapperEl.prepend(n(p[e],e))})),s.$wrapperEl.children(".swiper-slide").css(f,`${x}px`),y()}a({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}}),s.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]},i("beforeInit",(()=>{s.params.virtual.enabled&&(s.virtual.slides=s.params.virtual.slides,s.classNames.push(`${s.params.containerModifierClass}virtual`),s.params.watchSlidesProgress=!0,s.originalParams.watchSlidesProgress=!0,s.params.initialSlide||l())})),i("setTranslate",(()=>{s.params.virtual.enabled&&(s.params.cssMode&&!s._immediateVirtual?(clearTimeout(t),t=setTimeout((()=>{l()}),100)):l())})),i("init update resize",(()=>{s.params.virtual.enabled&&s.params.cssMode&&v(s.wrapperEl,"--swiper-virtual-size",`${s.virtualSize}px`)})),Object.assign(s.virtual,{appendSlide:function(e){if("object"==typeof e&&"length"in e)for(let t=0;t{const a=e[s],r=a.attr("data-swiper-slide-index");r&&a.attr("data-swiper-slide-index",parseInt(r,10)+i),t[parseInt(s,10)+i]=a})),s.virtual.cache=t}l(!0),s.slideTo(a,0)},removeSlide:function(e){if(null==e)return;let t=s.activeIndex;if(Array.isArray(e))for(let a=e.length-1;a>=0;a-=1)s.virtual.slides.splice(e[a],1),s.params.virtual.cache&&delete s.virtual.cache[e[a]],e[a]0&&0===t.$el.parents(`.${t.params.slideActiveClass}`).length)return;const a=t.$el,i=a[0].clientWidth,r=a[0].clientHeight,n=o.innerWidth,l=o.innerHeight,d=t.$el.offset();s&&(d.left-=t.$el[0].scrollLeft);const c=[[d.left,d.top],[d.left+i,d.top],[d.left,d.top+r],[d.left+i,d.top+r]];for(let t=0;t=0&&s[0]<=n&&s[1]>=0&&s[1]<=l){if(0===s[0]&&0===s[1])continue;e=!0}}if(!e)return}t.isHorizontal()?((d||c||p||u)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),((c||u)&&!s||(d||p)&&s)&&t.slideNext(),((d||p)&&!s||(c||u)&&s)&&t.slidePrev()):((d||c||h||m)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),(c||m)&&t.slideNext(),(d||h)&&t.slidePrev()),n("keyPress",i)}}function p(){t.keyboard.enabled||(d(l).on("keydown",c),t.keyboard.enabled=!0)}function u(){t.keyboard.enabled&&(d(l).off("keydown",c),t.keyboard.enabled=!1)}t.keyboard={enabled:!1},s({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),i("init",(()=>{t.params.keyboard.enabled&&p()})),i("destroy",(()=>{t.keyboard.enabled&&u()})),Object.assign(t.keyboard,{enable:p,disable:u})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();let l;s({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null}}),t.mousewheel={enabled:!1};let o,c=u();const h=[];function m(){t.enabled&&(t.mouseEntered=!0)}function f(){t.enabled&&(t.mouseEntered=!1)}function g(e){return!(t.params.mousewheel.thresholdDelta&&e.delta=6&&u()-c<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),i("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),i("scroll",e.raw)),c=(new n.Date).getTime(),!1)))}function v(e){let s=e,a=!0;if(!t.enabled)return;const r=t.params.mousewheel;t.params.cssMode&&s.preventDefault();let n=t.$el;if("container"!==t.params.mousewheel.eventsTarget&&(n=d(t.params.mousewheel.eventsTarget)),!t.mouseEntered&&!n[0].contains(s.target)&&!r.releaseOnEdges)return!0;s.originalEvent&&(s=s.originalEvent);let c=0;const m=t.rtlTranslate?-1:1,f=function(e){let t=0,s=0,a=0,i=0;return"detail"in e&&(s=e.detail),"wheelDelta"in e&&(s=-e.wheelDelta/120),"wheelDeltaY"in e&&(s=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=s,s=0),a=10*t,i=10*s,"deltaY"in e&&(i=e.deltaY),"deltaX"in e&&(a=e.deltaX),e.shiftKey&&!a&&(a=i,i=0),(a||i)&&e.deltaMode&&(1===e.deltaMode?(a*=40,i*=40):(a*=800,i*=800)),a&&!t&&(t=a<1?-1:1),i&&!s&&(s=i<1?-1:1),{spinX:t,spinY:s,pixelX:a,pixelY:i}}(s);if(r.forceToAxis)if(t.isHorizontal()){if(!(Math.abs(f.pixelX)>Math.abs(f.pixelY)))return!0;c=-f.pixelX*m}else{if(!(Math.abs(f.pixelY)>Math.abs(f.pixelX)))return!0;c=-f.pixelY}else c=Math.abs(f.pixelX)>Math.abs(f.pixelY)?-f.pixelX*m:-f.pixelY;if(0===c)return!0;r.invert&&(c=-c);let v=t.getTranslate()+c*r.sensitivity;if(v>=t.minTranslate()&&(v=t.minTranslate()),v<=t.maxTranslate()&&(v=t.maxTranslate()),a=!!t.params.loop||!(v===t.minTranslate()||v===t.maxTranslate()),a&&t.params.nested&&s.stopPropagation(),t.params.freeMode&&t.params.freeMode.enabled){const e={time:u(),delta:Math.abs(c),direction:Math.sign(c)},a=o&&e.time=t.minTranslate()&&(n=t.minTranslate()),n<=t.maxTranslate()&&(n=t.maxTranslate()),t.setTransition(0),t.setTranslate(n),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses(),(!d&&t.isBeginning||!u&&t.isEnd)&&t.updateSlidesClasses(),t.params.freeMode.sticky){clearTimeout(l),l=void 0,h.length>=15&&h.shift();const s=h.length?h[h.length-1]:void 0,a=h[0];if(h.push(e),s&&(e.delta>s.delta||e.direction!==s.direction))h.splice(0);else if(h.length>=15&&e.time-a.time<500&&a.delta-e.delta>=1&&e.delta<=6){const s=c>0?.8:.2;o=e,h.splice(0),l=p((()=>{t.slideToClosest(t.params.speed,!0,void 0,s)}),0)}l||(l=p((()=>{o=e,h.splice(0),t.slideToClosest(t.params.speed,!0,void 0,.5)}),500))}if(a||i("scroll",s),t.params.autoplay&&t.params.autoplayDisableOnInteraction&&t.autoplay.stop(),n===t.minTranslate()||n===t.maxTranslate())return!0}}else{const s={time:u(),delta:Math.abs(c),direction:Math.sign(c),raw:e};h.length>=2&&h.shift();const a=h.length?h[h.length-1]:void 0;if(h.push(s),a?(s.direction!==a.direction||s.delta>a.delta||s.time>a.time+150)&&g(s):g(s),function(e){const s=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&s.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&s.releaseOnEdges)return!0;return!1}(s))return!0}return s.preventDefault?s.preventDefault():s.returnValue=!1,!1}function w(e){let s=t.$el;"container"!==t.params.mousewheel.eventsTarget&&(s=d(t.params.mousewheel.eventsTarget)),s[e]("mouseenter",m),s[e]("mouseleave",f),s[e]("wheel",v)}function b(){return t.params.cssMode?(t.wrapperEl.removeEventListener("wheel",v),!0):!t.mousewheel.enabled&&(w("on"),t.mousewheel.enabled=!0,!0)}function x(){return t.params.cssMode?(t.wrapperEl.addEventListener(event,v),!0):!!t.mousewheel.enabled&&(w("off"),t.mousewheel.enabled=!1,!0)}a("init",(()=>{!t.params.mousewheel.enabled&&t.params.cssMode&&x(),t.params.mousewheel.enabled&&b()})),a("destroy",(()=>{t.params.cssMode&&b(),t.mousewheel.enabled&&x()})),Object.assign(t.mousewheel,{enable:b,disable:x})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;function r(e){let s;return e&&(s=d(e),t.params.uniqueNavElements&&"string"==typeof e&&s.length>1&&1===t.$el.find(e).length&&(s=t.$el.find(e))),s}function n(e,s){const a=t.params.navigation;e&&e.length>0&&(e[s?"addClass":"removeClass"](a.disabledClass),e[0]&&"BUTTON"===e[0].tagName&&(e[0].disabled=s),t.params.watchOverflow&&t.enabled&&e[t.isLocked?"addClass":"removeClass"](a.lockClass))}function l(){if(t.params.loop)return;const{$nextEl:e,$prevEl:s}=t.navigation;n(s,t.isBeginning&&!t.params.rewind),n(e,t.isEnd&&!t.params.rewind)}function o(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),i("navigationPrev"))}function c(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),i("navigationNext"))}function p(){const e=t.params.navigation;if(t.params.navigation=F(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;const s=r(e.nextEl),a=r(e.prevEl);s&&s.length>0&&s.on("click",c),a&&a.length>0&&a.on("click",o),Object.assign(t.navigation,{$nextEl:s,nextEl:s&&s[0],$prevEl:a,prevEl:a&&a[0]}),t.enabled||(s&&s.addClass(e.lockClass),a&&a.addClass(e.lockClass))}function u(){const{$nextEl:e,$prevEl:s}=t.navigation;e&&e.length&&(e.off("click",c),e.removeClass(t.params.navigation.disabledClass)),s&&s.length&&(s.off("click",o),s.removeClass(t.params.navigation.disabledClass))}s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,$nextEl:null,prevEl:null,$prevEl:null},a("init",(()=>{!1===t.params.navigation.enabled?h():(p(),l())})),a("toEdge fromEdge lock unlock",(()=>{l()})),a("destroy",(()=>{u()})),a("enable disable",(()=>{const{$nextEl:e,$prevEl:s}=t.navigation;e&&e[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass),s&&s[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass)})),a("click",((e,s)=>{const{$nextEl:a,$prevEl:r}=t.navigation,n=s.target;if(t.params.navigation.hideOnClick&&!d(n).is(r)&&!d(n).is(a)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===n||t.pagination.el.contains(n)))return;let e;a?e=a.hasClass(t.params.navigation.hiddenClass):r&&(e=r.hasClass(t.params.navigation.hiddenClass)),i(!0===e?"navigationShow":"navigationHide"),a&&a.toggleClass(t.params.navigation.hiddenClass),r&&r.toggleClass(t.params.navigation.hiddenClass)}}));const h=()=>{t.$el.addClass(t.params.navigation.navigationDisabledClass),u()};Object.assign(t.navigation,{enable:()=>{t.$el.removeClass(t.params.navigation.navigationDisabledClass),p(),l()},disable:h,update:l,init:p,destroy:u})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const r="swiper-pagination";let n;s({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${r}-bullet`,bulletActiveClass:`${r}-bullet-active`,modifierClass:`${r}-`,currentClass:`${r}-current`,totalClass:`${r}-total`,hiddenClass:`${r}-hidden`,progressbarFillClass:`${r}-progressbar-fill`,progressbarOppositeClass:`${r}-progressbar-opposite`,clickableClass:`${r}-clickable`,lockClass:`${r}-lock`,horizontalClass:`${r}-horizontal`,verticalClass:`${r}-vertical`,paginationDisabledClass:`${r}-disabled`}}),t.pagination={el:null,$el:null,bullets:[]};let l=0;function o(){return!t.params.pagination.el||!t.pagination.el||!t.pagination.$el||0===t.pagination.$el.length}function c(e,s){const{bulletActiveClass:a}=t.params.pagination;e[s]().addClass(`${a}-${s}`)[s]().addClass(`${a}-${s}-${s}`)}function p(){const e=t.rtl,s=t.params.pagination;if(o())return;const a=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,r=t.pagination.$el;let p;const u=t.params.loop?Math.ceil((a-2*t.loopedSlides)/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(p=Math.ceil((t.activeIndex-t.loopedSlides)/t.params.slidesPerGroup),p>a-1-2*t.loopedSlides&&(p-=a-2*t.loopedSlides),p>u-1&&(p-=u),p<0&&"bullets"!==t.params.paginationType&&(p=u+p)):p=void 0!==t.snapIndex?t.snapIndex:t.activeIndex||0,"bullets"===s.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const a=t.pagination.bullets;let i,o,u;if(s.dynamicBullets&&(n=a.eq(0)[t.isHorizontal()?"outerWidth":"outerHeight"](!0),r.css(t.isHorizontal()?"width":"height",n*(s.dynamicMainBullets+4)+"px"),s.dynamicMainBullets>1&&void 0!==t.previousIndex&&(l+=p-(t.previousIndex-t.loopedSlides||0),l>s.dynamicMainBullets-1?l=s.dynamicMainBullets-1:l<0&&(l=0)),i=Math.max(p-l,0),o=i+(Math.min(a.length,s.dynamicMainBullets)-1),u=(o+i)/2),a.removeClass(["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`)).join(" ")),r.length>1)a.each((e=>{const t=d(e),a=t.index();a===p&&t.addClass(s.bulletActiveClass),s.dynamicBullets&&(a>=i&&a<=o&&t.addClass(`${s.bulletActiveClass}-main`),a===i&&c(t,"prev"),a===o&&c(t,"next"))}));else{const e=a.eq(p),r=e.index();if(e.addClass(s.bulletActiveClass),s.dynamicBullets){const e=a.eq(i),n=a.eq(o);for(let e=i;e<=o;e+=1)a.eq(e).addClass(`${s.bulletActiveClass}-main`);if(t.params.loop)if(r>=a.length){for(let e=s.dynamicMainBullets;e>=0;e-=1)a.eq(a.length-e).addClass(`${s.bulletActiveClass}-main`);a.eq(a.length-s.dynamicMainBullets-1).addClass(`${s.bulletActiveClass}-prev`)}else c(e,"prev"),c(n,"next");else c(e,"prev"),c(n,"next")}}if(s.dynamicBullets){const i=Math.min(a.length,s.dynamicMainBullets+4),r=(n*i-n)/2-u*n,l=e?"right":"left";a.css(t.isHorizontal()?l:"top",`${r}px`)}}if("fraction"===s.type&&(r.find(U(s.currentClass)).text(s.formatFractionCurrent(p+1)),r.find(U(s.totalClass)).text(s.formatFractionTotal(u))),"progressbar"===s.type){let e;e=s.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const a=(p+1)/u;let i=1,n=1;"horizontal"===e?i=a:n=a,r.find(U(s.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${i}) scaleY(${n})`).transition(t.params.speed)}"custom"===s.type&&s.renderCustom?(r.html(s.renderCustom(t,p+1,u)),i("paginationRender",r[0])):i("paginationUpdate",r[0]),t.params.watchOverflow&&t.enabled&&r[t.isLocked?"addClass":"removeClass"](s.lockClass)}function u(){const e=t.params.pagination;if(o())return;const s=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,a=t.pagination.$el;let r="";if("bullets"===e.type){let i=t.params.loop?Math.ceil((s-2*t.loopedSlides)/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&!t.params.loop&&i>s&&(i=s);for(let s=0;s`;a.html(r),t.pagination.bullets=a.find(U(e.bulletClass))}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):` / `,a.html(r)),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):``,a.html(r)),"custom"!==e.type&&i("paginationRender",t.pagination.$el[0])}function h(){t.params.pagination=F(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let s=d(e.el);0!==s.length&&(t.params.uniqueNavElements&&"string"==typeof e.el&&s.length>1&&(s=t.$el.find(e.el),s.length>1&&(s=s.filter((e=>d(e).parents(".swiper")[0]===t.el)))),"bullets"===e.type&&e.clickable&&s.addClass(e.clickableClass),s.addClass(e.modifierClass+e.type),s.addClass(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.addClass(`${e.modifierClass}${e.type}-dynamic`),l=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.addClass(e.progressbarOppositeClass),e.clickable&&s.on("click",U(e.bulletClass),(function(e){e.preventDefault();let s=d(this).index()*t.params.slidesPerGroup;t.params.loop&&(s+=t.loopedSlides),t.slideTo(s)})),Object.assign(t.pagination,{$el:s,el:s[0]}),t.enabled||s.addClass(e.lockClass))}function m(){const e=t.params.pagination;if(o())return;const s=t.pagination.$el;s.removeClass(e.hiddenClass),s.removeClass(e.modifierClass+e.type),s.removeClass(t.isHorizontal()?e.horizontalClass:e.verticalClass),t.pagination.bullets&&t.pagination.bullets.removeClass&&t.pagination.bullets.removeClass(e.bulletActiveClass),e.clickable&&s.off("click",U(e.bulletClass))}a("init",(()=>{!1===t.params.pagination.enabled?f():(h(),u(),p())})),a("activeIndexChange",(()=>{(t.params.loop||void 0===t.snapIndex)&&p()})),a("snapIndexChange",(()=>{t.params.loop||p()})),a("slidesLengthChange",(()=>{t.params.loop&&(u(),p())})),a("snapGridLengthChange",(()=>{t.params.loop||(u(),p())})),a("destroy",(()=>{m()})),a("enable disable",(()=>{const{$el:e}=t.pagination;e&&e[t.enabled?"removeClass":"addClass"](t.params.pagination.lockClass)})),a("lock unlock",(()=>{p()})),a("click",((e,s)=>{const a=s.target,{$el:r}=t.pagination;if(t.params.pagination.el&&t.params.pagination.hideOnClick&&r&&r.length>0&&!d(a).hasClass(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&a===t.navigation.nextEl||t.navigation.prevEl&&a===t.navigation.prevEl))return;const e=r.hasClass(t.params.pagination.hiddenClass);i(!0===e?"paginationShow":"paginationHide"),r.toggleClass(t.params.pagination.hiddenClass)}}));const f=()=>{t.$el.addClass(t.params.pagination.paginationDisabledClass),t.pagination.$el&&t.pagination.$el.addClass(t.params.pagination.paginationDisabledClass),m()};Object.assign(t.pagination,{enable:()=>{t.$el.removeClass(t.params.pagination.paginationDisabledClass),t.pagination.$el&&t.pagination.$el.removeClass(t.params.pagination.paginationDisabledClass),h(),u(),p()},disable:f,render:u,update:p,init:h,destroy:m})},function(e){let{swiper:t,extendParams:s,on:i,emit:r}=e;const n=a();let l,o,c,u,h=!1,m=null,f=null;function g(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e,rtlTranslate:s,progress:a}=t,{$dragEl:i,$el:r}=e,n=t.params.scrollbar;let l=o,d=(c-o)*a;s?(d=-d,d>0?(l=o-d,d=0):-d+o>c&&(l=c+d)):d<0?(l=o+d,d=0):d+o>c&&(l=c-d),t.isHorizontal()?(i.transform(`translate3d(${d}px, 0, 0)`),i[0].style.width=`${l}px`):(i.transform(`translate3d(0px, ${d}px, 0)`),i[0].style.height=`${l}px`),n.hide&&(clearTimeout(m),r[0].style.opacity=1,m=setTimeout((()=>{r[0].style.opacity=0,r.transition(400)}),1e3))}function v(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e}=t,{$dragEl:s,$el:a}=e;s[0].style.width="",s[0].style.height="",c=t.isHorizontal()?a[0].offsetWidth:a[0].offsetHeight,u=t.size/(t.virtualSize+t.params.slidesOffsetBefore-(t.params.centeredSlides?t.snapGrid[0]:0)),o="auto"===t.params.scrollbar.dragSize?c*u:parseInt(t.params.scrollbar.dragSize,10),t.isHorizontal()?s[0].style.width=`${o}px`:s[0].style.height=`${o}px`,a[0].style.display=u>=1?"none":"",t.params.scrollbar.hide&&(a[0].style.opacity=0),t.params.watchOverflow&&t.enabled&&e.$el[t.isLocked?"addClass":"removeClass"](t.params.scrollbar.lockClass)}function w(e){return t.isHorizontal()?"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientX:e.clientX:"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientY:e.clientY}function b(e){const{scrollbar:s,rtlTranslate:a}=t,{$el:i}=s;let r;r=(w(e)-i.offset()[t.isHorizontal()?"left":"top"]-(null!==l?l:o/2))/(c-o),r=Math.max(Math.min(r,1),0),a&&(r=1-r);const n=t.minTranslate()+(t.maxTranslate()-t.minTranslate())*r;t.updateProgress(n),t.setTranslate(n),t.updateActiveIndex(),t.updateSlidesClasses()}function x(e){const s=t.params.scrollbar,{scrollbar:a,$wrapperEl:i}=t,{$el:n,$dragEl:o}=a;h=!0,l=e.target===o[0]||e.target===o?w(e)-e.target.getBoundingClientRect()[t.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),i.transition(100),o.transition(100),b(e),clearTimeout(f),n.transition(0),s.hide&&n.css("opacity",1),t.params.cssMode&&t.$wrapperEl.css("scroll-snap-type","none"),r("scrollbarDragStart",e)}function y(e){const{scrollbar:s,$wrapperEl:a}=t,{$el:i,$dragEl:n}=s;h&&(e.preventDefault?e.preventDefault():e.returnValue=!1,b(e),a.transition(0),i.transition(0),n.transition(0),r("scrollbarDragMove",e))}function E(e){const s=t.params.scrollbar,{scrollbar:a,$wrapperEl:i}=t,{$el:n}=a;h&&(h=!1,t.params.cssMode&&(t.$wrapperEl.css("scroll-snap-type",""),i.transition("")),s.hide&&(clearTimeout(f),f=p((()=>{n.css("opacity",0),n.transition(400)}),1e3)),r("scrollbarDragEnd",e),s.snapOnRelease&&t.slideToClosest())}function C(e){const{scrollbar:s,touchEventsTouch:a,touchEventsDesktop:i,params:r,support:l}=t,o=s.$el;if(!o)return;const d=o[0],c=!(!l.passiveListener||!r.passiveListeners)&&{passive:!1,capture:!1},p=!(!l.passiveListener||!r.passiveListeners)&&{passive:!0,capture:!1};if(!d)return;const u="on"===e?"addEventListener":"removeEventListener";l.touch?(d[u](a.start,x,c),d[u](a.move,y,c),d[u](a.end,E,p)):(d[u](i.start,x,c),n[u](i.move,y,c),n[u](i.end,E,p))}function T(){const{scrollbar:e,$el:s}=t;t.params.scrollbar=F(t,t.originalParams.scrollbar,t.params.scrollbar,{el:"swiper-scrollbar"});const a=t.params.scrollbar;if(!a.el)return;let i=d(a.el);t.params.uniqueNavElements&&"string"==typeof a.el&&i.length>1&&1===s.find(a.el).length&&(i=s.find(a.el)),i.addClass(t.isHorizontal()?a.horizontalClass:a.verticalClass);let r=i.find(`.${t.params.scrollbar.dragClass}`);0===r.length&&(r=d(`
`),i.append(r)),Object.assign(e,{$el:i,el:i[0],$dragEl:r,dragEl:r[0]}),a.draggable&&t.params.scrollbar.el&&t.scrollbar.el&&C("on"),i&&i[t.enabled?"removeClass":"addClass"](t.params.scrollbar.lockClass)}function $(){const e=t.params.scrollbar,s=t.scrollbar.$el;s&&s.removeClass(t.isHorizontal()?e.horizontalClass:e.verticalClass),t.params.scrollbar.el&&t.scrollbar.el&&C("off")}s({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),t.scrollbar={el:null,dragEl:null,$el:null,$dragEl:null},i("init",(()=>{!1===t.params.scrollbar.enabled?S():(T(),v(),g())})),i("update resize observerUpdate lock unlock",(()=>{v()})),i("setTranslate",(()=>{g()})),i("setTransition",((e,s)=>{!function(e){t.params.scrollbar.el&&t.scrollbar.el&&t.scrollbar.$dragEl.transition(e)}(s)})),i("enable disable",(()=>{const{$el:e}=t.scrollbar;e&&e[t.enabled?"removeClass":"addClass"](t.params.scrollbar.lockClass)})),i("destroy",(()=>{$()}));const S=()=>{t.$el.addClass(t.params.scrollbar.scrollbarDisabledClass),t.scrollbar.$el&&t.scrollbar.$el.addClass(t.params.scrollbar.scrollbarDisabledClass),$()};Object.assign(t.scrollbar,{enable:()=>{t.$el.removeClass(t.params.scrollbar.scrollbarDisabledClass),t.scrollbar.$el&&t.scrollbar.$el.removeClass(t.params.scrollbar.scrollbarDisabledClass),T(),v(),g()},disable:S,updateSize:v,setTranslate:g,init:T,destroy:$})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({parallax:{enabled:!1}});const i=(e,s)=>{const{rtl:a}=t,i=d(e),r=a?-1:1,n=i.attr("data-swiper-parallax")||"0";let l=i.attr("data-swiper-parallax-x"),o=i.attr("data-swiper-parallax-y");const c=i.attr("data-swiper-parallax-scale"),p=i.attr("data-swiper-parallax-opacity");if(l||o?(l=l||"0",o=o||"0"):t.isHorizontal()?(l=n,o="0"):(o=n,l="0"),l=l.indexOf("%")>=0?parseInt(l,10)*s*r+"%":l*s*r+"px",o=o.indexOf("%")>=0?parseInt(o,10)*s+"%":o*s+"px",null!=p){const e=p-(p-1)*(1-Math.abs(s));i[0].style.opacity=e}if(null==c)i.transform(`translate3d(${l}, ${o}, 0px)`);else{const e=c-(c-1)*(1-Math.abs(s));i.transform(`translate3d(${l}, ${o}, 0px) scale(${e})`)}},r=()=>{const{$el:e,slides:s,progress:a,snapGrid:r}=t;e.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{i(e,a)})),s.each(((e,s)=>{let n=e.progress;t.params.slidesPerGroup>1&&"auto"!==t.params.slidesPerView&&(n+=Math.ceil(s/2)-a*(r.length-1)),n=Math.min(Math.max(n,-1),1),d(e).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{i(e,n)}))}))};a("beforeInit",(()=>{t.params.parallax.enabled&&(t.params.watchSlidesProgress=!0,t.originalParams.watchSlidesProgress=!0)})),a("init",(()=>{t.params.parallax.enabled&&r()})),a("setTranslate",(()=>{t.params.parallax.enabled&&r()})),a("setTransition",((e,s)=>{t.params.parallax.enabled&&function(e){void 0===e&&(e=t.params.speed);const{$el:s}=t;s.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((t=>{const s=d(t);let a=parseInt(s.attr("data-swiper-parallax-duration"),10)||e;0===e&&(a=0),s.transition(a)}))}(s)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();s({zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),t.zoom={enabled:!1};let l,o,c,p=1,u=!1;const m={$slideEl:void 0,slideWidth:void 0,slideHeight:void 0,$imageEl:void 0,$imageWrapEl:void 0,maxRatio:3},f={isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},g={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let v=1;function w(e){if(e.targetTouches.length<2)return 1;const t=e.targetTouches[0].pageX,s=e.targetTouches[0].pageY,a=e.targetTouches[1].pageX,i=e.targetTouches[1].pageY;return Math.sqrt((a-t)**2+(i-s)**2)}function b(e){const s=t.support,a=t.params.zoom;if(o=!1,c=!1,!s.gestures){if("touchstart"!==e.type||"touchstart"===e.type&&e.targetTouches.length<2)return;o=!0,m.scaleStart=w(e)}m.$slideEl&&m.$slideEl.length||(m.$slideEl=d(e.target).closest(`.${t.params.slideClass}`),0===m.$slideEl.length&&(m.$slideEl=t.slides.eq(t.activeIndex)),m.$imageEl=m.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),m.$imageWrapEl=m.$imageEl.parent(`.${a.containerClass}`),m.maxRatio=m.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,0!==m.$imageWrapEl.length)?(m.$imageEl&&m.$imageEl.transition(0),u=!0):m.$imageEl=void 0}function x(e){const s=t.support,a=t.params.zoom,i=t.zoom;if(!s.gestures){if("touchmove"!==e.type||"touchmove"===e.type&&e.targetTouches.length<2)return;c=!0,m.scaleMove=w(e)}m.$imageEl&&0!==m.$imageEl.length?(s.gestures?i.scale=e.scale*p:i.scale=m.scaleMove/m.scaleStart*p,i.scale>m.maxRatio&&(i.scale=m.maxRatio-1+(i.scale-m.maxRatio+1)**.5),i.scalef.touchesStart.x))return void(f.isTouched=!1);if(!t.isHorizontal()&&(Math.floor(f.minY)===Math.floor(f.startY)&&f.touchesCurrent.yf.touchesStart.y))return void(f.isTouched=!1)}e.cancelable&&e.preventDefault(),e.stopPropagation(),f.isMoved=!0,f.currentX=f.touchesCurrent.x-f.touchesStart.x+f.startX,f.currentY=f.touchesCurrent.y-f.touchesStart.y+f.startY,f.currentXf.maxX&&(f.currentX=f.maxX-1+(f.currentX-f.maxX+1)**.8),f.currentYf.maxY&&(f.currentY=f.maxY-1+(f.currentY-f.maxY+1)**.8),g.prevPositionX||(g.prevPositionX=f.touchesCurrent.x),g.prevPositionY||(g.prevPositionY=f.touchesCurrent.y),g.prevTime||(g.prevTime=Date.now()),g.x=(f.touchesCurrent.x-g.prevPositionX)/(Date.now()-g.prevTime)/2,g.y=(f.touchesCurrent.y-g.prevPositionY)/(Date.now()-g.prevTime)/2,Math.abs(f.touchesCurrent.x-g.prevPositionX)<2&&(g.x=0),Math.abs(f.touchesCurrent.y-g.prevPositionY)<2&&(g.y=0),g.prevPositionX=f.touchesCurrent.x,g.prevPositionY=f.touchesCurrent.y,g.prevTime=Date.now(),m.$imageWrapEl.transform(`translate3d(${f.currentX}px, ${f.currentY}px,0)`)}}function C(){const e=t.zoom;m.$slideEl&&t.previousIndex!==t.activeIndex&&(m.$imageEl&&m.$imageEl.transform("translate3d(0,0,0) scale(1)"),m.$imageWrapEl&&m.$imageWrapEl.transform("translate3d(0,0,0)"),e.scale=1,p=1,m.$slideEl=void 0,m.$imageEl=void 0,m.$imageWrapEl=void 0)}function T(e){const s=t.zoom,a=t.params.zoom;if(m.$slideEl||(e&&e.target&&(m.$slideEl=d(e.target).closest(`.${t.params.slideClass}`)),m.$slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.$slideEl=t.$wrapperEl.children(`.${t.params.slideActiveClass}`):m.$slideEl=t.slides.eq(t.activeIndex)),m.$imageEl=m.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),m.$imageWrapEl=m.$imageEl.parent(`.${a.containerClass}`)),!m.$imageEl||0===m.$imageEl.length||!m.$imageWrapEl||0===m.$imageWrapEl.length)return;let i,r,l,o,c,u,h,g,v,w,b,x,y,E,C,T,$,S;t.params.cssMode&&(t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.touchAction="none"),m.$slideEl.addClass(`${a.zoomedSlideClass}`),void 0===f.touchesStart.x&&e?(i="touchend"===e.type?e.changedTouches[0].pageX:e.pageX,r="touchend"===e.type?e.changedTouches[0].pageY:e.pageY):(i=f.touchesStart.x,r=f.touchesStart.y),s.scale=m.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,p=m.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,e?($=m.$slideEl[0].offsetWidth,S=m.$slideEl[0].offsetHeight,l=m.$slideEl.offset().left+n.scrollX,o=m.$slideEl.offset().top+n.scrollY,c=l+$/2-i,u=o+S/2-r,v=m.$imageEl[0].offsetWidth,w=m.$imageEl[0].offsetHeight,b=v*s.scale,x=w*s.scale,y=Math.min($/2-b/2,0),E=Math.min(S/2-x/2,0),C=-y,T=-E,h=c*s.scale,g=u*s.scale,hC&&(h=C),gT&&(g=T)):(h=0,g=0),m.$imageWrapEl.transition(300).transform(`translate3d(${h}px, ${g}px,0)`),m.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${s.scale})`)}function $(){const e=t.zoom,s=t.params.zoom;m.$slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.$slideEl=t.$wrapperEl.children(`.${t.params.slideActiveClass}`):m.$slideEl=t.slides.eq(t.activeIndex),m.$imageEl=m.$slideEl.find(`.${s.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),m.$imageWrapEl=m.$imageEl.parent(`.${s.containerClass}`)),m.$imageEl&&0!==m.$imageEl.length&&m.$imageWrapEl&&0!==m.$imageWrapEl.length&&(t.params.cssMode&&(t.wrapperEl.style.overflow="",t.wrapperEl.style.touchAction=""),e.scale=1,p=1,m.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),m.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),m.$slideEl.removeClass(`${s.zoomedSlideClass}`),m.$slideEl=void 0)}function S(e){const s=t.zoom;s.scale&&1!==s.scale?$():T(e)}function M(){const e=t.support;return{passiveListener:!("touchstart"!==t.touchEvents.start||!e.passiveListener||!t.params.passiveListeners)&&{passive:!0,capture:!1},activeListenerWithCapture:!e.passiveListener||{passive:!1,capture:!0}}}function P(){return`.${t.params.slideClass}`}function k(e){const{passiveListener:s}=M(),a=P();t.$wrapperEl[e]("gesturestart",a,b,s),t.$wrapperEl[e]("gesturechange",a,x,s),t.$wrapperEl[e]("gestureend",a,y,s)}function z(){l||(l=!0,k("on"))}function L(){l&&(l=!1,k("off"))}function O(){const e=t.zoom;if(e.enabled)return;e.enabled=!0;const s=t.support,{passiveListener:a,activeListenerWithCapture:i}=M(),r=P();s.gestures?(t.$wrapperEl.on(t.touchEvents.start,z,a),t.$wrapperEl.on(t.touchEvents.end,L,a)):"touchstart"===t.touchEvents.start&&(t.$wrapperEl.on(t.touchEvents.start,r,b,a),t.$wrapperEl.on(t.touchEvents.move,r,x,i),t.$wrapperEl.on(t.touchEvents.end,r,y,a),t.touchEvents.cancel&&t.$wrapperEl.on(t.touchEvents.cancel,r,y,a)),t.$wrapperEl.on(t.touchEvents.move,`.${t.params.zoom.containerClass}`,E,i)}function I(){const e=t.zoom;if(!e.enabled)return;const s=t.support;e.enabled=!1;const{passiveListener:a,activeListenerWithCapture:i}=M(),r=P();s.gestures?(t.$wrapperEl.off(t.touchEvents.start,z,a),t.$wrapperEl.off(t.touchEvents.end,L,a)):"touchstart"===t.touchEvents.start&&(t.$wrapperEl.off(t.touchEvents.start,r,b,a),t.$wrapperEl.off(t.touchEvents.move,r,x,i),t.$wrapperEl.off(t.touchEvents.end,r,y,a),t.touchEvents.cancel&&t.$wrapperEl.off(t.touchEvents.cancel,r,y,a)),t.$wrapperEl.off(t.touchEvents.move,`.${t.params.zoom.containerClass}`,E,i)}Object.defineProperty(t.zoom,"scale",{get:()=>v,set(e){if(v!==e){const t=m.$imageEl?m.$imageEl[0]:void 0,s=m.$slideEl?m.$slideEl[0]:void 0;i("zoomChange",e,t,s)}v=e}}),a("init",(()=>{t.params.zoom.enabled&&O()})),a("destroy",(()=>{I()})),a("touchStart",((e,s)=>{t.zoom.enabled&&function(e){const s=t.device;m.$imageEl&&0!==m.$imageEl.length&&(f.isTouched||(s.android&&e.cancelable&&e.preventDefault(),f.isTouched=!0,f.touchesStart.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,f.touchesStart.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY))}(s)})),a("touchEnd",((e,s)=>{t.zoom.enabled&&function(){const e=t.zoom;if(!m.$imageEl||0===m.$imageEl.length)return;if(!f.isTouched||!f.isMoved)return f.isTouched=!1,void(f.isMoved=!1);f.isTouched=!1,f.isMoved=!1;let s=300,a=300;const i=g.x*s,r=f.currentX+i,n=g.y*a,l=f.currentY+n;0!==g.x&&(s=Math.abs((r-f.currentX)/g.x)),0!==g.y&&(a=Math.abs((l-f.currentY)/g.y));const o=Math.max(s,a);f.currentX=r,f.currentY=l;const d=f.width*e.scale,c=f.height*e.scale;f.minX=Math.min(m.slideWidth/2-d/2,0),f.maxX=-f.minX,f.minY=Math.min(m.slideHeight/2-c/2,0),f.maxY=-f.minY,f.currentX=Math.max(Math.min(f.currentX,f.maxX),f.minX),f.currentY=Math.max(Math.min(f.currentY,f.maxY),f.minY),m.$imageWrapEl.transition(o).transform(`translate3d(${f.currentX}px, ${f.currentY}px,0)`)}()})),a("doubleTap",((e,s)=>{!t.animating&&t.params.zoom.enabled&&t.zoom.enabled&&t.params.zoom.toggle&&S(s)})),a("transitionEnd",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&C()})),a("slideChange",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&t.params.cssMode&&C()})),Object.assign(t.zoom,{enable:O,disable:I,in:T,out:$,toggle:S})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;s({lazy:{checkInView:!1,enabled:!1,loadPrevNext:!1,loadPrevNextAmount:1,loadOnTransitionStart:!1,scrollingElement:"",elementClass:"swiper-lazy",loadingClass:"swiper-lazy-loading",loadedClass:"swiper-lazy-loaded",preloaderClass:"swiper-lazy-preloader"}}),t.lazy={};let n=!1,l=!1;function o(e,s){void 0===s&&(s=!0);const a=t.params.lazy;if(void 0===e)return;if(0===t.slides.length)return;const r=t.virtual&&t.params.virtual.enabled?t.$wrapperEl.children(`.${t.params.slideClass}[data-swiper-slide-index="${e}"]`):t.slides.eq(e),n=r.find(`.${a.elementClass}:not(.${a.loadedClass}):not(.${a.loadingClass})`);!r.hasClass(a.elementClass)||r.hasClass(a.loadedClass)||r.hasClass(a.loadingClass)||n.push(r[0]),0!==n.length&&n.each((e=>{const n=d(e);n.addClass(a.loadingClass);const l=n.attr("data-background"),c=n.attr("data-src"),p=n.attr("data-srcset"),u=n.attr("data-sizes"),h=n.parent("picture");t.loadImage(n[0],c||l,p,u,!1,(()=>{if(null!=t&&t&&(!t||t.params)&&!t.destroyed){if(l?(n.css("background-image",`url("${l}")`),n.removeAttr("data-background")):(p&&(n.attr("srcset",p),n.removeAttr("data-srcset")),u&&(n.attr("sizes",u),n.removeAttr("data-sizes")),h.length&&h.children("source").each((e=>{const t=d(e);t.attr("data-srcset")&&(t.attr("srcset",t.attr("data-srcset")),t.removeAttr("data-srcset"))})),c&&(n.attr("src",c),n.removeAttr("data-src"))),n.addClass(a.loadedClass).removeClass(a.loadingClass),r.find(`.${a.preloaderClass}`).remove(),t.params.loop&&s){const e=r.attr("data-swiper-slide-index");if(r.hasClass(t.params.slideDuplicateClass)){o(t.$wrapperEl.children(`[data-swiper-slide-index="${e}"]:not(.${t.params.slideDuplicateClass})`).index(),!1)}else{o(t.$wrapperEl.children(`.${t.params.slideDuplicateClass}[data-swiper-slide-index="${e}"]`).index(),!1)}}i("lazyImageReady",r[0],n[0]),t.params.autoHeight&&t.updateAutoHeight()}})),i("lazyImageLoad",r[0],n[0])}))}function c(){const{$wrapperEl:e,params:s,slides:a,activeIndex:i}=t,r=t.virtual&&s.virtual.enabled,n=s.lazy;let c=s.slidesPerView;function p(t){if(r){if(e.children(`.${s.slideClass}[data-swiper-slide-index="${t}"]`).length)return!0}else if(a[t])return!0;return!1}function u(e){return r?d(e).attr("data-swiper-slide-index"):d(e).index()}if("auto"===c&&(c=0),l||(l=!0),t.params.watchSlidesProgress)e.children(`.${s.slideVisibleClass}`).each((e=>{o(r?d(e).attr("data-swiper-slide-index"):d(e).index())}));else if(c>1)for(let e=i;e1||n.loadPrevNextAmount&&n.loadPrevNextAmount>1){const e=n.loadPrevNextAmount,t=Math.ceil(c),s=Math.min(i+t+Math.max(e,t),a.length),r=Math.max(i-Math.max(t,e),0);for(let e=i+t;e0&&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=0&&t[0]<=i&&t[1]>=0&&t[1]<=l){if(0===t[0]&&0===t[1])continue;h=!0}}const f=!("touchstart"!==t.touchEvents.start||!t.support.passiveListener||!t.params.passiveListeners)&&{passive:!0,capture:!1};h?(c(),s.off("scroll",p,f)):n||(n=!0,s.on("scroll",p,f))}a("beforeInit",(()=>{t.params.lazy.enabled&&t.params.preloadImages&&(t.params.preloadImages=!1)})),a("init",(()=>{t.params.lazy.enabled&&(t.params.lazy.checkInView?p():c())})),a("scroll",(()=>{t.params.freeMode&&t.params.freeMode.enabled&&!t.params.freeMode.sticky&&c()})),a("scrollbarDragMove resize _freeModeNoMomentumRelease",(()=>{t.params.lazy.enabled&&(t.params.lazy.checkInView?p():c())})),a("transitionStart",(()=>{t.params.lazy.enabled&&(t.params.lazy.loadOnTransitionStart||!t.params.lazy.loadOnTransitionStart&&!l)&&(t.params.lazy.checkInView?p():c())})),a("transitionEnd",(()=>{t.params.lazy.enabled&&!t.params.lazy.loadOnTransitionStart&&(t.params.lazy.checkInView?p():c())})),a("slideChange",(()=>{const{lazy:e,cssMode:s,watchSlidesProgress:a,touchReleaseOnEdges:i,resistanceRatio:r}=t.params;e.enabled&&(s||a&&(i||0===r))&&c()})),a("destroy",(()=>{t.$el&&t.$el.find(`.${t.params.lazy.loadingClass}`).removeClass(t.params.lazy.loadingClass)})),Object.assign(t.lazy,{load:c,loadInSlide:o})},function(e){let{swiper:t,extendParams:s,on:a}=e;function i(e,t){const s=function(){let e,t,s;return(a,i)=>{for(t=-1,e=a.length;e-t>1;)s=e+t>>1,a[s]<=i?t=s:e=s;return e}}();let a,i;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(i=s(this.x,e),a=i-1,(e-this.x[a])*(this.y[i]-this.y[a])/(this.x[i]-this.x[a])+this.y[a]):0},this}function r(){t.controller.control&&t.controller.spline&&(t.controller.spline=void 0,delete t.controller.spline)}s({controller:{control:void 0,inverse:!1,by:"slide"}}),t.controller={control:void 0},a("beforeInit",(()=>{t.controller.control=t.params.controller.control})),a("update",(()=>{r()})),a("resize",(()=>{r()})),a("observerUpdate",(()=>{r()})),a("setTranslate",((e,s,a)=>{t.controller.control&&t.controller.setTranslate(s,a)})),a("setTransition",((e,s,a)=>{t.controller.control&&t.controller.setTransition(s,a)})),Object.assign(t.controller,{setTranslate:function(e,s){const a=t.controller.control;let r,n;const l=t.constructor;function o(e){const s=t.rtlTranslate?-t.translate:t.translate;"slide"===t.params.controller.by&&(!function(e){t.controller.spline||(t.controller.spline=t.params.loop?new i(t.slidesGrid,e.slidesGrid):new i(t.snapGrid,e.snapGrid))}(e),n=-t.controller.spline.interpolate(-s)),n&&"container"!==t.params.controller.by||(r=(e.maxTranslate()-e.minTranslate())/(t.maxTranslate()-t.minTranslate()),n=(s-t.minTranslate())*r+e.minTranslate()),t.params.controller.inverse&&(n=e.maxTranslate()-n),e.updateProgress(n),e.setTranslate(n,t),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(a))for(let e=0;e{s.updateAutoHeight()})),s.$wrapperEl.transitionEnd((()=>{i&&(s.params.loop&&"slide"===t.params.controller.by&&s.loopFix(),s.transitionEnd())})))}if(Array.isArray(i))for(r=0;r{n(e),"BUTTON"!==e[0].tagName&&(o(e,"button"),e.on("keydown",m)),p(e,s),function(e,t){e.attr("aria-controls",t)}(e,t)},w=e=>{const s=e.target.closest(`.${t.params.slideClass}`);if(!s||!t.slides.includes(s))return;const a=t.slides.indexOf(s)===t.activeIndex,i=t.params.watchSlidesProgress&&t.visibleSlides&&t.visibleSlides.includes(s);a||i||(t.isHorizontal()?t.el.scrollLeft=0:t.el.scrollTop=0,t.slideTo(t.slides.indexOf(s),0))},b=()=>{const e=t.params.a11y;e.itemRoleDescriptionMessage&&c(d(t.slides),e.itemRoleDescriptionMessage),e.slideRole&&o(d(t.slides),e.slideRole);const s=t.params.loop?t.slides.filter((e=>!e.classList.contains(t.params.slideDuplicateClass))).length:t.slides.length;e.slideLabelMessage&&t.slides.each(((a,i)=>{const r=d(a),n=t.params.loop?parseInt(r.attr("data-swiper-slide-index"),10):i;p(r,e.slideLabelMessage.replace(/\{\{index\}\}/,n+1).replace(/\{\{slidesLength\}\}/,s))}))},x=()=>{const e=t.params.a11y;t.$el.append(i);const s=t.$el;e.containerRoleDescriptionMessage&&c(s,e.containerRoleDescriptionMessage),e.containerMessage&&p(s,e.containerMessage);const a=t.$wrapperEl,r=e.id||a.attr("id")||`swiper-wrapper-${n=16,void 0===n&&(n=16),"x".repeat(n).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`;var n;const l=t.params.autoplay&&t.params.autoplay.enabled?"off":"polite";var o;let d,u;o=r,a.attr("id",o),function(e,t){e.attr("aria-live",t)}(a,l),b(),t.navigation&&t.navigation.$nextEl&&(d=t.navigation.$nextEl),t.navigation&&t.navigation.$prevEl&&(u=t.navigation.$prevEl),d&&d.length&&v(d,r,e.nextSlideMessage),u&&u.length&&v(u,r,e.prevSlideMessage),g()&&t.pagination.$el.on("keydown",U(t.params.pagination.bulletClass),m),t.$el.on("focus",w,!0)};a("beforeInit",(()=>{i=d(``)})),a("afterInit",(()=>{t.params.a11y.enabled&&x()})),a("slidesLengthChange snapGridLengthChange slidesGridLengthChange",(()=>{t.params.a11y.enabled&&b()})),a("fromEdge toEdge afterInit lock unlock",(()=>{t.params.a11y.enabled&&function(){if(t.params.loop||t.params.rewind||!t.navigation)return;const{$nextEl:e,$prevEl:s}=t.navigation;s&&s.length>0&&(t.isBeginning?(u(s),l(s)):(h(s),n(s))),e&&e.length>0&&(t.isEnd?(u(e),l(e)):(h(e),n(e)))}()})),a("paginationUpdate",(()=>{t.params.a11y.enabled&&function(){const e=t.params.a11y;f()&&t.pagination.bullets.each((s=>{const a=d(s);t.params.pagination.clickable&&(n(a),t.params.pagination.renderBullet||(o(a,"button"),p(a,e.paginationBulletMessage.replace(/\{\{index\}\}/,a.index()+1)))),a.is(`.${t.params.pagination.bulletActiveClass}`)?a.attr("aria-current","true"):a.removeAttr("aria-current")}))}()})),a("destroy",(()=>{t.params.a11y.enabled&&function(){let e,s;i&&i.length>0&&i.remove(),t.navigation&&t.navigation.$nextEl&&(e=t.navigation.$nextEl),t.navigation&&t.navigation.$prevEl&&(s=t.navigation.$prevEl),e&&e.off("keydown",m),s&&s.off("keydown",m),g()&&t.pagination.$el.off("keydown",U(t.params.pagination.bulletClass),m),t.$el.off("focus",w,!0)}()}))},function(e){let{swiper:t,extendParams:s,on:a}=e;s({history:{enabled:!1,root:"",replaceState:!1,key:"slides",keepQuery:!1}});let i=!1,n={};const l=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),o=e=>{const t=r();let s;s=e?new URL(e):t.location;const a=s.pathname.slice(1).split("/").filter((e=>""!==e)),i=a.length;return{key:a[i-2],value:a[i-1]}},d=(e,s)=>{const a=r();if(!i||!t.params.history.enabled)return;let n;n=t.params.url?new URL(t.params.url):a.location;const o=t.slides.eq(s);let d=l(o.attr("data-history"));if(t.params.history.root.length>0){let s=t.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${e}/${d}`}else n.pathname.includes(e)||(d=`${e}/${d}`);t.params.history.keepQuery&&(d+=n.search);const c=a.history.state;c&&c.value===d||(t.params.history.replaceState?a.history.replaceState({value:d},null,d):a.history.pushState({value:d},null,d))},c=(e,s,a)=>{if(s)for(let i=0,r=t.slides.length;i{n=o(t.params.url),c(t.params.speed,n.value,!1)};a("init",(()=>{t.params.history.enabled&&(()=>{const e=r();if(t.params.history){if(!e.history||!e.history.pushState)return t.params.history.enabled=!1,void(t.params.hashNavigation.enabled=!0);i=!0,n=o(t.params.url),(n.key||n.value)&&(c(0,n.value,t.params.runCallbacksOnInit),t.params.history.replaceState||e.addEventListener("popstate",p))}})()})),a("destroy",(()=>{t.params.history.enabled&&(()=>{const e=r();t.params.history.replaceState||e.removeEventListener("popstate",p)})()})),a("transitionEnd _freeModeNoMomentumRelease",(()=>{i&&d(t.params.history.key,t.activeIndex)})),a("slideChange",(()=>{i&&t.params.cssMode&&d(t.params.history.key,t.activeIndex)}))},function(e){let{swiper:t,extendParams:s,emit:i,on:n}=e,l=!1;const o=a(),c=r();s({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}});const p=()=>{i("hashChange");const e=o.location.hash.replace("#","");if(e!==t.slides.eq(t.activeIndex).attr("data-hash")){const s=t.$wrapperEl.children(`.${t.params.slideClass}[data-hash="${e}"]`).index();if(void 0===s)return;t.slideTo(s)}},u=()=>{if(l&&t.params.hashNavigation.enabled)if(t.params.hashNavigation.replaceState&&c.history&&c.history.replaceState)c.history.replaceState(null,null,`#${t.slides.eq(t.activeIndex).attr("data-hash")}`||""),i("hashSet");else{const e=t.slides.eq(t.activeIndex),s=e.attr("data-hash")||e.attr("data-history");o.location.hash=s||"",i("hashSet")}};n("init",(()=>{t.params.hashNavigation.enabled&&(()=>{if(!t.params.hashNavigation.enabled||t.params.history&&t.params.history.enabled)return;l=!0;const e=o.location.hash.replace("#","");if(e){const s=0;for(let a=0,i=t.slides.length;a{t.params.hashNavigation.enabled&&t.params.hashNavigation.watchState&&d(c).off("hashchange",p)})),n("transitionEnd _freeModeNoMomentumRelease",(()=>{l&&u()})),n("slideChange",(()=>{l&&t.params.cssMode&&u()}))},function(e){let t,{swiper:s,extendParams:i,on:r,emit:n}=e;function l(){if(!s.size)return s.autoplay.running=!1,void(s.autoplay.paused=!1);const e=s.slides.eq(s.activeIndex);let a=s.params.autoplay.delay;e.attr("data-swiper-autoplay")&&(a=e.attr("data-swiper-autoplay")||s.params.autoplay.delay),clearTimeout(t),t=p((()=>{let e;s.params.autoplay.reverseDirection?s.params.loop?(s.loopFix(),e=s.slidePrev(s.params.speed,!0,!0),n("autoplay")):s.isBeginning?s.params.autoplay.stopOnLastSlide?d():(e=s.slideTo(s.slides.length-1,s.params.speed,!0,!0),n("autoplay")):(e=s.slidePrev(s.params.speed,!0,!0),n("autoplay")):s.params.loop?(s.loopFix(),e=s.slideNext(s.params.speed,!0,!0),n("autoplay")):s.isEnd?s.params.autoplay.stopOnLastSlide?d():(e=s.slideTo(0,s.params.speed,!0,!0),n("autoplay")):(e=s.slideNext(s.params.speed,!0,!0),n("autoplay")),(s.params.cssMode&&s.autoplay.running||!1===e)&&l()}),a)}function o(){return void 0===t&&(!s.autoplay.running&&(s.autoplay.running=!0,n("autoplayStart"),l(),!0))}function d(){return!!s.autoplay.running&&(void 0!==t&&(t&&(clearTimeout(t),t=void 0),s.autoplay.running=!1,n("autoplayStop"),!0))}function c(e){s.autoplay.running&&(s.autoplay.paused||(t&&clearTimeout(t),s.autoplay.paused=!0,0!==e&&s.params.autoplay.waitForTransition?["transitionend","webkitTransitionEnd"].forEach((e=>{s.$wrapperEl[0].addEventListener(e,h)})):(s.autoplay.paused=!1,l())))}function u(){const e=a();"hidden"===e.visibilityState&&s.autoplay.running&&c(),"visible"===e.visibilityState&&s.autoplay.paused&&(l(),s.autoplay.paused=!1)}function h(e){s&&!s.destroyed&&s.$wrapperEl&&e.target===s.$wrapperEl[0]&&(["transitionend","webkitTransitionEnd"].forEach((e=>{s.$wrapperEl[0].removeEventListener(e,h)})),s.autoplay.paused=!1,s.autoplay.running?l():d())}function m(){s.params.autoplay.disableOnInteraction?d():(n("autoplayPause"),c()),["transitionend","webkitTransitionEnd"].forEach((e=>{s.$wrapperEl[0].removeEventListener(e,h)}))}function f(){s.params.autoplay.disableOnInteraction||(s.autoplay.paused=!1,n("autoplayResume"),l())}s.autoplay={running:!1,paused:!1},i({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}}),r("init",(()=>{if(s.params.autoplay.enabled){o();a().addEventListener("visibilitychange",u),s.params.autoplay.pauseOnMouseEnter&&(s.$el.on("mouseenter",m),s.$el.on("mouseleave",f))}})),r("beforeTransitionStart",((e,t,a)=>{s.autoplay.running&&(a||!s.params.autoplay.disableOnInteraction?s.autoplay.pause(t):d())})),r("sliderFirstMove",(()=>{s.autoplay.running&&(s.params.autoplay.disableOnInteraction?d():c())})),r("touchEnd",(()=>{s.params.cssMode&&s.autoplay.paused&&!s.params.autoplay.disableOnInteraction&&l()})),r("destroy",(()=>{s.$el.off("mouseenter",m),s.$el.off("mouseleave",f),s.autoplay.running&&d();a().removeEventListener("visibilitychange",u)})),Object.assign(s.autoplay,{pause:c,run:l,start:o,stop:d})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let i=!1,r=!1;function n(){const e=t.thumbs.swiper;if(!e||e.destroyed)return;const s=e.clickedIndex,a=e.clickedSlide;if(a&&d(a).hasClass(t.params.thumbs.slideThumbActiveClass))return;if(null==s)return;let i;if(i=e.params.loop?parseInt(d(e.clickedSlide).attr("data-swiper-slide-index"),10):s,t.params.loop){let e=t.activeIndex;t.slides.eq(e).hasClass(t.params.slideDuplicateClass)&&(t.loopFix(),t._clientLeft=t.$wrapperEl[0].clientLeft,e=t.activeIndex);const s=t.slides.eq(e).prevAll(`[data-swiper-slide-index="${i}"]`).eq(0).index(),a=t.slides.eq(e).nextAll(`[data-swiper-slide-index="${i}"]`).eq(0).index();i=void 0===s?a:void 0===a?s:a-e1&&!t.params.centeredSlides&&(i=t.params.slidesPerView),t.params.thumbs.multipleActiveThumbs||(i=1),i=Math.floor(i),s.slides.removeClass(r),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let e=0;e1?a:o:a-ot.previousIndex?"next":"prev"}else i=t.realIndex,r=i>t.previousIndex?"next":"prev";l&&(i+="next"===r?n:-1*n),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(i)<0&&(s.params.centeredSlides?i=i>o?i-Math.floor(a/2)+1:i+Math.floor(a/2)-1:i>o&&s.params.slidesPerGroup,s.slideTo(i,e?0:void 0))}}t.thumbs={swiper:null},a("beforeInit",(()=>{const{thumbs:e}=t.params;e&&e.swiper&&(l(),o(!0))})),a("slideChange update resize observerUpdate",(()=>{o()})),a("setTransition",((e,s)=>{const a=t.thumbs.swiper;a&&!a.destroyed&&a.setTransition(s)})),a("beforeDestroy",(()=>{const e=t.thumbs.swiper;e&&!e.destroyed&&r&&e.destroy()})),Object.assign(t.thumbs,{init:l,update:o})},function(e){let{swiper:t,extendParams:s,emit:a,once:i}=e;s({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(t,{freeMode:{onTouchStart:function(){const e=t.getTranslate();t.setTranslate(e),t.setTransition(0),t.touchEventsData.velocities.length=0,t.freeMode.onTouchEnd({currentPos:t.rtl?t.translate:-t.translate})},onTouchMove:function(){const{touchEventsData:e,touches:s}=t;0===e.velocities.length&&e.velocities.push({position:s[t.isHorizontal()?"startX":"startY"],time:e.touchStartTime}),e.velocities.push({position:s[t.isHorizontal()?"currentX":"currentY"],time:u()})},onTouchEnd:function(e){let{currentPos:s}=e;const{params:r,$wrapperEl:n,rtlTranslate:l,snapGrid:o,touchEventsData:d}=t,c=u()-d.touchStartTime;if(s<-t.minTranslate())t.slideTo(t.activeIndex);else if(s>-t.maxTranslate())t.slides.length1){const e=d.velocities.pop(),s=d.velocities.pop(),a=e.position-s.position,i=e.time-s.time;t.velocity=a/i,t.velocity/=2,Math.abs(t.velocity)150||u()-e.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=r.freeMode.momentumVelocityRatio,d.velocities.length=0;let e=1e3*r.freeMode.momentumRatio;const s=t.velocity*e;let c=t.translate+s;l&&(c=-c);let p,h=!1;const m=20*Math.abs(t.velocity)*r.freeMode.momentumBounceRatio;let f;if(ct.minTranslate())r.freeMode.momentumBounce?(c-t.minTranslate()>m&&(c=t.minTranslate()+m),p=t.minTranslate(),h=!0,d.allowMomentumBounce=!0):c=t.minTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(r.freeMode.sticky){let e;for(let t=0;t-c){e=t;break}c=Math.abs(o[e]-c){t.loopFix()})),0!==t.velocity){if(e=l?Math.abs((-c-t.translate)/t.velocity):Math.abs((c-t.translate)/t.velocity),r.freeMode.sticky){const s=Math.abs((l?-c:c)-t.translate),a=t.slidesSizesGrid[t.activeIndex];e=s{t&&!t.destroyed&&d.allowMomentumBounce&&(a("momentumBounce"),t.setTransition(r.speed),setTimeout((()=>{t.setTranslate(p),n.transitionEnd((()=>{t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(a("_freeModeNoMomentumRelease"),t.updateProgress(c),t.setTransition(e),t.setTranslate(c),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,n.transitionEnd((()=>{t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(c),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode&&a("_freeModeNoMomentumRelease")}(!r.freeMode.momentum||c>=r.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}}}})},function(e){let t,s,a,{swiper:i,extendParams:r}=e;r({grid:{rows:1,fill:"column"}}),i.grid={initSlides:e=>{const{slidesPerView:r}=i.params,{rows:n,fill:l}=i.params.grid;s=t/n,a=Math.floor(e/n),t=Math.floor(e/n)===e/n?e:Math.ceil(e/n)*n,"auto"!==r&&"row"===l&&(t=Math.max(t,r*n))},updateSlide:(e,r,n,l)=>{const{slidesPerGroup:o,spaceBetween:d}=i.params,{rows:c,fill:p}=i.params.grid;let u,h,m;if("row"===p&&o>1){const s=Math.floor(e/(o*c)),a=e-c*o*s,i=0===s?o:Math.min(Math.ceil((n-s*c*o)/c),o);m=Math.floor(a/i),h=a-m*i+s*o,u=h+m*t/c,r.css({"-webkit-order":u,order:u})}else"column"===p?(h=Math.floor(e/c),m=e-h*c,(h>a||h===a&&m===c-1)&&(m+=1,m>=c&&(m=0,h+=1))):(m=Math.floor(e/s),h=e-m*s);r.css(l("margin-top"),0!==m?d&&`${d}px`:"")},updateWrapperSize:(e,s,a)=>{const{spaceBetween:r,centeredSlides:n,roundLengths:l}=i.params,{rows:o}=i.params.grid;if(i.virtualSize=(e+r)*t,i.virtualSize=Math.ceil(i.virtualSize/o)-r,i.$wrapperEl.css({[a("width")]:`${i.virtualSize+r}px`}),n){s.splice(0,s.length);const e=[];for(let t=0;t{const{slides:e}=t,s=t.params.fadeEffect;for(let a=0;a{const{transformEl:s}=t.params.fadeEffect;(s?t.slides.find(s):t.slides).transition(e),ae({swiper:t,duration:e,transformEl:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}});const i=(e,t,s)=>{let a=s?e.find(".swiper-slide-shadow-left"):e.find(".swiper-slide-shadow-top"),i=s?e.find(".swiper-slide-shadow-right"):e.find(".swiper-slide-shadow-bottom");0===a.length&&(a=d(`
`),e.append(a)),0===i.length&&(i=d(`
`),e.append(i)),a.length&&(a[0].style.opacity=Math.max(-t,0)),i.length&&(i[0].style.opacity=Math.max(t,0))};te({effect:"cube",swiper:t,on:a,setTranslate:()=>{const{$el:e,$wrapperEl:s,slides:a,width:r,height:n,rtlTranslate:l,size:o,browser:c}=t,p=t.params.cubeEffect,u=t.isHorizontal(),h=t.virtual&&t.params.virtual.enabled;let m,f=0;p.shadow&&(u?(m=s.find(".swiper-cube-shadow"),0===m.length&&(m=d('
'),s.append(m)),m.css({height:`${r}px`})):(m=e.find(".swiper-cube-shadow"),0===m.length&&(m=d('
'),e.append(m))));for(let e=0;e-1&&(f=90*s+90*d,l&&(f=90*-s-90*d)),t.transform(v),p.slideShadows&&i(t,d,u)}if(s.css({"-webkit-transform-origin":`50% 50% -${o/2}px`,"transform-origin":`50% 50% -${o/2}px`}),p.shadow)if(u)m.transform(`translate3d(0px, ${r/2+p.shadowOffset}px, ${-r/2}px) rotateX(90deg) rotateZ(0deg) scale(${p.shadowScale})`);else{const e=Math.abs(f)-90*Math.floor(Math.abs(f)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=p.shadowScale,a=p.shadowScale/t,i=p.shadowOffset;m.transform(`scale3d(${s}, 1, ${a}) translate3d(0px, ${n/2+i}px, ${-n/2/a}px) rotateX(-90deg)`)}const g=c.isSafari||c.isWebView?-o/2:0;s.transform(`translate3d(0px,0,${g}px) rotateX(${t.isHorizontal()?0:f}deg) rotateY(${t.isHorizontal()?-f:0}deg)`),s[0].style.setProperty("--swiper-cube-translate-z",`${g}px`)},setTransition:e=>{const{$el:s,slides:a}=t;a.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),t.params.cubeEffect.shadow&&!t.isHorizontal()&&s.find(".swiper-cube-shadow").transition(e)},recreateShadows:()=>{const e=t.isHorizontal();t.slides.each((t=>{const s=Math.max(Math.min(t.progress,1),-1);i(d(t),s,e)}))},getEffectParams:()=>t.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({flipEffect:{slideShadows:!0,limitRotation:!0,transformEl:null}});const i=(e,s,a)=>{let i=t.isHorizontal()?e.find(".swiper-slide-shadow-left"):e.find(".swiper-slide-shadow-top"),r=t.isHorizontal()?e.find(".swiper-slide-shadow-right"):e.find(".swiper-slide-shadow-bottom");0===i.length&&(i=ie(a,e,t.isHorizontal()?"left":"top")),0===r.length&&(r=ie(a,e,t.isHorizontal()?"right":"bottom")),i.length&&(i[0].style.opacity=Math.max(-s,0)),r.length&&(r[0].style.opacity=Math.max(s,0))};te({effect:"flip",swiper:t,on:a,setTranslate:()=>{const{slides:e,rtlTranslate:s}=t,a=t.params.flipEffect;for(let r=0;r{const{transformEl:s}=t.params.flipEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),ae({swiper:t,duration:e,transformEl:s})},recreateShadows:()=>{const e=t.params.flipEffect;t.slides.each((s=>{const a=d(s);let r=a[0].progress;t.params.flipEffect.limitRotation&&(r=Math.max(Math.min(s.progress,1),-1)),i(a,r,e)}))},getEffectParams:()=>t.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0,transformEl:null}}),te({effect:"coverflow",swiper:t,on:a,setTranslate:()=>{const{width:e,height:s,slides:a,slidesSizesGrid:i}=t,r=t.params.coverflowEffect,n=t.isHorizontal(),l=t.translate,o=n?e/2-l:s/2-l,d=n?r.rotate:-r.rotate,c=r.depth;for(let e=0,t=a.length;e0?p:0),s.length&&(s[0].style.opacity=-p>0?-p:0)}}},setTransition:e=>{const{transformEl:s}=t.params.coverflowEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({creativeEffect:{transformEl:null,limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const i=e=>"string"==typeof e?e:`${e}px`;te({effect:"creative",swiper:t,on:a,setTranslate:()=>{const{slides:e,$wrapperEl:s,slidesSizesGrid:a}=t,r=t.params.creativeEffect,{progressMultiplier:n}=r,l=t.params.centeredSlides;if(l){const e=a[0]/2-t.params.slidesOffsetBefore||0;s.transform(`translateX(calc(50% - ${e}px))`)}for(let s=0;s0&&(f=r.prev,m=!0),u.forEach(((e,t)=>{u[t]=`calc(${e}px + (${i(f.translate[t])} * ${Math.abs(d*n)}))`})),h.forEach(((e,t)=>{h[t]=f.rotate[t]*Math.abs(d*n)})),a[0].style.zIndex=-Math.abs(Math.round(o))+e.length;const g=u.join(", "),v=`rotateX(${h[0]}deg) rotateY(${h[1]}deg) rotateZ(${h[2]}deg)`,w=c<0?`scale(${1+(1-f.scale)*c*n})`:`scale(${1-(1-f.scale)*c*n})`,b=c<0?1+(1-f.opacity)*c*n:1-(1-f.opacity)*c*n,x=`translate3d(${g}) ${v} ${w}`;if(m&&f.shadow||!m){let e=a.children(".swiper-slide-shadow");if(0===e.length&&f.shadow&&(e=ie(r,a)),e.length){const t=r.shadowPerProgress?d*(1/r.limitProgress):d;e[0].style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const y=se(r,a);y.transform(x).css({opacity:b}),f.origin&&y.css("transform-origin",f.origin)}},setTransition:e=>{const{transformEl:s}=t.params.creativeEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow").transition(e),ae({swiper:t,duration:e,transformEl:s,allSlides:!0})},perspective:()=>t.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cardsEffect:{slideShadows:!0,transformEl:null,rotate:!0}}),te({effect:"cards",swiper:t,on:a,setTranslate:()=>{const{slides:e,activeIndex:s}=t,a=t.params.cardsEffect,{startTranslate:i,isTouched:r}=t.touchEventsData,n=t.translate;for(let l=0;l0&&c<1&&(r||t.params.cssMode)&&n-1&&(r||t.params.cssMode)&&n>i;if(b||x){const e=(1-Math.abs((Math.abs(c)-.5)/.5))**.5;g+=-28*c*e,f+=-.5*e,v+=96*e,h=-25*e*Math.abs(c)+"%"}if(u=c<0?`calc(${u}px + (${v*Math.abs(c)}%))`:c>0?`calc(${u}px + (-${v*Math.abs(c)}%))`:`${u}px`,!t.isHorizontal()){const e=h;h=u,u=e}const y=c<0?""+(1+(1-f)*c):""+(1-(1-f)*c),E=`\n translate3d(${u}, ${h}, ${m}px)\n rotateZ(${a.rotate?g:0}deg)\n scale(${y})\n `;if(a.slideShadows){let e=o.find(".swiper-slide-shadow");0===e.length&&(e=ie(a,o)),e.length&&(e[0].style.opacity=Math.min(Math.max((Math.abs(c)-.5)/.5,0),1))}o[0].style.zIndex=-Math.abs(Math.round(d))+e.length;se(a,o).transform(E)}},setTransition:e=>{const{transformEl:s}=t.params.cardsEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow").transition(e),ae({swiper:t,duration:e,transformEl:s})},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})}];return V.use(re),V})); +//# sourceMappingURL=swiper-bundle.min.js.map + + +// @fancyapps/ui/Fancybox v4.0.31 +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).window=t.window||{})}(this,(function(t){"use strict";function e(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function i(t){for(var i=1;it.length)&&(e=t.length);for(var i=0,n=new Array(e);i=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,r=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){r=!0,a=t},f:function(){try{s||null==i.return||i.return()}finally{if(r)throw a}}}}var w=function(t){return"object"===n(t)&&null!==t&&t.constructor===Object&&"[object Object]"===Object.prototype.toString.call(t)},k=function t(){for(var e=!1,i=arguments.length,o=new Array(i),a=0;a1&&void 0!==arguments[1]?arguments[1]:1e4;return t=parseFloat(t)||0,Math.round((t+Number.EPSILON)*e)/e},C=function t(e){return!!(e&&"object"===n(e)&&e instanceof Element&&e!==document.body)&&(!e.__Panzoom&&(function(t){var e=getComputedStyle(t)["overflow-y"],i=getComputedStyle(t)["overflow-x"],n=("scroll"===e||"auto"===e)&&Math.abs(t.scrollHeight-t.clientHeight)>1,o=("scroll"===i||"auto"===i)&&Math.abs(t.scrollWidth-t.clientWidth)>1;return n||o}(e)?e:t(e.parentNode)))},$="undefined"!=typeof window&&window.ResizeObserver||function(){function t(e){o(this,t),this.observables=[],this.boundCheck=this.check.bind(this),this.boundCheck(),this.callback=e}return s(t,[{key:"observe",value:function(t){if(!this.observables.some((function(e){return e.el===t}))){var e={el:t,size:{height:t.clientHeight,width:t.clientWidth}};this.observables.push(e)}}},{key:"unobserve",value:function(t){this.observables=this.observables.filter((function(e){return e.el!==t}))}},{key:"disconnect",value:function(){this.observables=[]}},{key:"check",value:function(){var t=this.observables.filter((function(t){var e=t.el.clientHeight,i=t.el.clientWidth;if(t.size.height!==e||t.size.width!==i)return t.size.height=e,t.size.width=i,!0})).map((function(t){return t.el}));t.length>0&&this.callback(t),window.requestAnimationFrame(this.boundCheck)}}]),t}(),E=s((function t(e){o(this,t),this.id=self.Touch&&e instanceof Touch?e.identifier:-1,this.pageX=e.pageX,this.pageY=e.pageY,this.clientX=e.clientX,this.clientY=e.clientY})),P=function(t,e){return e?Math.sqrt(Math.pow(e.clientX-t.clientX,2)+Math.pow(e.clientY-t.clientY,2)):0},T=function(t,e){return e?{clientX:(t.clientX+e.clientX)/2,clientY:(t.clientY+e.clientY)/2}:t},L=function(t){return"changedTouches"in t},_=function(){function t(e){var i=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=n.start,s=void 0===a?function(){return!0}:a,r=n.move,l=void 0===r?function(){}:r,c=n.end,h=void 0===c?function(){}:c;o(this,t),this._element=e,this.startPointers=[],this.currentPointers=[],this._pointerStart=function(t){if(!(t.buttons>0&&0!==t.button)){var e=new E(t);i.currentPointers.some((function(t){return t.id===e.id}))||i._triggerPointerStart(e,t)&&(window.addEventListener("mousemove",i._move),window.addEventListener("mouseup",i._pointerEnd))}},this._touchStart=function(t){for(var e=0,n=Array.from(t.changedTouches||[]);e0&&0!==t.button||i._triggerPointerEnd(new E(t),t)&&(window.removeEventListener("mousemove",i._move,{passive:!1}),window.removeEventListener("mouseup",i._pointerEnd,{passive:!1}))},this._touchEnd=function(t){for(var e=0,n=Array.from(t.changedTouches||[]);e0&&void 0!==arguments[0]?arguments[0]:{};o(this,t),this.options=k(!0,{},e),this.plugins=[],this.events={};for(var i=0,n=["on","once"];i2?o-2:0),s=2;s1&&void 0!==arguments[1]?arguments[1]:[];return t=(t=String(t).replace(/\{\{(\w+).?(\w+)?\}\}/g,(function(t,n,o){var a="";o?a=e.option("".concat(n[0]+n.toLowerCase().substring(1),".l10n.").concat(o)):n&&(a=e.option("l10n.".concat(n))),a||(a=t);for(var s=0;s1?e-1:0),n=1;n1&&void 0!==arguments[1]?arguments[1]:{};o(this,n),(i=e.call(this,k(!0,{},z,a))).state="init",i.$container=t;for(var s=0,r=["onLoad","onWheel","onClick"];s1||Math.abs(e.left-this.dragStart.rect.left)>1))return t.preventDefault(),void t.stopPropagation();!1!==this.trigger("click",t)&&this.option("zoom")&&"toggleZoom"===this.option("click")&&(t.preventDefault(),t.stopPropagation(),this.zoomWithClick(t))}else t.stopPropagation()}},{key:"onWheel",value:function(t){!1!==this.trigger("wheel",t)&&this.option("zoom")&&this.option("wheel")&&this.zoomWithWheel(t)}},{key:"zoomWithWheel",value:function(t){void 0===this.changedDelta&&(this.changedDelta=0);var e=Math.max(-1,Math.min(1,-t.deltaY||-t.deltaX||t.wheelDelta||-t.detail)),i=this.content.scale,n=i*(100+e*this.option("wheelFactor"))/100;if(e<0&&Math.abs(i-this.option("minScale"))<.01||e>0&&Math.abs(i-this.option("maxScale"))<.01?(this.changedDelta+=Math.abs(e),n=i):(this.changedDelta=0,n=Math.max(Math.min(n,this.option("maxScale")),this.option("minScale"))),!(this.changedDelta>this.option("wheelLimit"))&&(t.preventDefault(),n!==i)){var o=this.$content.getBoundingClientRect(),a=t.clientX-o.left,s=t.clientY-o.top;this.zoomTo(n,{x:a,y:s})}}},{key:"zoomWithClick",value:function(t){var e=this.$content.getClientRects()[0],i=t.clientX-e.left,n=t.clientY-e.top;this.toggleZoom({x:i,y:n})}},{key:"attachEvents",value:function(){var t=this;this.$content.addEventListener("load",this.onLoad),this.$container.addEventListener("wheel",this.onWheel,{passive:!1}),this.$container.addEventListener("click",this.onClick,{passive:!1}),this.initObserver();var e=new _(this.$container,{start:function(i,n){if(!t.option("touch"))return!1;if(t.velocity.scale<0)return!1;var o=n.composedPath()[0];if(!e.currentPointers.length){if(-1!==["BUTTON","TEXTAREA","OPTION","INPUT","SELECT","VIDEO"].indexOf(o.nodeName))return!1;if(t.option("textSelection")&&function(t,e,i){for(var n=t.childNodes,o=document.createRange(),a=0;a=r.left&&i>=r.top&&e<=r.right&&i<=r.bottom)return s}}return!1}(o,i.clientX,i.clientY))return!1}return!C(o)&&(!1!==t.trigger("touchStart",n)&&("mousedown"===n.type&&n.preventDefault(),t.state="pointerdown",t.resetDragPosition(),t.dragPosition.midPoint=null,t.dragPosition.time=Date.now(),!0))},move:function(i,n,o){if("pointerdown"===t.state)if(!1!==t.trigger("touchMove",o)){if(!(n.length<2&&!0===t.option("panOnlyZoomed")&&t.content.width<=t.viewport.width&&t.content.height<=t.viewport.height&&t.transform.scale<=t.option("baseScale"))&&(!(n.length>1)||t.option("zoom")&&!1!==t.option("pinchToZoom"))){var a=T(i[0],i[1]),s=T(n[0],n[1]),r=s.clientX-a.clientX,l=s.clientY-a.clientY,c=P(i[0],i[1]),h=P(n[0],n[1]),d=c&&h?h/c:1;t.dragOffset.x+=r,t.dragOffset.y+=l,t.dragOffset.scale*=d,t.dragOffset.time=Date.now()-t.dragPosition.time;var u=1===t.dragStart.scale&&t.option("lockAxis");if(u&&!t.lockAxis){if(Math.abs(t.dragOffset.x)<6&&Math.abs(t.dragOffset.y)<6)return void o.preventDefault();var f=Math.abs(180*Math.atan2(t.dragOffset.y,t.dragOffset.x)/Math.PI);t.lockAxis=f>45&&f<135?"y":"x"}if("xy"===u||"y"!==t.lockAxis){if(o.preventDefault(),o.stopPropagation(),o.stopImmediatePropagation(),t.lockAxis&&(t.dragOffset["x"===t.lockAxis?"y":"x"]=0),t.$container.classList.add(t.option("draggingClass")),t.transform.scale===t.option("baseScale")&&"y"===t.lockAxis||(t.dragPosition.x=t.dragStart.x+t.dragOffset.x),t.transform.scale===t.option("baseScale")&&"x"===t.lockAxis||(t.dragPosition.y=t.dragStart.y+t.dragOffset.y),t.dragPosition.scale=t.dragStart.scale*t.dragOffset.scale,n.length>1){var v=T(e.startPointers[0],e.startPointers[1]),p=v.clientX-t.dragStart.rect.x,g=v.clientY-t.dragStart.rect.y,m=t.getZoomDelta(t.content.scale*t.dragOffset.scale,p,g),y=m.deltaX,b=m.deltaY;t.dragPosition.x-=y,t.dragPosition.y-=b,t.dragPosition.midPoint=s}else t.setDragResistance();t.transform={x:t.dragPosition.x,y:t.dragPosition.y,scale:t.dragPosition.scale},t.startAnimation()}}}else o.preventDefault()},end:function(n,o){if("pointerdown"===t.state)if(t._dragOffset=i({},t.dragOffset),e.currentPointers.length)t.resetDragPosition();else if(t.state="decel",t.friction=t.option("decelFriction"),t.recalculateTransform(),t.$container.classList.remove(t.option("draggingClass")),!1!==t.trigger("touchEnd",o)&&"decel"===t.state){var a=t.option("minScale");if(t.transform.scale.01){var r=t.dragPosition.midPoint||n,l=t.$content.getClientRects()[0];t.zoomTo(s,{friction:.64,x:r.clientX-l.left,y:r.clientY-l.top})}else;}}}});this.pointerTracker=e}},{key:"initObserver",value:function(){var t=this;this.resizeObserver||(this.resizeObserver=new $((function(){t.updateTimer||(t.updateTimer=setTimeout((function(){var e=t.$container.getBoundingClientRect();e.width&&e.height?((Math.abs(e.width-t.container.width)>1||Math.abs(e.height-t.container.height)>1)&&(t.isAnimating()&&t.endAnimation(!0),t.updateMetrics(),t.panTo({x:t.content.x,y:t.content.y,scale:t.option("baseScale"),friction:0})),t.updateTimer=null):t.updateTimer=null}),t.updateRate))})),this.resizeObserver.observe(this.$container))}},{key:"resetDragPosition",value:function(){this.lockAxis=null,this.friction=this.option("friction"),this.velocity={x:0,y:0,scale:0};var t=this.content,e=t.x,n=t.y,o=t.scale;this.dragStart={rect:this.$content.getBoundingClientRect(),x:e,y:n,scale:o},this.dragPosition=i(i({},this.dragPosition),{},{x:e,y:n,scale:o}),this.dragOffset={x:0,y:0,scale:1,time:0}}},{key:"updateMetrics",value:function(t){!0!==t&&this.trigger("beforeUpdate");var e,n=this.$container,o=this.$content,a=this.$viewport,s=o instanceof HTMLImageElement,r=this.option("zoom"),l=this.option("resizeParent",r),c=this.option("width"),h=this.option("height"),d=c||(e=o,Math.max(parseFloat(e.naturalWidth||0),parseFloat(e.width&&e.width.baseVal&&e.width.baseVal.value||0),parseFloat(e.offsetWidth||0),parseFloat(e.scrollWidth||0))),u=h||function(t){return Math.max(parseFloat(t.naturalHeight||0),parseFloat(t.height&&t.height.baseVal&&t.height.baseVal.value||0),parseFloat(t.offsetHeight||0),parseFloat(t.scrollHeight||0))}(o);Object.assign(o.style,{width:c?"".concat(c,"px"):"",height:h?"".concat(h,"px"):"",maxWidth:"",maxHeight:""}),l&&Object.assign(a.style,{width:"",height:""});var f=this.option("ratio");c=d=S(d*f),h=u=S(u*f);var v=o.getBoundingClientRect(),p=a.getBoundingClientRect(),g=a==n?p:n.getBoundingClientRect(),m=Math.max(a.offsetWidth,S(p.width)),y=Math.max(a.offsetHeight,S(p.height)),b=window.getComputedStyle(a);if(m-=parseFloat(b.paddingLeft)+parseFloat(b.paddingRight),y-=parseFloat(b.paddingTop)+parseFloat(b.paddingBottom),this.viewport.width=m,this.viewport.height=y,r){if(Math.abs(d-v.width)>.1||Math.abs(u-v.height)>.1){var x=function(t,e,i,n){var o=Math.min(i/t||0,n/e);return{width:t*o||0,height:e*o||0}}(d,u,Math.min(d,v.width),Math.min(u,v.height));c=S(x.width),h=S(x.height)}Object.assign(o.style,{width:"".concat(c,"px"),height:"".concat(h,"px"),transform:""})}if(l&&(Object.assign(a.style,{width:"".concat(c,"px"),height:"".concat(h,"px")}),this.viewport=i(i({},this.viewport),{},{width:c,height:h})),s&&r&&"function"!=typeof this.options.maxScale){var w=this.option("maxScale");this.options.maxScale=function(){return this.content.origWidth>0&&this.content.fitWidth>0?this.content.origWidth/this.content.fitWidth:w}}this.content=i(i({},this.content),{},{origWidth:d,origHeight:u,fitWidth:c,fitHeight:h,width:c,height:h,scale:1,isZoomable:r}),this.container={width:g.width,height:g.height},!0!==t&&this.trigger("afterUpdate")}},{key:"zoomIn",value:function(t){this.zoomTo(this.content.scale+(t||this.option("step")))}},{key:"zoomOut",value:function(t){this.zoomTo(this.content.scale-(t||this.option("step")))}},{key:"toggleZoom",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.option("maxScale"),i=this.option("baseScale"),n=this.content.scale>i+.5*(e-i)?i:e;this.zoomTo(n,t)}},{key:"zoomTo",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.option("baseScale"),e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=e.x,n=void 0===i?null:i,o=e.y,a=void 0===o?null:o;t=Math.max(Math.min(t,this.option("maxScale")),this.option("minScale"));var s=S(this.content.scale/(this.content.width/this.content.fitWidth),1e7);null===n&&(n=this.content.width*s*.5),null===a&&(a=this.content.height*s*.5);var r=this.getZoomDelta(t,n,a),l=r.deltaX,c=r.deltaY;n=this.content.x-l,a=this.content.y-c,this.panTo({x:n,y:a,scale:t,friction:this.option("zoomFriction")})}},{key:"getZoomDelta",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=this.content.fitWidth*this.content.scale,o=this.content.fitHeight*this.content.scale,a=e>0&&n?e/n:0,s=i>0&&o?i/o:0,r=this.content.fitWidth*t,l=this.content.fitHeight*t,c=(r-n)*a,h=(l-o)*s;return{deltaX:c,deltaY:h}}},{key:"panTo",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.x,n=void 0===e?this.content.x:e,o=t.y,a=void 0===o?this.content.y:o,s=t.scale,r=t.friction,l=void 0===r?this.option("friction"):r,c=t.ignoreBounds,h=void 0!==c&&c;if(s=s||this.content.scale||1,!h){var d=this.getBounds(s),u=d.boundX,f=d.boundY;u&&(n=Math.max(Math.min(n,u.to),u.from)),f&&(a=Math.max(Math.min(a,f.to),f.from))}this.friction=l,this.transform=i(i({},this.transform),{},{x:n,y:a,scale:s}),l?(this.state="panning",this.velocity={x:(1/this.friction-1)*(n-this.content.x),y:(1/this.friction-1)*(a-this.content.y),scale:(1/this.friction-1)*(s-this.content.scale)},this.startAnimation()):this.endAnimation()}},{key:"startAnimation",value:function(){var t=this;this.rAF?cancelAnimationFrame(this.rAF):this.trigger("startAnimation"),this.rAF=requestAnimationFrame((function(){return t.animate()}))}},{key:"animate",value:function(){var t=this;if(this.setEdgeForce(),this.setDragForce(),this.velocity.x*=this.friction,this.velocity.y*=this.friction,this.velocity.scale*=this.friction,this.content.x+=this.velocity.x,this.content.y+=this.velocity.y,this.content.scale+=this.velocity.scale,this.isAnimating())this.setTransform();else if("pointerdown"!==this.state)return void this.endAnimation();this.rAF=requestAnimationFrame((function(){return t.animate()}))}},{key:"getBounds",value:function(t){var e=this.boundX,i=this.boundY;if(void 0!==e&&void 0!==i)return{boundX:e,boundY:i};e={from:0,to:0},i={from:0,to:0},t=t||this.transform.scale;var n=this.content.fitWidth*t,o=this.content.fitHeight*t,a=this.viewport.width,s=this.viewport.height;if(ns.to),r&&(i=this.content.yr.to),t||e){var l=((t?s.from:s.to)-this.content.x)*o,c=this.content.x+(this.velocity.x+l)/this.friction;c>=s.from&&c<=s.to&&(l+=this.velocity.x),this.velocity.x=l,this.recalculateTransform()}if(i||n){var h=((i?r.from:r.to)-this.content.y)*o,d=this.content.y+(h+this.velocity.y)/this.friction;d>=r.from&&d<=r.to&&(h+=this.velocity.y),this.velocity.y=h,this.recalculateTransform()}}}},{key:"setDragResistance",value:function(){if("pointerdown"===this.state){var t,e,i,n,o=this.getBounds(this.dragPosition.scale),a=o.boundX,s=o.boundY;if(a&&(t=this.dragPosition.xa.to),s&&(i=this.dragPosition.ys.to),(t||e)&&(!t||!e)){var r=t?a.from:a.to,l=r-this.dragPosition.x;this.dragPosition.x=r-.3*l}if((i||n)&&(!i||!n)){var c=i?s.from:s.to,h=c-this.dragPosition.y;this.dragPosition.y=c-.3*h}}}},{key:"setDragForce",value:function(){"pointerdown"===this.state&&(this.velocity.x=this.dragPosition.x-this.content.x,this.velocity.y=this.dragPosition.y-this.content.y,this.velocity.scale=this.dragPosition.scale-this.content.scale)}},{key:"recalculateTransform",value:function(){this.transform.x=this.content.x+this.velocity.x/(1/this.friction-1),this.transform.y=this.content.y+this.velocity.y/(1/this.friction-1),this.transform.scale=this.content.scale+this.velocity.scale/(1/this.friction-1)}},{key:"isAnimating",value:function(){return!(!this.friction||!(Math.abs(this.velocity.x)>.05||Math.abs(this.velocity.y)>.05||Math.abs(this.velocity.scale)>.05))}},{key:"setTransform",value:function(t){var e,n,o,a,s;(t?(e=S(this.transform.x),n=S(this.transform.y),o=this.transform.scale,this.content=i(i({},this.content),{},{x:e,y:n,scale:o})):(e=S(this.content.x),n=S(this.content.y),o=this.content.scale/(this.content.width/this.content.fitWidth),this.content=i(i({},this.content),{},{x:e,y:n})),this.trigger("beforeTransform"),e=S(this.content.x),n=S(this.content.y),t&&this.option("zoom"))?(a=S(this.content.fitWidth*o),s=S(this.content.fitHeight*o),this.content.width=a,this.content.height=s,this.transform=i(i({},this.transform),{},{width:a,height:s,scale:o}),Object.assign(this.$content.style,{width:"".concat(a,"px"),height:"".concat(s,"px"),maxWidth:"none",maxHeight:"none",transform:"translate3d(".concat(e,"px, ").concat(n,"px, 0) scale(1)")})):this.$content.style.transform="translate3d(".concat(e,"px, ").concat(n,"px, 0) scale(").concat(o,")");this.trigger("afterTransform")}},{key:"endAnimation",value:function(t){cancelAnimationFrame(this.rAF),this.rAF=null,this.velocity={x:0,y:0,scale:0},this.setTransform(!0),this.state="ready",this.handleCursor(),!0!==t&&this.trigger("endAnimation")}},{key:"handleCursor",value:function(){var t=this.option("draggableClass");t&&this.option("touch")&&(1==this.option("panOnlyZoomed")&&this.content.width<=this.viewport.width&&this.content.height<=this.viewport.height&&this.transform.scale<=this.option("baseScale")?this.$container.classList.remove(t):this.$container.classList.add(t))}},{key:"detachEvents",value:function(){this.$content.removeEventListener("load",this.onLoad),this.$container.removeEventListener("wheel",this.onWheel,{passive:!1}),this.$container.removeEventListener("click",this.onClick,{passive:!1}),this.pointerTracker&&(this.pointerTracker.stop(),this.pointerTracker=null),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},{key:"destroy",value:function(){"destroy"!==this.state&&(this.state="destroy",clearTimeout(this.updateTimer),this.updateTimer=null,cancelAnimationFrame(this.rAF),this.rAF=null,this.detachEvents(),this.detachPlugins(),this.resetDragPosition())}}]),n}(O);M.version="4.0.31",M.Plugins={};var I=function(t,e){var i=0;return function(){var n=(new Date).getTime();if(!(n-i1&&this.carousel.elemDimWidth=t-1&&this.$next.setAttribute("disabled","")))}},{key:"cleanup",value:function(){this.$prev&&this.$prev.remove(),this.$prev=null,this.$next&&this.$next.remove(),this.$next=null,this.$container&&this.$container.remove(),this.$container=null}},{key:"attach",value:function(){this.carousel.on("refresh change",this.onRefresh)}},{key:"detach",value:function(){this.carousel.off("refresh change",this.onRefresh),this.cleanup()}}]),t}();R.defaults={prevTpl:'',nextTpl:'',classNames:{main:"carousel__nav",button:"carousel__button",next:"is-next",prev:"is-prev"}};var F=function(){function t(e){o(this,t),this.carousel=e,this.$list=null,this.events={change:this.onChange.bind(this),refresh:this.onRefresh.bind(this)}}return s(t,[{key:"buildList",value:function(){var t=this;if(!(this.carousel.pages.lengthn)for(var a=n;a1&&void 0!==arguments[1]?arguments[1]:{};if(o(this,n),a=k(!0,{},B,a),(i=e.call(this,a)).state="init",i.$container=t,!(i.$container instanceof HTMLElement))throw new Error("No root element provided");return i.slideNext=I(i.slideNext.bind(d(i)),250),i.slidePrev=I(i.slidePrev.bind(d(i)),250),i.init(),t.__Carousel=d(i),i}return s(n,[{key:"init",value:function(){this.pages=[],this.page=this.pageIndex=null,this.prevPage=this.prevPageIndex=null,this.attachPlugins(n.Plugins),this.trigger("init"),this.initLayout(),this.initSlides(),this.updateMetrics(),this.$track&&this.pages.length&&(this.$track.style.transform="translate3d(".concat(-1*this.pages[this.page].left,"px, 0px, 0) scale(1)")),this.manageSlideVisiblity(),this.initPanzoom(),this.state="ready",this.trigger("ready")}},{key:"initLayout",value:function(){var t,e,i,n,o=this.option("prefix"),a=this.option("classNames");(this.$viewport=this.option("viewport")||this.$container.querySelector(".".concat(o).concat(a.viewport)),this.$viewport)||(this.$viewport=document.createElement("div"),(t=this.$viewport.classList).add.apply(t,m((o+a.viewport).split(" "))),(e=this.$viewport).append.apply(e,m(this.$container.childNodes)),this.$container.appendChild(this.$viewport));(this.$track=this.option("track")||this.$container.querySelector(".".concat(o).concat(a.track)),this.$track)||(this.$track=document.createElement("div"),(i=this.$track.classList).add.apply(i,m((o+a.track).split(" "))),(n=this.$track).append.apply(n,m(this.$viewport.childNodes)),this.$viewport.appendChild(this.$track))}},{key:"initSlides",value:function(){var t=this;this.slides=[],this.$viewport.querySelectorAll(".".concat(this.option("prefix")).concat(this.option("classNames.slide"))).forEach((function(e){var i={$el:e,isDom:!0};t.slides.push(i),t.trigger("createSlide",i,t.slides.length)})),Array.isArray(this.options.slides)&&(this.slides=k(!0,m(this.slides),this.options.slides))}},{key:"updateMetrics",value:function(){var t,e=this,n=0,o=[];this.slides.forEach((function(i,a){var s=i.$el,r=i.isDom||!t?e.getSlideMetrics(s):t;i.index=a,i.width=r,i.left=n,t=r,n+=r,o.push(a)}));var a=Math.max(this.$track.offsetWidth,S(this.$track.getBoundingClientRect().width)),s=getComputedStyle(this.$track);a-=parseFloat(s.paddingLeft)+parseFloat(s.paddingRight),this.contentWidth=n,this.viewportWidth=a;var r=[],l=this.option("slidesPerPage");if(Number.isInteger(l)&&n>a)for(var c=0;ca)&&(r.push({indexes:[],slides:[]}),h=r.length-1,d=0),d+=f.width,r[h].indexes.push(u),r[h].slides.push(f)}var v=this.option("center"),p=this.option("fill");r.forEach((function(t,i){t.index=i,t.width=t.slides.reduce((function(t,e){return t+e.width}),0),t.left=t.slides[0].left,v&&(t.left+=.5*(a-t.width)*-1),p&&!e.option("infiniteX",e.option("infinite"))&&n>a&&(t.left=Math.max(t.left,0),t.left=Math.min(t.left,n-a))}));var g,y=[];r.forEach((function(t){var e=i({},t);g&&e.left===g.left?(g.width+=e.width,g.slides=[].concat(m(g.slides),m(e.slides)),g.indexes=[].concat(m(g.indexes),m(e.indexes))):(e.index=y.length,g=e,y.push(e))})),this.pages=y;var b=this.page;if(null===b){var x=this.option("initialSlide");b=null!==x?this.findPageForSlide(x):parseInt(this.option("initialPage",0),10)||0,y[b]||(b=y.length&&b>y.length?y[y.length-1].index:0),this.page=b,this.pageIndex=b}this.updatePanzoom(),this.trigger("refresh")}},{key:"getSlideMetrics",value:function(t){if(!t){var e,i,n=this.slides[0];if((t=document.createElement("div")).dataset.isTestEl=1,t.style.visibility="hidden",(e=t.classList).add.apply(e,m((this.option("prefix")+this.option("classNames.slide")).split(" "))),n.customClass)(i=t.classList).add.apply(i,m(n.customClass.split(" ")));this.$track.prepend(t)}var o=Math.max(t.offsetWidth,S(t.getBoundingClientRect().width)),a=t.currentStyle||window.getComputedStyle(t);return o=o+(parseFloat(a.marginLeft)||0)+(parseFloat(a.marginRight)||0),t.dataset.isTestEl&&t.remove(),o}},{key:"findPageForSlide",value:function(t){t=parseInt(t,10)||0;var e=this.pages.find((function(e){return e.indexes.indexOf(t)>-1}));return e?e.index:null}},{key:"slideNext",value:function(){this.slideTo(this.pageIndex+1)}},{key:"slidePrev",value:function(){this.slideTo(this.pageIndex-1)}},{key:"slideTo",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=e.x,n=void 0===i?-1*this.setPage(t,!0):i,o=e.y,a=void 0===o?0:o,s=e.friction,r=void 0===s?this.option("friction"):s;this.Panzoom.content.x===n&&!this.Panzoom.velocity.x&&r||(this.Panzoom.panTo({x:n,y:a,friction:r,ignoreBounds:!0}),"ready"===this.state&&"ready"===this.Panzoom.state&&this.trigger("settle"))}},{key:"initPanzoom",value:function(){var t=this;this.Panzoom&&this.Panzoom.destroy();var e=k(!0,{},{content:this.$track,wrapInner:!1,resizeParent:!1,zoom:!1,click:!1,lockAxis:"x",x:this.pages.length?-1*this.pages[this.page].left:0,centerOnStart:!1,textSelection:function(){return t.option("textSelection",!1)},panOnlyZoomed:function(){return this.content.width<=this.viewport.width}},this.option("Panzoom"));this.Panzoom=new M(this.$container,e),this.Panzoom.on({"*":function(e){for(var i=arguments.length,n=new Array(i>1?i-1:0),o=1;o1&&this.option("infiniteX",this.option("infinite"))?this.Panzoom.boundX=null:this.pages.length&&(this.Panzoom.boundX={from:-1*this.pages[this.pages.length-1].left,to:-1*this.pages[0].left}),this.option("infiniteY",this.option("infinite"))?this.Panzoom.boundY=null:this.Panzoom.boundY={from:0,to:0},this.Panzoom.handleCursor())}},{key:"manageSlideVisiblity",value:function(){var t=this,e=this.contentWidth,i=this.viewportWidth,n=this.Panzoom?-1*this.Panzoom.content.x:this.pages.length?this.pages[this.page].left:0,o=this.option("preload"),a=this.option("infiniteX",this.option("infinite")),s=parseFloat(getComputedStyle(this.$viewport,null).getPropertyValue("padding-left")),r=parseFloat(getComputedStyle(this.$viewport,null).getPropertyValue("padding-right"));this.slides.forEach((function(l){var c,h,d=0;c=n-s,h=n+i+r,c-=o*(i+s+r),h+=o*(i+s+r);var u=l.left+l.width>c&&l.leftc&&l.leftc&&l.leftn&&l.left<=n+i+r&&(d=0)):t.removeSlideEl(l),l.hasDiff=d}));var l=0,c=0;this.slides.forEach((function(t,i){var n=0;t.$el?(i!==l||t.hasDiff?n=c+t.hasDiff*e:c=0,t.$el.style.left=Math.abs(n)>.1?"".concat(c+t.hasDiff*e,"px"):"",l++):c+=t.width})),this.markSelectedSlides()}},{key:"createSlideEl",value:function(t){var e;if(t){if(!t.$el){var i,n=document.createElement("div");if(n.dataset.index=t.index,(e=n.classList).add.apply(e,m((this.option("prefix")+this.option("classNames.slide")).split(" "))),t.customClass)(i=n.classList).add.apply(i,m(t.customClass.split(" ")));t.html&&(n.innerHTML=t.html);var o=[];this.slides.forEach((function(t,e){t.$el&&o.push(e)}));var a=t.index,s=null;if(o.length){var r=o.reduce((function(t,e){return Math.abs(e-a)-1?(e&&!a.classList.contains(e)&&(a.classList.add(e),t.trigger("selectSlide",n)),a.removeAttribute(i)):(e&&a.classList.contains(e)&&(a.classList.remove(e),t.trigger("unselectSlide",n)),a.setAttribute(i,!0))}}))}},{key:"updatePage",value:function(){this.updateMetrics(),this.slideTo(this.page,{friction:0})}},{key:"onBeforeTransform",value:function(){this.option("infiniteX",this.option("infinite"))&&this.manageInfiniteTrack(),this.manageSlideVisiblity()}},{key:"manageInfiniteTrack",value:function(){var t=this.contentWidth,e=this.viewportWidth;if(!(!this.option("infiniteX",this.option("infinite"))||this.pages.length<2||te&&(i.content.x-=t,this.pageIndex=this.pageIndex+this.pages.length,n=!0),n&&"pointerdown"===i.state&&i.resetDragPosition(),n}}},{key:"onTouchEnd",value:function(t,e){var i=this.option("dragFree");if(!i&&this.pages.length>1&&t.dragOffset.time<350&&Math.abs(t.dragOffset.y)<1&&Math.abs(t.dragOffset.x)>5)this[t.dragOffset.x<0?"slideNext":"slidePrev"]();else if(i){var n=g(this.getPageFromPosition(-1*t.transform.x),2)[1];this.setPage(n)}else this.slideToClosest()}},{key:"slideToClosest",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.getPageFromPosition(-1*this.Panzoom.content.x),i=g(e,2),n=i[1];this.slideTo(n,t)}},{key:"getPageFromPosition",value:function(t){var e=this.pages.length;this.option("center")&&(t+=.5*this.viewportWidth);var i=Math.floor(t/this.contentWidth);t-=i*this.contentWidth;var n=this.slides.find((function(e){return e.left<=t&&e.left+e.width>t}));if(n){var o=this.findPageForSlide(n.index);return[o,o+i*e]}return[0,0]}},{key:"setPage",value:function(t,e){var i=0,n=parseInt(t,10)||0,o=this.page,a=this.pageIndex,s=this.pages.length,r=this.contentWidth,l=this.viewportWidth;if(t=(n%s+s)%s,this.option("infiniteX",this.option("infinite"))&&r>l){var c=Math.floor(n/s)||0,h=r;if(i=this.pages[t].left+c*h,!0===e&&s>2){var d=-1*this.Panzoom.content.x,u=i-h,f=i+h,v=Math.abs(d-i),p=Math.abs(d-u),g=Math.abs(d-f);g.1&&(o="".concat(e.width*i,"px"),a="".concat(e.height*i,"px"),s="translate3d(".concat(e.offsetLeft,"px, ").concat(e.offsetTop,"px, 0) scale(").concat(1/i,")")),n.style.width=o,n.style.height=a,n.style.transform=s}}},{key:"onTouchstart",value:function(t){this.startY=t.touches?t.touches[0].screenY:t.screenY}},{key:"onTouchmove",value:function(t){var e=this.startY,i=window.innerWidth/window.document.documentElement.clientWidth;if(t.cancelable&&!(t.touches.length>1||1!==i)){var n=C(t.composedPath()[0]);if(n){var o=window.getComputedStyle(n),a=parseInt(o.getPropertyValue("height"),10),s=t.touches?t.touches[0].screenY:t.screenY,r=e<=s&&0===n.scrollTop,l=e>=s&&n.scrollHeight-n.scrollTop===a;(r||l)&&t.preventDefault()}else t.preventDefault()}}},{key:"onWheel",value:function(t){C(t.composedPath()[0])||t.preventDefault()}},{key:"cleanup",value:function(){this.pendingUpdate&&(cancelAnimationFrame(this.pendingUpdate),this.pendingUpdate=null);var t=this.viewport;t&&(t.removeEventListener("resize",this.onResize),this.viewport=null),window.removeEventListener("touchstart",this.onTouchstart,!1),window.removeEventListener("touchmove",this.onTouchmove,!1),window.removeEventListener("wheel",this.onWheel,{passive:!1})}},{key:"attach",value:function(){this.fancybox.on("initLayout",this.onReady)}},{key:"detach",value:function(){this.fancybox.off("initLayout",this.onReady),this.cleanup()}}]),t}(),Y=function(){function t(e){o(this,t),this.fancybox=e,this.$container=null,this.state="init";for(var i=0,n=["onPrepare","onClosing","onKeydown"];i=this.fancybox.option("Thumbs.minScreenHeight")&&this.build()}},{key:"onClosing",value:function(){this.Carousel&&this.Carousel.Panzoom.detachEvents()}},{key:"onKeydown",value:function(t,e){e===t.option("Thumbs.key")&&this.toggle()}},{key:"build",value:function(){var t=this;if(!this.$container){var e=document.createElement("div");e.classList.add("fancybox__thumbs"),this.fancybox.$carousel.parentNode.insertBefore(e,this.fancybox.$carousel.nextSibling),this.Carousel=new H(e,k(!0,{Dots:!1,Navigation:!1,Sync:{friction:0},infinite:!1,center:!0,fill:!0,dragFree:!0,slidesPerPage:1,preload:1},this.fancybox.option("Thumbs.Carousel"),{Sync:{target:this.fancybox.Carousel},slides:this.getSlides()})),this.Carousel.Panzoom.on("wheel",(function(e,i){i.preventDefault(),t.fancybox[i.deltaY<0?"prev":"next"]()})),this.$container=e,this.state="visible"}}},{key:"getSlides",value:function(){var t,e=[],i=x(this.fancybox.items);try{for(i.s();!(t=i.n()).done;){var n=t.value,o=n.thumb;o&&e.push({html:this.fancybox.option("Thumbs.tpl").replace(/\{\{src\}\}/gi,o),customClass:"has-thumb has-".concat(n.type||"image")})}}catch(t){i.e(t)}finally{i.f()}return e}},{key:"toggle",value:function(){"visible"===this.state?this.hide():"hidden"===this.state?this.show():this.build()}},{key:"show",value:function(){"hidden"===this.state&&(this.$container.style.display="",this.Carousel.Panzoom.attachEvents(),this.state="visible")}},{key:"hide",value:function(){"visible"===this.state&&(this.Carousel.Panzoom.detachEvents(),this.$container.style.display="none",this.state="hidden")}},{key:"cleanup",value:function(){this.Carousel&&(this.Carousel.destroy(),this.Carousel=null),this.$container&&(this.$container.remove(),this.$container=null),this.state="init"}},{key:"attach",value:function(){this.fancybox.on(this.events)}},{key:"detach",value:function(){this.fancybox.off(this.events),this.cleanup()}}]),t}();Y.defaults={minSlideCount:2,minScreenHeight:500,autoStart:!0,key:"t",Carousel:{},tpl:'
'};var V=function(t,e){for(var i=new URL(t),n=new URLSearchParams(i.search),o=new URLSearchParams,a=0,s=[].concat(m(n),m(Object.entries(e)));a\n Sorry, your browser doesn\'t support embedded videos.',format:""}},G=function(){function t(e){o(this,t),this.fancybox=e;for(var i=0,n=["onInit","onReady","onCreateSlide","onRemoveSlide","onSelectSlide","onUnselectSlide","onRefresh","onMessage"];i0?"svembed":"embed"),i="map"):(n=e.match(/(?:maps\.)?google\.([a-z]{2,3}(?:\.[a-z]{2})?)\/(?:maps\/search\/)(.*)/i))&&(t.src="//maps.google.".concat(n[1],"/maps?q=").concat(n[2].replace("query=","q=").replace("api=1",""),"&output=embed"),i="map");i||("#"===e.charAt(0)?i="inline":(n=e.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))?(i="html5video",t.format=t.format||"video/"+("ogv"===n[1]?"ogg":n[1])):e.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?i="image":e.match(/\.(pdf)((\?|#).*)?$/i)&&(i="pdf")),t.type=i||this.fancybox.option("defaultType","image"),"html5video"!==i&&"video"!==i||(t.video=k({},this.fancybox.option("Html.video"),t.video),t._width&&t._height?t.ratio=parseFloat(t._width)/parseFloat(t._height):t.ratio=t.ratio||t.video.ratio||Z.video.ratio)}}},{key:"onReady",value:function(){var t=this;this.fancybox.Carousel.slides.forEach((function(e){e.$el&&(t.setContent(e),e.index===t.fancybox.getSlide().index&&t.playVideo(e))}))}},{key:"onCreateSlide",value:function(t,e,i){"ready"===this.fancybox.state&&this.setContent(i)}},{key:"loadInlineContent",value:function(t){var e;if(t.src instanceof HTMLElement)e=t.src;else if("string"==typeof t.src){var i=t.src.split("#",2),n=2===i.length&&""===i[0]?i[1]:i[0];e=document.getElementById(n)}if(e){if("clone"===t.type||e.$placeHolder){var o=(e=e.cloneNode(!0)).getAttribute("id");o=o?"".concat(o,"--clone"):"clone-".concat(this.fancybox.id,"-").concat(t.index),e.setAttribute("id",o)}else{var a=document.createElement("div");a.classList.add("fancybox-placeholder"),e.parentNode.insertBefore(a,e),e.$placeHolder=a}this.fancybox.setContent(t,e)}else this.fancybox.setError(t,"{{ELEMENT_NOT_FOUND}}")}},{key:"loadAjaxContent",value:function(t){var e=this.fancybox,i=new XMLHttpRequest;e.showLoading(t),i.onreadystatechange=function(){i.readyState===XMLHttpRequest.DONE&&"ready"===e.state&&(e.hideLoading(t),200===i.status?e.setContent(t,i.responseText):e.setError(t,404===i.status?"{{AJAX_NOT_FOUND}}":"{{AJAX_FORBIDDEN}}"))};var n=t.ajax||null;i.open(n?"POST":"GET",t.src),i.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),i.setRequestHeader("X-Requested-With","XMLHttpRequest"),i.send(n),t.xhr=i}},{key:"loadIframeContent",value:function(t){var e=this,i=this.fancybox,n=document.createElement("iframe");if(n.className="fancybox__iframe",n.setAttribute("id","fancybox__iframe_".concat(i.id,"_").concat(t.index)),n.setAttribute("allow","autoplay; fullscreen"),n.setAttribute("scrolling","auto"),t.$iframe=n,"iframe"!==t.type||!1===t.preload)return n.setAttribute("src",t.src),this.fancybox.setContent(t,n),void this.resizeIframe(t);i.showLoading(t);var o=document.createElement("div");o.style.visibility="hidden",this.fancybox.setContent(t,o),o.appendChild(n),n.onerror=function(){i.setError(t,"{{IFRAME_ERROR}}")},n.onload=function(){i.hideLoading(t);var o=!1;n.isReady||(n.isReady=!0,o=!0),n.src.length&&(n.parentNode.style.visibility="",e.resizeIframe(t),o&&i.revealContent(t))},n.setAttribute("src",t.src)}},{key:"setAspectRatio",value:function(t){var e=t.$content,i=t.ratio;if(e){var n=t._width,o=t._height;if(i||n&&o){Object.assign(e.style,{width:n&&o?"100%":"",height:n&&o?"100%":"",maxWidth:"",maxHeight:""});var a=e.offsetWidth,s=e.offsetHeight;if(o=o||s,(n=n||a)>a||o>s){var r=Math.min(a/n,s/o);n*=r,o*=r}Math.abs(n/o-i)>.01&&(i.1),{top:r,left:l,scale:a&&i?i/a:1,opacity:c}}},{key:"canZoom",value:function(t){var e=this.fancybox,i=e.$container;if(window.visualViewport&&1!==window.visualViewport.scale)return!1;if(t.Panzoom&&!t.Panzoom.content.width)return!1;if(!e.option("Image.zoom")||"contain"!==e.option("Image.fit"))return!1;var n=t.$thumb;if(!n||"loading"===t.state)return!1;i.classList.add("fancybox__no-click");var o,a=n.getBoundingClientRect();if(this.fancybox.option("Image.ignoreCoveredThumbnail")){var s=document.elementFromPoint(a.left+1,a.top+1)===n,r=document.elementFromPoint(a.right-1,a.bottom-1)===n;o=s&&r}else o=document.elementFromPoint(a.left+.5*a.width,a.top+.5*a.height)===n;return i.classList.remove("fancybox__no-click"),o}},{key:"zoomIn",value:function(){var t=this.fancybox,e=t.getSlide(),i=e.Panzoom,n=this.getZoomInfo(e),o=n.top,a=n.left,s=n.scale,r=n.opacity;t.trigger("reveal",e),i.panTo({x:-1*a,y:-1*o,scale:s,friction:0,ignoreBounds:!0}),e.$content.style.visibility="",e.state="zoomIn",!0===r&&i.on("afterTransform",(function(t){"zoomIn"!==e.state&&"zoomOut"!==e.state||(t.$content.style.opacity=Math.min(1,1-(1-t.content.scale)/(1-s)))})),i.panTo({x:0,y:0,scale:1,friction:this.fancybox.option("Image.zoomFriction")})}},{key:"zoomOut",value:function(){var t=this,e=this.fancybox,i=e.getSlide(),n=i.Panzoom;if(n){i.state="zoomOut",e.state="customClosing",i.$caption&&(i.$caption.style.visibility="hidden");var o=this.fancybox.option("Image.zoomFriction"),a=function(e){var a=t.getZoomInfo(i),s=a.top,r=a.left,l=a.scale,c=a.opacity;e||c||(o*=.82),n.panTo({x:-1*r,y:-1*s,scale:l,friction:o,ignoreBounds:!0}),o*=.98};window.addEventListener("scroll",a),n.once("endAnimation",(function(){window.removeEventListener("scroll",a),e.destroy()})),a()}}},{key:"handleCursor",value:function(t){if("image"===t.type&&t.$el){var e=t.Panzoom,i=this.fancybox.option("Image.click",!1,t),n=this.fancybox.option("Image.touch"),o=t.$el.classList,a=this.fancybox.option("Image.canZoomInClass"),s=this.fancybox.option("Image.canZoomOutClass");if(o.remove(s),o.remove(a),e&&"toggleZoom"===i)e&&1===e.content.scale&&e.option("maxScale")-e.content.scale>.01?o.add(a):e.content.scale>1&&!n&&o.add(s);else"close"===i&&o.add(s)}}},{key:"onWheel",value:function(t,e){if("ready"===this.fancybox.state&&!1!==this.fancybox.trigger("Image.wheel",e))switch(this.fancybox.option("Image.wheel")){case"zoom":"done"===t.state&&t.Panzoom&&t.Panzoom.zoomWithWheel(e);break;case"close":this.fancybox.close();break;case"slide":this.fancybox[e.deltaY<0?"prev":"next"]()}}},{key:"onClick",value:function(t,e){var i=this;if("ready"===this.fancybox.state){var n=t.Panzoom;if(!n||!n.dragPosition.midPoint&&0===n.dragOffset.x&&0===n.dragOffset.y&&1===n.dragOffset.scale){if(this.fancybox.Carousel.Panzoom.lockAxis)return!1;var o=function(n){switch(n){case"toggleZoom":e.stopPropagation(),t.Panzoom&&t.Panzoom.zoomWithClick(e);break;case"close":i.fancybox.close();break;case"next":e.stopPropagation(),i.fancybox.next()}},a=this.fancybox.option("Image.click"),s=this.fancybox.option("Image.doubleClick");s?this.clickTimer?(clearTimeout(this.clickTimer),this.clickTimer=null,o(s)):this.clickTimer=setTimeout((function(){i.clickTimer=null,o(a)}),300):o(a)}}}},{key:"onPageChange",value:function(t,e){var i=t.getSlide();e.slides.forEach((function(t){t.Panzoom&&"done"===t.state&&t.index!==i.index&&t.Panzoom.panTo({x:0,y:0,scale:1,friction:.8})}))}},{key:"attach",value:function(){this.fancybox.on(this.events)}},{key:"detach",value:function(){this.fancybox.off(this.events)}}]),t}();K.defaults={canZoomInClass:"can-zoom_in",canZoomOutClass:"can-zoom_out",zoom:!0,zoomOpacity:"auto",zoomFriction:.82,ignoreCoveredThumbnail:!1,touch:!0,click:"toggleZoom",doubleClick:null,wheel:"zoom",fit:"contain",wrap:!1,Panzoom:{ratio:1}};var J=function(){function t(e){o(this,t),this.fancybox=e;for(var i=0,n=["onChange","onClosing"];i1?"-"+(o.index+1):""))}n&&(this.origHash=a!==s?a:""),s&&a!==s&&(this.timer=setTimeout((function(){try{window.history[n?"pushState":"replaceState"]({},document.title,window.location.pathname+window.location.search+s),n&&(e.hasCreatedHistory=!0)}catch(t){}}),300))}},{key:"onClosing",value:function(){if(this.timer&&clearTimeout(this.timer),!0!==this.hasSilentClose)try{return void window.history.replaceState({},document.title,window.location.pathname+window.location.search+(this.origHash||""))}catch(t){}}},{key:"attach",value:function(t){t.on(this.events)}},{key:"detach",value:function(t){t.off(this.events)}}],[{key:"startFromUrl",value:function(){var e=t.Fancybox;if(e&&!e.getInstance()&&!1!==e.defaults.Hash){var i=t.getParsedURL(),n=i.hash,o=i.slug,a=i.index;if(o){var s=document.querySelector('[data-slug="'.concat(n,'"]'));if(s&&s.dispatchEvent(new CustomEvent("click",{bubbles:!0,cancelable:!0})),!e.getInstance()){var r=document.querySelectorAll('[data-fancybox="'.concat(o,'"]'));r.length&&(null===a&&1===r.length?s=r[0]:a&&(s=r[a-1]),s&&s.dispatchEvent(new CustomEvent("click",{bubbles:!0,cancelable:!0})))}}}}},{key:"onHashChange",value:function(){var e=t.getParsedURL(),i=e.slug,n=e.index,o=t.Fancybox,a=o&&o.getInstance();if(a&&a.plugins.Hash){if(i){var s=a.Carousel;if(i===a.option("slug"))return s.slideTo(n-1);var r,l=x(s.slides);try{for(l.s();!(r=l.n()).done;){var c=r.value;if(c.slug&&c.slug===i)return s.slideTo(c.index)}}catch(t){l.e(t)}finally{l.f()}var h=a.getSlide(),d=h.$trigger&&h.$trigger.dataset;if(d&&d.fancybox===i)return s.slideTo(n-1)}a.plugins.Hash.hasSilentClose=!0,a.close()}t.startFromUrl()}},{key:"create",value:function(e){function i(){window.addEventListener("hashchange",t.onHashChange,!1),t.startFromUrl()}t.Fancybox=e,W&&window.requestAnimationFrame((function(){/complete|interactive|loaded/.test(document.readyState)?i():document.addEventListener("DOMContentLoaded",i)}))}},{key:"destroy",value:function(){window.removeEventListener("hashchange",t.onHashChange,!1)}},{key:"getParsedURL",value:function(){var t=window.location.hash.substr(1),e=t.split("-"),i=e.length>1&&/^\+?\d+$/.test(e[e.length-1])&&parseInt(e.pop(-1),10)||null;return{hash:t,slug:e.join("-"),index:i}}}]),t}(),Q={pageXOffset:0,pageYOffset:0,element:function(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement},activate:function(t){Q.pageXOffset=window.pageXOffset,Q.pageYOffset=window.pageYOffset,t.requestFullscreen?t.requestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():t.msRequestFullscreen&&t.msRequestFullscreen()},deactivate:function(){document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen()}},tt=function(){function t(e){o(this,t),this.fancybox=e,this.active=!1,this.handleVisibilityChange=this.handleVisibilityChange.bind(this)}return s(t,[{key:"isActive",value:function(){return this.active}},{key:"setTimer",value:function(){var t=this;if(this.active&&!this.timer){var e=this.fancybox.option("slideshow.delay",3e3);this.timer=setTimeout((function(){t.timer=null,t.fancybox.option("infinite")||t.fancybox.getSlide().index!==t.fancybox.Carousel.slides.length-1?t.fancybox.next():t.fancybox.jumpTo(0,{friction:0})}),e);var i=this.$progress;i||((i=document.createElement("div")).classList.add("fancybox__progress"),this.fancybox.$carousel.parentNode.insertBefore(i,this.fancybox.$carousel),this.$progress=i,i.offsetHeight),i.style.transitionDuration="".concat(e,"ms"),i.style.transform="scaleX(1)"}}},{key:"clearTimer",value:function(){clearTimeout(this.timer),this.timer=null,this.$progress&&(this.$progress.style.transitionDuration="",this.$progress.style.transform="",this.$progress.offsetHeight)}},{key:"activate",value:function(){this.active||(this.active=!0,this.fancybox.$container.classList.add("has-slideshow"),"done"===this.fancybox.getSlide().state&&this.setTimer(),document.addEventListener("visibilitychange",this.handleVisibilityChange,!1))}},{key:"handleVisibilityChange",value:function(){this.deactivate()}},{key:"deactivate",value:function(){this.active=!1,this.clearTimer(),this.fancybox.$container.classList.remove("has-slideshow"),document.removeEventListener("visibilitychange",this.handleVisibilityChange,!1)}},{key:"toggle",value:function(){this.active?this.deactivate():this.fancybox.Carousel.slides.length>1&&this.activate()}}]),t}(),et={display:["counter","zoom","slideshow","fullscreen","thumbs","close"],autoEnable:!0,items:{counter:{position:"left",type:"div",class:"fancybox__counter",html:' / ',attr:{tabindex:-1}},prev:{type:"button",class:"fancybox__button--prev",label:"PREV",html:'',attr:{"data-fancybox-prev":""}},next:{type:"button",class:"fancybox__button--next",label:"NEXT",html:'',attr:{"data-fancybox-next":""}},fullscreen:{type:"button",class:"fancybox__button--fullscreen",label:"TOGGLE_FULLSCREEN",html:'\n \n \n ',click:function(t){t.preventDefault(),Q.element()?Q.deactivate():Q.activate(this.fancybox.$container)}},slideshow:{type:"button",class:"fancybox__button--slideshow",label:"TOGGLE_SLIDESHOW",html:'\n \n \n ',click:function(t){t.preventDefault(),this.Slideshow.toggle()}},zoom:{type:"button",class:"fancybox__button--zoom",label:"TOGGLE_ZOOM",html:'',click:function(t){t.preventDefault();var e=this.fancybox.getSlide().Panzoom;e&&e.toggleZoom()}},download:{type:"link",label:"DOWNLOAD",class:"fancybox__button--download",html:'',click:function(t){t.stopPropagation()}},thumbs:{type:"button",label:"TOGGLE_THUMBS",class:"fancybox__button--thumbs",html:'',click:function(t){t.stopPropagation();var e=this.fancybox.plugins.Thumbs;e&&e.toggle()}},close:{type:"button",label:"CLOSE",class:"fancybox__button--close",html:'',attr:{"data-fancybox-close":"",tabindex:0}}}},it=function(){function t(e){var i=this;o(this,t),this.fancybox=e,this.$container=null,this.state="init";for(var n=0,a=["onInit","onPrepare","onDone","onKeydown","onClosing","onChange","onSettle","onRefresh"];nl.option("baseScale"),h=x(this.fancybox.$container.querySelectorAll(".fancybox__button--zoom"));try{for(h.s();!(r=h.n()).done;){var d=r.value;c?d.removeAttribute("disabled"):d.setAttribute("disabled","")}}catch(t){h.e(t)}finally{h.f()}var u,f=x(this.fancybox.$container.querySelectorAll("[data-fancybox-index]"));try{for(f.s();!(u=f.n()).done;){u.value.innerHTML=e.index+1}}catch(t){f.e(t)}finally{f.f()}var v,p=x(this.fancybox.$container.querySelectorAll("[data-fancybox-count]"));try{for(p.s();!(v=p.n()).done;){v.value.innerHTML=n}}catch(t){p.e(t)}finally{p.f()}if(!this.fancybox.option("infinite")){var g,m=x(this.fancybox.$container.querySelectorAll("[data-fancybox-prev]"));try{for(m.s();!(g=m.n()).done;){var y=g.value;0===i?y.setAttribute("disabled",""):y.removeAttribute("disabled")}}catch(t){m.e(t)}finally{m.f()}var b,w=x(this.fancybox.$container.querySelectorAll("[data-fancybox-next]"));try{for(w.s();!(b=w.n()).done;){var k=b.value;i===n-1?k.setAttribute("disabled",""):k.removeAttribute("disabled")}}catch(t){w.e(t)}finally{w.f()}}}},{key:"cleanup",value:function(){this.Slideshow&&this.Slideshow.isActive()&&this.Slideshow.clearTimer(),this.$container&&this.$container.remove(),this.$container=null}},{key:"attach",value:function(){this.fancybox.on(this.events)}},{key:"detach",value:function(){this.fancybox.off(this.events),this.cleanup()}}]),t}();it.defaults=et;var nt={ScrollLock:U,Thumbs:Y,Html:G,Toolbar:it,Image:K,Hash:J},ot={startIndex:0,preload:1,infinite:!0,showClass:"fancybox-zoomInUp",hideClass:"fancybox-fadeOut",animated:!0,hideScrollbar:!0,parentEl:null,mainClass:null,autoFocus:!0,trapFocus:!0,placeFocusBack:!0,click:"close",closeButton:"inside",dragToClose:!0,keyboard:{Escape:"close",Delete:"close",Backspace:"close",PageUp:"next",PageDown:"prev",ArrowUp:"next",ArrowDown:"prev",ArrowRight:"next",ArrowLeft:"prev"},template:{closeButton:'',spinner:'',main:null},l10n:{CLOSE:"Close",NEXT:"Next",PREV:"Previous",MODAL:"You can close this modal content with the ESC key",ERROR:"Something Went Wrong, Please Try Again Later",IMAGE_ERROR:"Image Not Found",ELEMENT_NOT_FOUND:"HTML Element Not Found",AJAX_NOT_FOUND:"Error Loading AJAX : Not Found",AJAX_FORBIDDEN:"Error Loading AJAX : Forbidden",IFRAME_ERROR:"Error Loading Page",TOGGLE_ZOOM:"Toggle zoom level",TOGGLE_THUMBS:"Toggle thumbnails",TOGGLE_SLIDESHOW:"Toggle slideshow",TOGGLE_FULLSCREEN:"Toggle full-screen mode",DOWNLOAD:"Download"}},at=new Map,st=0,rt=function(t){l(i,t);var e=f(i);function i(t){var n,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return o(this,i),t=t.map((function(t){return t.width&&(t._width=t.width),t.height&&(t._height=t.height),t})),(n=e.call(this,k(!0,{},ot,a))).bindHandlers(),n.state="init",n.setItems(t),n.attachPlugins(i.Plugins),n.trigger("init"),!0===n.option("hideScrollbar")&&n.hideScrollbar(),n.initLayout(),n.initCarousel(),n.attachEvents(),at.set(n.id,d(n)),n.trigger("prepare"),n.state="ready",n.trigger("ready"),n.$container.setAttribute("aria-hidden","false"),n.option("trapFocus")&&n.focus(),n}return s(i,[{key:"option",value:function(t){for(var e,n=this.getSlide(),o=n?n[t]:void 0,a=arguments.length,s=new Array(a>1?a-1:0),r=1;r1?i-1:0),o=1;o=150||Math.abs(e)>=35&&t.dragOffset.time<350?(this.option("hideClass")&&(this.getSlide().hideClass="fancybox-throwOut".concat(t.content.y<0?"Up":"Down")),this.close()):"y"===t.lockAxis&&t.panTo({y:0})}},{key:"onTransform",value:function(t){if(this.$backdrop){var e=Math.abs(t.content.y),i=e<1?"":Math.max(.33,Math.min(1,1-e/t.content.fitHeight*1.5));this.$container.style.setProperty("--fancybox-ts",i?"0s":""),this.$container.style.setProperty("--fancybox-opacity",i)}}},{key:"onMousedown",value:function(){"ready"===this.state&&document.body.classList.add("is-using-mouse")}},{key:"onKeydown",value:function(t){if(this.isTopmost()){document.body.classList.remove("is-using-mouse");var e=t.key,i=this.option("keyboard");if(i&&!t.ctrlKey&&!t.altKey&&!t.shiftKey){var n=t.composedPath()[0],o=document.activeElement&&document.activeElement.classList,a=o&&o.contains("carousel__button");if("Escape"!==e&&!a)if(t.target.isContentEditable||-1!==["BUTTON","TEXTAREA","OPTION","INPUT","SELECT","VIDEO"].indexOf(n.nodeName))return;if(!1!==this.trigger("keydown",e,t)){var s=i[e];"function"==typeof this[s]&&this[s]()}}}}},{key:"getSlide",value:function(){var t=this.Carousel;if(!t)return null;var e=null===t.page?t.option("initialPage"):t.page,i=t.pages||[];return i.length&&i[e]?i[e].slides[0]:null}},{key:"focus",value:function(t){if(!(i.ignoreFocusChange||["init","closing","customClosing","destroy"].indexOf(this.state)>-1)){var e=this.$container,n=this.getSlide(),o="done"===n.state?n.$el:null;if(!o||!o.contains(document.activeElement)){t&&t.preventDefault(),i.ignoreFocusChange=!0;for(var a,s=[],r=0,l=Array.from(e.querySelectorAll(X));r-1?this.lastFocus=t.target:this.lastFocus===e?q(s[s.length-1]):q(e):this.option("autoFocus")&&a?q(a):s.indexOf(document.activeElement)<0&&q(e),this.lastFocus=document.activeElement,i.ignoreFocusChange=!1}}}},{key:"hideScrollbar",value:function(){if(W){var t=window.innerWidth-document.documentElement.getBoundingClientRect().width,e="fancybox-style-noscroll",i=document.getElementById(e);i||t>0&&((i=document.createElement("style")).id=e,i.type="text/css",i.innerHTML=".compensate-for-scrollbar {padding-right: ".concat(t,"px;}"),document.getElementsByTagName("head")[0].appendChild(i),document.body.classList.add("compensate-for-scrollbar"))}}},{key:"revealScrollbar",value:function(){document.body.classList.remove("compensate-for-scrollbar");var t=document.getElementById("fancybox-style-noscroll");t&&t.remove()}},{key:"clearContent",value:function(t){this.Carousel.trigger("removeSlide",t),t.$content&&(t.$content.remove(),t.$content=null),t.$closeButton&&(t.$closeButton.remove(),t.$closeButton=null),t._className&&t.$el.classList.remove(t._className)}},{key:"setContent",value:function(t,e){var i,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=t.$el;if(e instanceof HTMLElement)["img","iframe","video","audio"].indexOf(e.nodeName.toLowerCase())>-1?(i=document.createElement("div")).appendChild(e):i=e;else{var a=document.createRange().createContextualFragment(e);(i=document.createElement("div")).appendChild(a)}if(t.filter&&!t.error&&(i=i.querySelector(t.filter)),i instanceof Element)return t._className="has-".concat(n.suffix||t.type||"unknown"),o.classList.add(t._className),i.classList.add("fancybox__content"),"none"!==i.style.display&&"none"!==getComputedStyle(i).getPropertyValue("display")||(i.style.display=t.display||this.option("defaultDisplay")||"flex"),t.id&&i.setAttribute("id",t.id),t.$content=i,o.prepend(i),this.manageCloseButton(t),"loading"!==t.state&&this.revealContent(t),i;this.setError(t,"{{ELEMENT_NOT_FOUND}}")}},{key:"manageCloseButton",value:function(t){var e=this,i=void 0===t.closeButton?this.option("closeButton"):t.closeButton;if(i&&("top"!==i||!this.$closeButton)){var n=document.createElement("button");n.classList.add("carousel__button","is-close"),n.setAttribute("title",this.options.l10n.CLOSE),n.innerHTML=this.option("template.closeButton"),n.addEventListener("click",(function(t){return e.close(t)})),"inside"===i?(t.$closeButton&&t.$closeButton.remove(),t.$closeButton=t.$content.appendChild(n)):this.$closeButton=this.$container.insertBefore(n,this.$container.firstChild)}}},{key:"revealContent",value:function(t){var e=this;this.trigger("reveal",t),t.$content.style.visibility="";var i=!1;t.error||"loading"===t.state||null!==this.Carousel.prevPage||t.index!==this.options.startIndex||(i=void 0===t.showClass?this.option("showClass"):t.showClass),i?(t.state="animating",this.animateCSS(t.$content,i,(function(){e.done(t)}))):this.done(t)}},{key:"animateCSS",value:function(t,e,i){if(t&&t.dispatchEvent(new CustomEvent("animationend",{bubbles:!0,cancelable:!0})),t&&e){t.addEventListener("animationend",(function n(o){o.currentTarget===this&&(t.removeEventListener("animationend",n),i&&i(),t.classList.remove(e))})),t.classList.add(e)}else"function"==typeof i&&i()}},{key:"done",value:function(t){t.state="done",this.trigger("done",t);var e=this.getSlide();e&&t.index===e.index&&this.option("autoFocus")&&this.focus()}},{key:"setError",value:function(t,e){t.error=e,this.hideLoading(t),this.clearContent(t);var i=document.createElement("div");i.classList.add("fancybox-error"),i.innerHTML=this.localize(e||"

{{ERROR}}

"),this.setContent(t,i,{suffix:"error"})}},{key:"showLoading",value:function(t){var e=this;t.state="loading",t.$el.classList.add("is-loading");var i=t.$el.querySelector(".fancybox__spinner");i||((i=document.createElement("div")).classList.add("fancybox__spinner"),i.innerHTML=this.option("template.spinner"),i.addEventListener("click",(function(){e.Carousel.Panzoom.velocity||e.close()})),t.$el.prepend(i))}},{key:"hideLoading",value:function(t){var e=t.$el&&t.$el.querySelector(".fancybox__spinner");e&&(e.remove(),t.$el.classList.remove("is-loading")),"loading"===t.state&&(this.trigger("load",t),t.state="ready")}},{key:"next",value:function(){var t=this.Carousel;t&&t.pages.length>1&&t.slideNext()}},{key:"prev",value:function(){var t=this.Carousel;t&&t.pages.length>1&&t.slidePrev()}},{key:"jumpTo",value:function(){var t;this.Carousel&&(t=this.Carousel).slideTo.apply(t,arguments)}},{key:"isClosing",value:function(){return["closing","customClosing","destroy"].includes(this.state)}},{key:"isTopmost",value:function(){return i.getInstance().id==this.id}},{key:"close",value:function(t){var e=this;if(t&&t.preventDefault(),!this.isClosing()&&!1!==this.trigger("shouldClose",t)&&(this.state="closing",this.Carousel.Panzoom.destroy(),this.detachEvents(),this.trigger("closing",t),"destroy"!==this.state)){this.$container.setAttribute("aria-hidden","true"),this.$container.classList.add("is-closing");var i=this.getSlide();if(this.Carousel.slides.forEach((function(t){t.$content&&t.index!==i.index&&e.Carousel.trigger("removeSlide",t)})),"closing"===this.state){var n=void 0===i.hideClass?this.option("hideClass"):i.hideClass;this.animateCSS(i.$content,n,(function(){e.destroy()}),!0)}}}},{key:"destroy",value:function(){if("destroy"!==this.state){this.state="destroy",this.trigger("destroy");var t=this.option("placeFocusBack")?this.option("triggerTarget",this.getSlide().$trigger):null;this.Carousel.destroy(),this.detachPlugins(),this.Carousel=null,this.options={},this.events={},this.$container.remove(),this.$container=this.$backdrop=this.$carousel=null,t&&q(t),at.delete(this.id);var e=i.getInstance();e?e.focus():(document.documentElement.classList.remove("with-fancybox"),document.body.classList.remove("is-using-mouse"),this.revealScrollbar())}}}],[{key:"show",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new i(t,e)}},{key:"fromEvent",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t.defaultPrevented&&!(t.button&&0!==t.button||t.ctrlKey||t.metaKey||t.shiftKey)){var n,o,a,s=t.composedPath()[0],r=s;if((r.matches("[data-fancybox-trigger]")||(r=r.closest("[data-fancybox-trigger]")))&&(e.triggerTarget=r,n=r&&r.dataset&&r.dataset.fancyboxTrigger),n){var l=document.querySelectorAll('[data-fancybox="'.concat(n,'"]')),c=parseInt(r.dataset.fancyboxIndex,10)||0;r=l.length?l[c]:r}Array.from(i.openers.keys()).reverse().some((function(e){a=r||s;var i=!1;try{a instanceof Element&&("string"==typeof e||e instanceof String)&&(i=a.matches(e)||(a=a.closest(e)))}catch(t){}return!!i&&(t.preventDefault(),o=e,!0)}));var h=!1;if(o){e.event=t,e.target=a,a.origTarget=s,h=i.fromOpener(o,e);var d=i.getInstance();d&&"ready"===d.state&&t.detail&&document.body.classList.add("is-using-mouse")}return h}}},{key:"fromOpener",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=function(t){for(var e=["false","0","no","null","undefined"],i=["true","1","yes"],n=Object.assign({},t.dataset),o={},a=0,s=Object.entries(n);a-1)o[l]=!1;else if(i.indexOf(o[l])>-1)o[l]=!0;else try{o[l]=JSON.parse(c)}catch(t){o[l]=c}else o[l]=c}return t instanceof Element&&(o.$trigger=t),o},o=[],a=e.startIndex||0,s=e.target||null,r=void 0!==(e=k({},e,i.openers.get(t))).groupAll&&e.groupAll,l=void 0===e.groupAttr?"data-fancybox":e.groupAttr,c=l&&s?s.getAttribute("".concat(l)):"";if(!s||c||r){var h=e.root||(s?s.getRootNode():document.body);o=[].slice.call(h.querySelectorAll(t))}if(s&&!r&&(o=c?o.filter((function(t){return t.getAttribute("".concat(l))===c})):[s]),!o.length)return!1;var d=i.getInstance();return!(d&&o.indexOf(d.options.$trigger)>-1)&&(a=s?o.indexOf(s):a,new i(o=o.map(n),k({},e,{startIndex:a,$trigger:s})))}},{key:"bind",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};function n(){document.body.addEventListener("click",i.fromEvent,!1)}W&&(i.openers.size||(/complete|interactive|loaded/.test(document.readyState)?n():document.addEventListener("DOMContentLoaded",n)),i.openers.set(t,e))}},{key:"unbind",value:function(t){i.openers.delete(t),i.openers.size||i.destroy()}},{key:"destroy",value:function(){for(var t;t=i.getInstance();)t.destroy();i.openers=new Map,document.body.removeEventListener("click",i.fromEvent,!1)}},{key:"getInstance",value:function(t){return t?at.get(t):Array.from(at.values()).reverse().find((function(t){return!t.isClosing()&&t}))||null}},{key:"close",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=arguments.length>1?arguments[1]:void 0;if(t){var n,o=x(at.values());try{for(o.s();!(n=o.n()).done;){var a=n.value;a.close(e)}}catch(t){o.e(t)}finally{o.f()}}else{var s=i.getInstance();s&&s.close(e)}}},{key:"next",value:function(){var t=i.getInstance();t&&t.next()}},{key:"prev",value:function(){var t=i.getInstance();t&&t.prev()}}]),i}(O);rt.version="4.0.31",rt.defaults=ot,rt.openers=new Map,rt.Plugins=nt,rt.bind("[data-fancybox]");for(var lt=0,ct=Object.entries(rt.Plugins||{});lt1,r={elements_selector:".lazy",container:e||t?document:null,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",data_bg_hidpi:"bg-hidpi",data_bg_multi:"bg-multi",data_bg_multi_hidpi:"bg-multi-hidpi",data_bg_set:"bg-set",data_poster:"poster",class_applied:"applied",class_loading:"loading",class_loaded:"loaded",class_error:"error",class_entered:"entered",class_exited:"exited",unobserve_completed:!0,unobserve_entered:!1,cancel_on_exit:!0,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1,restore_on_error:!1},c=function(t){return n({},r,t)},l=function(n,t){var e,i="LazyLoad::Initialized",o=new n(t);try{e=new CustomEvent(i,{detail:{instance:o}})}catch(n){(e=document.createEvent("CustomEvent")).initCustomEvent(i,!1,!1,{instance:o})}window.dispatchEvent(e)},u="src",s="srcset",d="sizes",f="poster",_="llOriginalAttrs",g="data",v="loading",b="loaded",m="applied",p="error",h="native",E="data-",I="ll-status",y=function(n,t){return n.getAttribute(E+t)},k=function(n){return y(n,I)},w=function(n,t){return function(n,t,e){var i="data-ll-status";null!==e?n.setAttribute(i,e):n.removeAttribute(i)}(n,0,t)},A=function(n){return w(n,null)},L=function(n){return null===k(n)},O=function(n){return k(n)===h},x=[v,b,m,p],C=function(n,t,e,i){n&&(void 0===i?void 0===e?n(t):n(t,e):n(t,e,i))},N=function(n,t){o?n.classList.add(t):n.className+=(n.className?" ":"")+t},M=function(n,t){o?n.classList.remove(t):n.className=n.className.replace(new RegExp("(^|\\s+)"+t+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")},z=function(n){return n.llTempImage},T=function(n,t){if(t){var e=t._observer;e&&e.unobserve(n)}},R=function(n,t){n&&(n.loadingCount+=t)},G=function(n,t){n&&(n.toLoadCount=t)},j=function(n){for(var t,e=[],i=0;t=n.children[i];i+=1)"SOURCE"===t.tagName&&e.push(t);return e},D=function(n,t){var e=n.parentNode;e&&"PICTURE"===e.tagName&&j(e).forEach(t)},H=function(n,t){j(n).forEach(t)},V=[u],F=[u,f],B=[u,s,d],J=[g],P=function(n){return!!n[_]},S=function(n){return n[_]},U=function(n){return delete n[_]},$=function(n,t){if(!P(n)){var e={};t.forEach((function(t){e[t]=n.getAttribute(t)})),n[_]=e}},q=function(n,t){if(P(n)){var e=S(n);t.forEach((function(t){!function(n,t,e){e?n.setAttribute(t,e):n.removeAttribute(t)}(n,t,e[t])}))}},K=function(n,t,e){N(n,t.class_applied),w(n,m),e&&(t.unobserve_completed&&T(n,t),C(t.callback_applied,n,e))},Q=function(n,t,e){N(n,t.class_loading),w(n,v),e&&(R(e,1),C(t.callback_loading,n,e))},W=function(n,t,e){e&&n.setAttribute(t,e)},X=function(n,t){W(n,d,y(n,t.data_sizes)),W(n,s,y(n,t.data_srcset)),W(n,u,y(n,t.data_src))},Y={IMG:function(n,t){D(n,(function(n){$(n,B),X(n,t)})),$(n,B),X(n,t)},IFRAME:function(n,t){$(n,V),W(n,u,y(n,t.data_src))},VIDEO:function(n,t){H(n,(function(n){$(n,V),W(n,u,y(n,t.data_src))})),$(n,F),W(n,f,y(n,t.data_poster)),W(n,u,y(n,t.data_src)),n.load()},OBJECT:function(n,t){$(n,J),W(n,g,y(n,t.data_src))}},Z=["IMG","IFRAME","VIDEO","OBJECT"],nn=function(n,t){!t||function(n){return n.loadingCount>0}(t)||function(n){return n.toLoadCount>0}(t)||C(n.callback_finish,t)},tn=function(n,t,e){n.addEventListener(t,e),n.llEvLisnrs[t]=e},en=function(n,t,e){n.removeEventListener(t,e)},on=function(n){return!!n.llEvLisnrs},an=function(n){if(on(n)){var t=n.llEvLisnrs;for(var e in t){var i=t[e];en(n,e,i)}delete n.llEvLisnrs}},rn=function(n,t,e){!function(n){delete n.llTempImage}(n),R(e,-1),function(n){n&&(n.toLoadCount-=1)}(e),M(n,t.class_loading),t.unobserve_completed&&T(n,e)},cn=function(n,t,e){var i=z(n)||n;on(i)||function(n,t,e){on(n)||(n.llEvLisnrs={});var i="VIDEO"===n.tagName?"loadeddata":"load";tn(n,i,t),tn(n,"error",e)}(i,(function(o){!function(n,t,e,i){var o=O(t);rn(t,e,i),N(t,e.class_loaded),w(t,b),C(e.callback_loaded,t,i),o||nn(e,i)}(0,n,t,e),an(i)}),(function(o){!function(n,t,e,i){var o=O(t);rn(t,e,i),N(t,e.class_error),w(t,p),C(e.callback_error,t,i),e.restore_on_error&&q(t,B),o||nn(e,i)}(0,n,t,e),an(i)}))},ln=function(n,t,e){!function(n){return Z.indexOf(n.tagName)>-1}(n)?function(n,t,e){!function(n){n.llTempImage=document.createElement("IMG")}(n),cn(n,t,e),function(n){P(n)||(n[_]={backgroundImage:n.style.backgroundImage})}(n),function(n,t,e){var i=y(n,t.data_bg),o=y(n,t.data_bg_hidpi),r=a&&o?o:i;r&&(n.style.backgroundImage='url("'.concat(r,'")'),z(n).setAttribute(u,r),Q(n,t,e))}(n,t,e),function(n,t,e){var i=y(n,t.data_bg_multi),o=y(n,t.data_bg_multi_hidpi),r=a&&o?o:i;r&&(n.style.backgroundImage=r,K(n,t,e))}(n,t,e),function(n,t,e){var i=y(n,t.data_bg_set);if(i){var o=i.split("|"),a=o.map((function(n){return"image-set(".concat(n,")")}));n.style.backgroundImage=a.join(),""===n.style.backgroundImage&&(a=o.map((function(n){return"-webkit-image-set(".concat(n,")")})),n.style.backgroundImage=a.join()),K(n,t,e)}}(n,t,e)}(n,t,e):function(n,t,e){cn(n,t,e),function(n,t,e){var i=Y[n.tagName];i&&(i(n,t),Q(n,t,e))}(n,t,e)}(n,t,e)},un=function(n){n.removeAttribute(u),n.removeAttribute(s),n.removeAttribute(d)},sn=function(n){D(n,(function(n){q(n,B)})),q(n,B)},dn={IMG:sn,IFRAME:function(n){q(n,V)},VIDEO:function(n){H(n,(function(n){q(n,V)})),q(n,F),n.load()},OBJECT:function(n){q(n,J)}},fn=function(n,t){(function(n){var t=dn[n.tagName];t?t(n):function(n){if(P(n)){var t=S(n);n.style.backgroundImage=t.backgroundImage}}(n)})(n),function(n,t){L(n)||O(n)||(M(n,t.class_entered),M(n,t.class_exited),M(n,t.class_applied),M(n,t.class_loading),M(n,t.class_loaded),M(n,t.class_error))}(n,t),A(n),U(n)},_n=["IMG","IFRAME","VIDEO"],gn=function(n){return n.use_native&&"loading"in HTMLImageElement.prototype},vn=function(n,t,e){n.forEach((function(n){return function(n){return n.isIntersecting||n.intersectionRatio>0}(n)?function(n,t,e,i){var o=function(n){return x.indexOf(k(n))>=0}(n);w(n,"entered"),N(n,e.class_entered),M(n,e.class_exited),function(n,t,e){t.unobserve_entered&&T(n,e)}(n,e,i),C(e.callback_enter,n,t,i),o||ln(n,e,i)}(n.target,n,t,e):function(n,t,e,i){L(n)||(N(n,e.class_exited),function(n,t,e,i){e.cancel_on_exit&&function(n){return k(n)===v}(n)&&"IMG"===n.tagName&&(an(n),function(n){D(n,(function(n){un(n)})),un(n)}(n),sn(n),M(n,e.class_loading),R(i,-1),A(n),C(e.callback_cancel,n,t,i))}(n,t,e,i),C(e.callback_exit,n,t,i))}(n.target,n,t,e)}))},bn=function(n){return Array.prototype.slice.call(n)},mn=function(n){return n.container.querySelectorAll(n.elements_selector)},pn=function(n){return function(n){return k(n)===p}(n)},hn=function(n,t){return function(n){return bn(n).filter(L)}(n||mn(t))},En=function(n,e){var o=c(n);this._settings=o,this.loadingCount=0,function(n,t){i&&!gn(n)&&(t._observer=new IntersectionObserver((function(e){vn(e,n,t)}),function(n){return{root:n.container===document?null:n.container,rootMargin:n.thresholds||n.threshold+"px"}}(n)))}(o,this),function(n,e){t&&(e._onlineHandler=function(){!function(n,t){var e;(e=mn(n),bn(e).filter(pn)).forEach((function(t){M(t,n.class_error),A(t)})),t.update()}(n,e)},window.addEventListener("online",e._onlineHandler))}(o,this),this.update(e)};return En.prototype={update:function(n){var t,o,a=this._settings,r=hn(n,a);G(this,r.length),!e&&i?gn(a)?function(n,t,e){n.forEach((function(n){-1!==_n.indexOf(n.tagName)&&function(n,t,e){n.setAttribute("loading","lazy"),cn(n,t,e),function(n,t){var e=Y[n.tagName];e&&e(n,t)}(n,t),w(n,h)}(n,t,e)})),G(e,0)}(r,a,this):(o=r,function(n){n.disconnect()}(t=this._observer),function(n,t){t.forEach((function(t){n.observe(t)}))}(t,o)):this.loadAll(r)},destroy:function(){this._observer&&this._observer.disconnect(),t&&window.removeEventListener("online",this._onlineHandler),mn(this._settings).forEach((function(n){U(n)})),delete this._observer,delete this._settings,delete this._onlineHandler,delete this.loadingCount,delete this.toLoadCount},loadAll:function(n){var t=this,e=this._settings;hn(n,e).forEach((function(n){T(n,t),ln(n,e,t)}))},restoreAll:function(){var n=this._settings;mn(n).forEach((function(t){fn(t,n)}))}},En.load=function(n,t){var e=c(t);ln(n,e)},En.resetStatus=function(n){A(n)},t&&function(n,t){if(t)if(t.length)for(var e,i=0;e=t[i];i+=1)l(n,e);else l(n,t)}(En,window.lazyLoadOptions),En})); + + +function debounce(func, wait, immediate) { + var timeout; + return function() { + var context = this, args = arguments; + var later = function() { + timeout = null; + if (!immediate) func.apply(context, args); + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); + }; +}; + +function showCartSummary(display_node) { + var $status_container = $(display_node); + $status_container.html('...'); + Hura.Cart.getSummary().then(summary => { + $status_container.html(summary.total_item); + }); +} + +function formatCurrency(a) { + var b = parseFloat(a).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1.").toString(); + var len = b.length; + b = b.substring(0, len - 3); + return b; +} + +function strToNumber(str) { + str += ''; //convert to str incase it's already a number + while(str.indexOf(".") > 0){ + str = str.replace('.',''); + } + var result = parseFloat(str); + return isNaN(result) ? 0 : result; +} + +function writeStringToPrice(str){ + str = (str+'').replace(/\./g, ""); + var first_group = str.substr(0,str.length % 3); + var remain_group = str.replace(first_group,""); + var num_group = remain_group.length/3; + var result = "", group_of_three; + + for(var i=0;i < num_group;i++){ + group_of_three = remain_group.substr(i*3,3); + result += group_of_three; + if(i !== (num_group-1)) result += "."; + } + + if(first_group.length > 0) { + return (result !== "") ? first_group + "." + result : first_group; + } + + return result; +} diff --git a/Chico/Mobile/Homepage/producDetail.js b/Chico/Mobile/Homepage/producDetail.js new file mode 100644 index 0000000..e626e5b --- /dev/null +++ b/Chico/Mobile/Homepage/producDetail.js @@ -0,0 +1,869 @@ + + //FANCYBOX + // SWIPER GALLERY - PRODUCT + function swiperThumbnails() { + const galleryThumbs = new Swiper(".gallery-thumbs", { + spaceBetween: 8, + slidesPerView: 5, + slideToClickedSlide: true, + freeMode: true, + watchSlidesProgress: true, + centerInsufficientSlides: true, + navigation: { + nextEl: ".swiper-button-next-gallery", + prevEl: ".swiper-button-prev-gallery", + }, + }); + + const galleryTop = new Swiper(".gallery-top", { + spaceBetween: 16, + slidesPerView: 1, + thumbs: { + swiper: galleryThumbs, + }, + // AUTO SILDED AT FISRT AND END + on: { + slideChange: function () { + let activeIndex = this.activeIndex + 1; + + let activeSlide = document.querySelector( + `.gallery-thumbs .swiper-slide:nth-child(${activeIndex})` + ); + let nextSlide = document.querySelector( + `.gallery-thumbs .swiper-slide:nth-child(${activeIndex + 1})` + ); + let prevSlide = document.querySelector( + `.gallery-thumbs .swiper-slide:nth-child(${activeIndex - 1})` + ); + + if ( + nextSlide && + !nextSlide.classList.contains("swiper-slide-visible") + ) { + this.thumbs.swiper.slideNext(); + } else if ( + prevSlide && + !prevSlide.classList.contains("swiper-slide-visible") + ) { + this.thumbs.swiper.slidePrev(); + } + }, + }, + }); + } + swiperThumbnails() + + + function fancyBox() { + Fancybox.bind('[data-fancybox="gallery"]', { + Toolbar: { + display: [ + { + id: "counter", + position: "center", + }, + "zoom", + "slideshow", + "fullscreen", + "thumbs", + "close", + ], + }, + //click: "unset", + on: { + initLayout: (fancybox) => { + // Create left column + const $leftCol = document.createElement("div"); + $leftCol.classList.add("fancybox__leftCol"); + + while (fancybox.$container.firstChild) { + $leftCol.appendChild(fancybox.$container.firstChild); + } + + // Add elements to DOM + fancybox.$container.appendChild(fancybox.$backdrop); + fancybox.$container.appendChild($leftCol); + fancybox.$leftCol = $leftCol; + }, + "Carousel.ready Carousel.change": (fancybox, carousel, slideIndex) => { + // Get index of the current gallery item + slideIndex = + slideIndex === undefined + ? carousel.options.initialPage + : slideIndex; + + // console.log(slideIndex); + // Get link related to current item + const $trigger = fancybox.items[slideIndex].$trigger; + + // Get data from `data-info` attribute + const data = $trigger.dataset.info || ""; + }, + }, + }); + } + fancyBox(); + + + + + function callForMe(){ + var error = ""; + var number_regex1 = /^[0]\d{9}$/i; + var number_regex2 = /^[0]\d{10}$/i; + var glPro = "{{ page.product_info.productName}}"; + var check_name = 'Khách hàng yêu cầu gọi lại'; + var check_email = ''; + var check_tel = document.getElementById('phone-now').value; + var check_message = "Khách hàng yêu cầu gọi lại sản phẩm: " + glPro; + if(check_tel.length < 8) error += "- Bạn chưa nhập số điện thoại\n"; + else{ + if(number_regex1.test(check_tel) == false && number_regex2.test(check_tel) == false) error += "- Số điện thoại chưa chính xác\n"; + } + + if (error == "") { + var params = { + action : "customer", + action_type: "contact", + type: "contact", + info: { + name: check_name, + email: check_email, + tel: check_tel, + title : 'Khách hàng yêu cầu gọi lại sản phẩm: ' + glPro, + message: check_message, + }, + }; + Hura.Ajax.post("customer", params).then(function (data) { + alert( + "Bạn đã gửi liên hệ thành công\nChúng tôi đã nhận được thông tin và sẽ liên hệ với quý khách trong thời gian sớm nhất" + ); + location.reload(); + }); + } else alert(error); + return false; + } + + + + + $("#js-showmore").click(function(){ + $("#js-summary").toggleClass("active"); + var text = $(this).find("span").html(); + + if (text == 'Xem thêm') { + $(this).find("span").text("Thu gọn"); + } else if (text == 'Thu gọn') { + $(this).find("span").text("Xem thêm"); + } + }) + + + + + + function _showProductDescription() { + let height_container = $("#js-product-desc").height(); + + $("#js-desc-showmore").css("display","block"); + + $("#js-desc-showmore").click(function(){ + $("#js-product-desc").addClass("active"); + $("#js-desc-showless").css("display","block"); + $(this).hide(); + }); + $("#js-desc-showless").click(function(){ + $("#js-product-desc").removeClass("active"); + $("#js-desc-showmore").css("display","block"); + $(this).hide(); + $('html, body').animate({ + scrollTop: $("#js-product-desc").offset().top - 140 + },800); + }); + } + _showProductDescription(); + + + + // ADD PRODUCT TO CART - PRODUCT DETAILS + function addProductToCart(product_id, variant_id_fake, props) { + const props_quantity = parseInt($(".js-buy-quantity-temp").attr("value")); + const stockQuantity = parseInt($(".bk-check-out-of-stock").attr("value")); + //console.log(props_quantity); + + var variant_id = 0; + var data = $('.js-variant-option-container input[type="hidden"]').val(); + if (data) { + var newData = JSON.parse(data) + variant_id = newData.variant_id; + } + + if (stockQuantity) { + var product_props = { + quantity: props_quantity, + buyer_note: "", + }; + + Hura.Cart.Product.add(product_id, variant_id, product_props).then(function ( + response + ) { + // Error response + if (response.status === "error") { + if (response.error_type == "item-in-cart") { + alert("Sản phẩm đã trong giỏ hàng"); + } else if (response.error_type == "invalid-item-id") + alert("ID sản phẩm không đúng"); + else alert(response.message); + } + // Success response + else { + modalSuccess(); + change_cart_amount(); + } + }); + } else { + alert("Sản phẩm không có sẵn. Vui lòng liên hệ. Xin cảm ơn!") + } + } + + // BUY NOW + function buyNow(product_id, variant_id_fake, props) { + addProductToCart(product_id, variant_id_fake, props); + const stockQuantityCheck = parseInt($(".bk-check-out-of-stock").attr("value")); + if (stockQuantityCheck) { + setTimeout(function () { + window.location.href = "./cart"; + }, 1500); + } + } + + + // BUY NOW + function buyPayInstall(product_id, variant_id_fake, props) { + addProductToCart(product_id, variant_id_fake, props); + const stockQuantityCheck = parseInt($(".bk-check-out-of-stock").attr("value")); + if (stockQuantityCheck) { + setTimeout(function () { + window.location.href = "./cart?show=tragop"; + }, 1500); + } + } + + // LANG NGHE THAY DOI SO LUONG SP + function listenQuantityBuy() { + const $track_change = $(".js-quantity-change"); + + //thay doi so luong sp mua, neu nhap so luong + $track_change.on("change", function (e) { + $(".js-buy-quantity-temp").attr("value", e.target.value); + }); + + //thay doi so luong sp theo - hoac + + $track_change.on("click", function (e) { + if (e.target.nodeName === "INPUT") return; + + let quantity_change = parseInt(this.getAttribute("data-value")); + let $row = $(this).closest(".cart-quantity-select"); + let current_quantity = parseInt($row.find(".js-buy-quantity").val()); + + //loai bo so luong vo ly + if (current_quantity < 0) { + $row.find(".js-buy-quantity").val(0); + return; + } + + let totalQuantity = current_quantity + quantity_change; + + $row.find(".js-buy-quantity").val(totalQuantity); + $(".js-buy-quantity-temp").attr("value", totalQuantity); + }); + } + listenQuantityBuy(); + + + + + + function renReplyReview(new_replies){ + var html = ''; + + new_replies.forEach(function(value,item){ + var check_user = ` + `+value.user_name+` + + `+value.user_name+``; + if (value.is_user_admin == 1) { + check_user = ` + `+value.user_name+` + QTV` + } + + if(value.is_user_admin == 1 || value.approved == 1){ + html += ` +
+
+
+ `+check_user+` +
+ +
`+value.content+`
+
+
+ `; + } + }) + + return html; + } + + + // COMMENT KHÁCH HÀNG + +const is_admin_login = "no"; +const customer_info = 0; + +$(document).ready(function () { + + getRatingComment(); + + $(".comment-form textarea").focus(function(){ + $(this).parent().find(".form-input").show(); + }); + + layComment({{ page.product_info.productId }}, "product", "", "", "new"); + $("#js-show-comment").click(function(){ + $("#js-box-review").fadeIn(); + $("#js-show-comment").addClass("hide"); + $("#js-hide-comment").removeClass("hide"); + }); + + $("#js-hide-comment").click(function(){ + $("#js-box-review").fadeOut(); + $("#js-hide-comment").addClass("hide"); + $("#js-show-comment").removeClass("hide"); + }); + + $("#comment_keyword").keydown(function(e){ + if(e.keyCode==13){ + var search_field = $(".search-comment select").val(); + var keyword = $("#comment_keyword").val(); + //console.log(search_field +"---"+keyword); + } + }); + + $(".comment-action-list .sort a").click(function(){ + $(".comment-action-list .sort a").removeClass("current"); + $(this).addClass("current"); + }); + +}); + + + +function checkReply(is_admin_login, customer_info, replyTo) { + var formReply = ""; + if (is_admin_login == "yes") { + formReply =` +
+

Bạn đang đăng nhập là Admin

+ + + + Gửi bình luận +
+ `; + } else if (is_admin_login == "no" && customer_info.length > 0) { + formReply = + ` + + `; + } else + formReply = + ` +
+ + +
`; + + return formReply; +} + +function checkReplyReview(is_admin_login, customer_info , replyTo) { + var formReply = ''; + if( is_admin_login == 'yes') { + formReply = ` +

Bạn đang đăng nhập là Admin

+ + + + `; + } else if ( is_admin_login == 'no' && customer_info.length > 0 ) { + formReply = ` + + + + `; + } else + formReply = ` +
+
+ + + +
+
`; + + return formReply ; +} + +function layComment(productId, item_type, searchText, searchField, sort) { + var params = { + action_type: "get", + item_type: "product", + item_id: productId, + search: searchText, + search_field: searchField, + order_by: "new", + }; + + Hura.Ajax.get("comment", params).then(function (data) { + //console.log("comment - ", data); + var html = Hura.Template.parse(commentTpl, data); + Hura.Template.render("#comment-list", html); + + $(".js-avatar-user").each(function () { + var name = $(this).html().substring(0, 1); + $(this).html(name); + }); + }); +} + +function getReply(commentId) { + var replyParams = { + action_type: "get-reply", + item_id: commentId, + }; + + var target = "#reply_list_" + commentId; + Hura.Ajax.get("comment", replyParams).then(function (data) { + // console.log("getReply - ", data); + var html = Hura.Template.parse(replyTpl, data); + Hura.Template.render(target, html); + $(".js-avatar-user").each(function () { + var name = $(this).html().substring(0, 1); + $(this).html(name); + }); + }); +} + +function send_vote(){ + var error = ""; + var idUpload = $('#js-file-upload-id').val(); + + if($("#rating-content").val() == '') error+="Bạn chưa nhập nội dung đánh giá\n"; + if($("#rating-name").val() == '') error+="Bạn chưa nhập tên\n"; + if($("#rating-email").val() == '') error+="Bạn chưa nhập email\n"; + if($("#rating-tel").val() == '') error+="Bạn chưa nhập số điện thoại\n"; + + if(error!=''){ + alert(error); + return false; + } + + var reviewParams = { + action_type: "review", + info : { + item_type : 'product', + item_title : `{{ page.product_info.productName }}`, + user_name : $("#rating-name").val(), + user_email : $("#rating-email").val(), + user_tel : $("#rating-tel").val(), + user_avatar : '', + user_note : '', + rate : $("#select-rate-pro input:checked").val(), + title : `Đánh giá sản phẩm {{ page.product_info.productName }}`, + content : $("#rating-content").val(), + files : idUpload + } + } + + Hura.Ajax.post('customer', reviewParams).then(function (data) { + //console.log("data",data); + alert('Bạn đã gửi thành công!'); location.reload(); + }) +} + +function getRatingComment() { + var params = { + action_type: "list", + search : '', + search_field :'', + order_by :'new', + numPerPage :20, + item_type : 'product' + }; + + + Hura.Ajax.get("review", params).then(function (data) { + //console.log(data); + var html = Hura.Template.parse(rating_tpl, data); + Hura.Template.render("#js-review-holder", html); + }) +} + +function postComment(id, reply) { + if (check_field(id) == false) return false; + + + if (reply == "") { + var item_type = $(".form-post [name='user_post[item_type]']").val(); + var item_id = $(".form-post [name='user_post[item_id]']").val(); + var item_title = $(".form-post [name='user_post[item_title]']").val(); + var title = $(".form-post [name='user_post[title]']").val(); + var avatar = $(".form-post [name='user_post[user_avatar]']").val(); + var user_name = $("#name" + id).val(); + var user_email = $("#email" + id).val(); + var content = $("#content" + id).val(); + var rate = $("#rating-review0 input:checked").val(); + var idUpload = $('#js-file-upload-id').val(); + + var params = { + action_type: "comment", + type :"ajax", + info: { + item_type : 'product', + item_id : '{{ page.product_info.productId }}', + item_title : `{{ page.product_info.productName }}`, + reply_to : reply_to, + user_email : user_email, + user_name : user_name, + user_avatar : '', + user_note : '', + rate : 5, + title : `{{ page.product_info.productName }}`, + content : content, + files : '' + }, + }; + + // console.log(params); + + Hura.Ajax.post("customer", params).then(function (data) { + alert("Bạn đã gửi thành công"); + location.reload(); + }); + } else { + var reply_to = id; + var item_type = $(".form-reply" + id + "[name='user_post[item_type]']").val(); + var item_id = $(".form-reply" + id + "[name='user_post[item_id]']").val(); + var item_title = $(".form-reply" + id + "[name='user_post[item_title]']").val(); + var title = $(".form-reply" + id + "[name='user_post[title]']").val(); + var avatar = $(".form-reply" + id + "[name='user_post[user_avatar]']").val(); + var user_name = $("#name" + id).val(); + var user_email = $("#email" + id).val(); + var content = $("#content" + id).val(); + + var params = { + action_type: "comment-reply", + info: { + item_type: item_type, + item_id: item_id, + item_title: item_title, + reply_to: reply_to, + user_email: user_email, + user_name: user_name, + user_avatar: "", + user_note: "", + rate: 5, + title: title, + content: content, + files: "", + }, + }; + + Hura.Ajax.post("customer", params).then(function (data) { + alert("Bạn đã gửi thành công"); + location.reload(); + }); + } +} + + function closeCommentBox() { + $('#newCommentBox').fadeOut(); + + } + + function showCommentBox(id) { + + var error = ""; + var content = document.getElementById("content"+id).value; + if(content=='') error+= "Bạn chưa nhập nội dung\n"; + if(error==''){ + $('#newCommentBox').fadeIn(); + } + else { + alert(error); + return false; + } + } + +function check_field(id) { + var error = ""; + var name = document.getElementById("name"+id).value; + var email = document.getElementById("email"+id).value; + + if(name=='') error+= "Bạn chưa nhập tên\n"; + if(email=='') error+= "Bạn chưa nhập email\n"; + + + if(error==''){ + return true; + } + else { + alert(error); + return false; + } +}; + +function check_field_review(id) { + var error = ""; + var name = document.getElementById("review-name"+id).value; + var email = document.getElementById("review-email"+id).value; + var content = document.getElementById("review-content"+id).value; + + if(name=='') error+= "Bạn chưa nhập tên\n"; + if(email=='') error+= "Bạn chưa nhập email\n"; + if(content=='') error+= "Bạn chưa nhập nội dung\n"; + + if(error==''){ + return true; + } + else { + alert(error); + return false; + } +}; + +function postReview(id,reply) { + if(check_field_review(id)==false) return false; + var reply_to = id; + var user_name = $("#review-name"+id).val(); + var user_email = $("#review-email"+id).val(); + var content = $("#review-content"+id).val(); + + var params = { + action_type: "review-reply", + type :"ajax", + info : { + item_type : 'product', + item_id : '{{ page.product_info.productId }}', + item_title : `{{ page.product_info.productName }}`, + reply_to : reply_to, + user_email : user_email, + user_name : user_name, + user_avatar : '', + user_note : '', + rate : 5, + title : `{{ page.product_info.productName }}`, + content : content, + files : '' + } + } + + Hura.Ajax.post('customer', params).then(function (data) { + alert("Bạn đã gửi thành công"); + location.reload(); + }) +}; + +function formatDate(a) { + var a = new Date(parseInt(a) * 1000); + + var year = a.getFullYear(); + var month = a.getMonth() + 1; + var date = a.getDate(); + var hour = a.getHours(); + var min = a.getMinutes(); + var sec = a.getSeconds(); + // var time = date + '/' + month + '/' + year + ' ' + hour + ':' + min + ':' + sec ; + var time = date + "/" + month + "/" + year; + return time; +} + +function closeFormCommentInput() { + $(".form-input").hide(); +} + +function showFormReply(a) { + $("#" + a).show(); +} + + function showReplyForm(id){ + var element = $("#reply-comment-"+id); + $("#reply-comment-"+id).toggle(); + } + + function closeCommentFormInput(a){ + $(a).hide(); + } + + + + + + + + // POST PRODUCT HISTORY + var ITEM_TYPE = 'product'; + var ITEM_ID = '{{ page.product_info.productId }}'; + var ITEM_NAME = `{{ page.product_info.productName }}`; + var VARIANT_SELECTED = {}; + + + + // GET PRODUCT RELATIVE + function getRelativeProduct() { + var categoryID = parseInt($('.section-details').attr('data-item_category-id')); + var params = { + action_type: "product-list", + category: categoryID, + }; + + var target = "#js-bottom-product-box"; + + Hura.Ajax.get("product", params).then(function (data) { + //console.log(data.list) + var currentProductID = parseInt($('.section-details').attr('data-item_id')); + var newDataList = data.list.filter(item => item.id !== currentProductID); + + if (data.list.length > 0) { + var html = Hura.Template.parse(productTpl, newDataList); + Hura.Template.render(target, html); + } else { + $("#js-bottom-product-box").html(`

Sản phẩm đang cập nhập

`) + } + + resetBottomBoxDetails(); + }); + } + getRelativeProduct(); + + // GET PRODUCT HISTORY + function getProductHistory() { + Hura.Ajax.post('user', { action_type: 'product-view-history' }).then(function (data) { + + var target = '#js-bottom-product-history'; + + var html = Hura.Template.parse(productTpl, data.list); + Hura.Template.render(target, html); + + resetBottomBoxDetails(); + }) + } + + + function resetBottomBoxDetails() { + $(".swiper-wrapper").css("display", "none"); + + setTimeout(function () { + $(".swiper-wrapper").css("display", "flex"); + }, 100) + } + + resetBottomBoxDetails(); + // SWIPER BOTTOM PRODUCT BOX + function productBottomBoxSwiper() { + new Swiper(".bottom-product-box-swiper", { + slidesPerView: 2, + spaceBetween: 10, + rewind: true, + + }); + } + + productBottomBoxSwiper(); + + + + // CẤU HÌNH : KÍCH THƯỚC, DUNG LƯỢNG, MÀU SẮC + + function _setVariantColor() { + $('#js-variant-holder .js-variant-option-value').each(function () { + var variant_key = $(this).attr('data-key'); + if (variant_key === 'mau-sac') { + $(this).addClass('js-variant-color'); + } + }); + + $('.js-variant-color').each(function () { + var data_color = $(this).attr('data-value').substring(0, 7); + $(this).css('background', data_color) + }); + } + + _setVariantColor(); + function _changePriceVariant() { + $('.js-variant-option-value').click(function () { + setTimeout(function () { + + var data = JSON.parse($('#js-variant-holder input[type="hidden"]').val()); + var price = parseInt(data.current_price); + var marketPrice = parseInt($('.bk-product-marketPrice').attr("value")); + var variantStock = data.current_stock; + var variantValue = data.label; + + //console.log(data, price, marketPrice, variantValue) + + $('.js-variant-label').attr("data-label", variantValue); + getVariantLabel(); + + var variantName = $('.js-variant-label').html(); + $('.bk-check-out-of-stock').attr("value", variantStock); + + if (variantStock > 0) { + $('.js-variant-price').html(formatCurrency(price) + ' đ'); + $('.bk-product-price').html(price); + } else { + $('.js-variant-price').html("Hết hàng"); + } + + $('.bk-product-property').val(variantName) + $('.js-variant-name').html(' - (' + variantName + ')'); + + if (marketPrice > price && price > 0) { + var price_off = 100 - price / marketPrice * 100; + $('.js-price-off').html('(-' + formatCurrency(price_off) + '%)'); + $('.js-variant-marketPrice').show(); + } else { + $('.js-variant-marketPrice').hide(); + $('.js-price-off').hide(); + } + + // change image + let variant_image = data.image; + //console.log(variant_image); + if (variant_image != '') { + $('.gallery-thumbs .swiper-slide').each(function (index) { + var slideThumbsSrc = $(this).children().attr("src"); + if (variant_image === slideThumbsSrc) { + //console.log(index); + galleryTop.slideTo(index, 500, true); + } + }); + } + }, 100); + }); + //$('.js-variant-option-value:first-child').click(); + } + _changePriceVariant(); \ No newline at end of file diff --git a/Chico/Mobile/Homepage/styles.css b/Chico/Mobile/Homepage/styles.css new file mode 100644 index 0000000..e014f74 --- /dev/null +++ b/Chico/Mobile/Homepage/styles.css @@ -0,0 +1,4233 @@ +*, +::after, +::before { + margin: 0; + padding: 0; + -webkit-box-sizing: inherit; + box-sizing: inherit; +} + +.red{color:#DA251C;} + +html { + font-size: 14px; + scroll-behavior: smooth; +} + +.text-center { + width: 100%; + text-align: center !important; +} + +body { + -webkit-box-sizing: border-box; + box-sizing: border-box; + font-family: Inter, sans-serif; + line-height: 1.2; + font-weight: 400; + color: #000; + background-color: #f7f7f7; +} + +a { + color: inherit; + font-size: inherit; + text-decoration: none; +} + +li{ + list-style: none; +} + +.gap-12{ + gap: 12px; +} + +.container{ + padding:0 10px +} + +img { + display: block; + max-width: 100%; +} + +.list-style-none { + list-style: none; +} + +.list-style-cricle { + list-style: circle; +} + +input::-webkit-input-placeholder, +textarea::-webkit-input-placeholder { + font-family: Inter, sans-serif; +} + +input::-moz-placeholder, +textarea::-moz-placeholder { + font-family: Inter, sans-serif; +} + +input:-ms-input-placeholder, +textarea:-ms-input-placeholder { + font-family: Inter, sans-serif; +} + +input::-ms-input-placeholder, +textarea::-ms-input-placeholder { + font-family: Inter, sans-serif; +} + +input, +input::placeholder, +select, +textarea, +textarea::placeholder { + font-family: Inter, sans-serif; +} + +.font-weight-700 { + font-weight: 700; +} + +.font-weight-600 { + font-weight: 600; +} + +.font-weight-500 { + font-weight: 500; +} + +.font-weight-light { + font-weight: 300; +} + +.line-clamp { + -webkit-line-clamp: 1; + -webkit-box-orient: vertical; + overflow: hidden; + display: -webkit-box; +} + +.line-clamp-2 { + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + display: -webkit-box; +} + +.line-clamp-3 { + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + overflow: hidden; + display: -webkit-box; +} + +.line-clamp-4 { + -webkit-line-clamp: 4; + -webkit-box-orient: vertical; + overflow: hidden; + display: -webkit-box; +} + +.line-clamp-6 { + -webkit-line-clamp: 6; + -webkit-box-orient: vertical; + overflow: hidden; + display: -webkit-box; +} + +.boder-radius-15 { + border-radius: 15px; +} + +.text-20 { + font-size: 20px; +} + +.text-12 { + font-size: 12px; +} + +/*FIXED HEADER*/ +.fixed-nav { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 5; + background: #fff; + -webkit-box-shadow: 0 1px 6px rgb(0 0 0 / 30%); + box-shadow: 0 1px 6px rgb(0 0 0 / 30%); + z-index: 10; +} + +.fixed-nav .header-logo{display:none;} + +.fixed-nav .header-search-group { + padding: 0; + position: absolute; + top: 7px; + left: 55px; + width: calc(100% - 111px); + margin-bottom: 10px; + display: block; + +} + +/* GRID */ +.grid { + display: -ms-grid; + display: grid; + gap: 10px; +} + +.grid--6-cols { + -ms-grid-columns: (1fr) [6]; + grid-template-columns: repeat(6, 1fr); +} + +.grid--5-cols { + -ms-grid-columns: (1fr) [5]; + grid-template-columns: repeat(5, 1fr); +} + +.grid--4-cols { + -ms-grid-columns: (1fr) [4]; + grid-template-columns: repeat(4, 1fr); +} + +.grid--2-cols { + -ms-grid-columns: (1fr) [2]; + grid-template-columns: repeat(2, 1fr); +} + +.grid--3-cols { + -ms-grid-columns: (1fr) [3]; + grid-template-columns: repeat(3, 1fr); +} +.grid--product-info { + -ms-grid-columns: 2fr 1fr; + grid-template-columns: 2fr 1fr; +} +.grid--product-details { + -ms-grid-columns: 3fr 1fr; + grid-template-columns: 3fr 1fr; +} +.grid--product-details-inside { + -ms-grid-columns: 5.13fr 6.48fr; + grid-template-columns: 7fr 5.76fr; +} + +.align-items-start { + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; +} + + +/* FLEX */ +.d-flex { + display: -webkit-box; + display: -ms-flexbox; + display: flex; +} + +.align-items-center { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} + +.justify-content-center { + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} + +.justify-content-between { + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.justify-content-around{ + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-around; +} + +.flex-around { + justify-content: space-around; +} + +.flex-column { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +.flex-row { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; +} + +.flex-wrap { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-wrap: row; + flex-wrap: wrap; +} + +/* RESET BLOG CONTENT CSS */ +.info-description-content p, +.info-description-content a, +.info-description-content span, +.info-description-content h1, +.info-description-content h2, +.info-description-content h3, +.info-description-content h4, +.info-description-content h5, +.info-description-content h6, +.info-description-content ol, +.info-description-content ul, +.info-description-content li { + margin: revert; + padding: revert; +} + +/* UTILITIES */ +.mb-15px { + margin-bottom: 15px !important; +} + +.min-width-0 { + min-width: 0; +} + +.d-block { + display: block !important; +} + +.d-none, .hide { + display: none !important; +} + +.gap-4 { + gap: 4px; +} + +.gap-8 { + gap: 8px; +} + +.gap-10 { + gap: 10px; +} + +.gap-16 { + gap: 16px; +} + +body.active::before { + content: ''; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0,0,0,0.2); + z-index: 2; +} + +/*Success Form */ +.success-form-svg { + display: block; + height: 50px; + width: 50px; + color: #CB2026; /* SVG path use currentColor to inherit this */ +} + +.circle { + stroke-dasharray: 76; + stroke-dashoffset: 76; + -webkit-animation: draw 0.5s forwards; + animation: draw 0.5s forwards; +} + +.tick { + stroke-dasharray: 18; + stroke-dashoffset: 18; + -webkit-animation: draw 0.5s forwards 0.6s; + animation: draw 0.5s forwards 0.6s; +} + +@-webkit-keyframes draw { + to { stroke-dashoffset: 0 } +} + +@keyframes draw { + to { stroke-dashoffset: 0 } +} + +.cart-success{ + width: 300px; + height: 183px; + background: #ffffff; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + position: fixed; + +} + +.text-cart-success{ + font-size: 20px; + font-weight: 600; + line-height: 1.6; + padding-top: 30px; + text-align: center; +} + +.ease-015s{ + -webkit-transition: all ease .15s; + -o-transition: all ease .15s; + transition: all ease .15s +} +.success-form{ + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 99999; + background: rgba(0,0,0,0.5); + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + +} + + +/* SWIPER */ +.swiper-button-next, +.swiper-button-prev { + width: 30px; + height: 50px; + background: rgba(0, 0, 0, 0.15); +} +.swiper-button-prev { + border-radius: 0px 10px 10px 0px; + transform: translateX(-10px); +} +.swiper-button-next { + border-radius: 10px 0 0 10px; + transform: translateX(10px); +} +.swiper-button-next::after, +.swiper-button-prev::after { + font-size: 14px; + color: var(--white); +} + +.swiper { + width: 100%; + height: 100%; + margin-left: auto; + margin-right: auto; +} + +.swiperShowcase { + border-radius: 15px +} + +.swiper-slide img { + display: block; + width: 100%; + border-radius: 10px; + +} + +.swiper-pagination-bullet{ + width: 10px !important; + height: 10px !important; + border-radius: 5px !important; + background: rgba(0, 0, 0, 0.5) !important; +} + +.swiper-pagination-bullet-active{ + background: #CC0001!important; + border-radius: 5px !important; + width: 42px !important; + height: 10px !important; +} + +.swiper-slide-product { + height: auto; + background: #fff; + border-radius: 15px; +} +.swiper-slide-product:hover { + box-shadow: var(--box-shadow); +} +.swiper-slide-product:hover .card-img img { + transition: all 0.4s; + transform: translateY(-5px); +} + +.section-showcase .swiper-pagination{position: unset!important;margin-top: 8px !important;} + +/*BRAK CRUMB*/ +.global-breadcrumb ol{ + padding-bottom: 10px; + text-transform: uppercase; + color: #797979; + font-size: 12px; +} +.global-breadcrumb li:first-child span{ + margin-right: 5px; +} + + +/* ANIMATION */ +@-webkit-keyframes shake { + 0% { + -webkit-transform: rotate(0) scale(1) skew(1deg); + } + 10% { + -webkit-transform: rotate(-25deg) scale(1) skew(1deg); + } + 20% { + -webkit-transform: rotate(25deg) scale(1) skew(1deg); + } + 30% { + -webkit-transform: rotate(-25deg) scale(1) skew(1deg); + } + 40% { + -webkit-transform: rotate(25deg) scale(1) skew(1deg); + } + 50% { + -webkit-transform: rotate(0) scale(1) skew(1deg); + } + 100% { + -webkit-transform: rotate(0) scale(1) skew(1deg); + } +} +@keyframes shake { + 0% { + -webkit-transform: rotate(0) scale(1) skew(1deg); + } + 10% { + -webkit-transform: rotate(-25deg) scale(1) skew(1deg); + } + 20% { + -webkit-transform: rotate(25deg) scale(1) skew(1deg); + } + 30% { + -webkit-transform: rotate(-25deg) scale(1) skew(1deg); + } + 40% { + -webkit-transform: rotate(25deg) scale(1) skew(1deg); + } + 50% { + -webkit-transform: rotate(0) scale(1) skew(1deg); + } + 100% { + -webkit-transform: rotate(0) scale(1) skew(1deg); + } +} + +/* SEARCH RESULT BOX */ +.search-results { + display: none; + border: 1px solid #ddd; + background: #fff; + position: absolute; + left: 0; + width: 100%; + z-index: 999; + +} +.search-results-list { + max-height: 300px; + overflow: auto; + z-index: 999; +} +.search-results .item { + background: #fff; + display: flex; + gap: 10px; + padding: 10px; + width: 100%; + position: relative; + text-decoration: none; + font-weight: 400; +} +.search-results a.item:hover { + background-color: #f5f5f5; +} + +.search-results img { + width: 60px; +} + +.search-results .title { + font-size: 14px; + color: #333; + width: calc(100% - 60px); +} + +.search-results .price { + color: #CB2026; + font-weight: 700; + margin-top: 4px; + display: block; +} + +::-webkit-scrollbar { + width: 9px; +} +::-webkit-scrollbar-track { + background: transparent; +} +::-webkit-scrollbar-thumb { + background-color: rgba(155, 155, 155, 0.5); + border-radius: 20px; + border: transparent; +} + +/*SPRITE*/ +.sprite { + background-image: url(./img/sprite.png); + background-repeat: no-repeat; + display: block; +} + +.sprite-bct-footer { + width: 192px; + height: 73px; + background-position: -10px -10px; +} + +.sprite-cart-header { + width: 23px; + height: 22px; + background-position: -222px -10px; +} + +.sprite-cart-sp { + width: 18px; + height: 18px; + background-position: -265px -10px; +} + +.sprite-credit1-footer { + width: 394px; + height: 31px; + background-position: -10px -103px; +} + +.sprite-credit2-footer { + width: 352px; + height: 32px; + background-position: -10px -154px; +} + +.sprite-doi-tra-footer { + width: 66px; + height: 67px; + background-position: -303px -10px; +} + +.sprite-giao-hang-footer { + width: 66px; + height: 67px; + background-position: -10px -206px; +} + +.sprite-gift-detail { + width: 17px; + height: 16px; + background-position: -382px -154px; +} + +.sprite-ho-tro-footer { + width: 55px; + height: 63px; + background-position: -96px -206px; +} + +.sprite-hotline-detail { + width: 19px; + height: 19px; + background-position: -382px -190px; +} + +.sprite-menu-header { + width: 21px; + height: 17px; + background-position: -171px -229px; +} + +.sprite-newsletter-footer { + width: 40px; + height: 40px; + background-position: -212px -206px; +} + +.sprite-search-header { + width: 20px; + height: 20px; + background-position: -272px -229px; +} + +.sprite-showroom-home { + width: 23px; + height: 27px; + background-position: -312px -206px; +} + +.sprite-thanh-toan-footer { + width: 66px; + height: 67px; + background-position: -312px -253px; +} + +.sprite-tin-cong-nghe-home { + width: 32px; + height: 26px; + background-position: -389px -10px; +} + +.sprite-tin-khuyen-mai-home { + width: 36px; + height: 34px; + background-position: -398px -229px; +} + +.sprite-tu-van-detail { + width: 52px; + height: 52px; + background-position: -171px -283px; +} + +.sprite-tuyen-dung-home { + width: 32px; + height: 32px; + background-position: -424px -56px; +} + +.sprite-star{ + background-image: url(/static/assets/default/images/star_mb.png); + width: 76px; + height: 16px; + vertical-align: text-bottom; + display: inline-block; + background-repeat: no-repeat; +} + +.sprite-1star{background:url(/static/assets/default/images/star_rating.png);display:block} + + +.star0{ background-position: -3px -87px!important} +.star1{background-position: -3px -70px!important} +.star2{background-position: -3px -53px!important} +.star3{background-position: -3px -36px!important} +.star4{background-position: -3px -19px!important} +.star5{background-position: -3px -1px!important} + + +/*HEADER*/ +header .header-top-group { + background: #CB2026; + height: 50px; + padding: 14px 16px 14px 10px; +} + + +.box-cart-header { + position: relative; +} + +.header-features-cart-amount { + position: absolute; + top: -5px; + right: -7px; + width: 16px; + height: 16px; + border-radius: 50%; + font-size: 12px; + color: #000; + font-weight: 700; + background: #FFB800; +} + +.header-search-group { + padding: 10px; + +} + + + +header .search-form-group { + display: block; + background: #fff; + border: 1px solid #D9D9D9; + border-radius: 30px; + height: 36px; + position: relative; +} + +header .search-input { + width: calc(100% - 40px); + color: #797979; + padding-left: 14px; + background: transparent; + border: 0; + height: 100%; + outline: none; + font-size: 12px; + font-style: italic; +} + +header .search-submit { + width: 30px; + height: 30px; + border-radius: 50%; + background: url(./img/sprite.png) no-repeat; + background-color: #DA251C; + background-position: -267px -224px; + border: 0; + position: absolute; + right: 3px; + top: 2px; +} + +.home-slider img{ border-radius:10px; -webkit-border-radius:10px; -moz-border-radius:10px; -ms-border-radius:10px; -o-border-radius:10px; } +.home-icon-list{ + margin: 18px 0; +} + +.home-icon-list .box-icon{ + width: 48px; + height: 48px; + background-color: #DA251C; + border-radius: 50%; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + -o-border-radius: 50%; +} + +.home-icon-list a{ + font-size: 14px; + line-height: 16px; + + text-align: center; + width: calc(100% / 4 - 8px); +} + +.home-icon-list .text{display: block;margin-top: 10px;height: 32px;} + + +.bg-menu { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 7; + display: none; +} + +.top-menu{ + padding: 30px 10px 0 20px; +} + +.global-menu-container { + position: fixed; + top: 0; + left: -100%; + bottom: 0; + background: #fff; + z-index: 99; + width: 79%; + -webkit-box-shadow: 4px 0px 6px 2px rgba(0, 0, 0, 0.3); + box-shadow: 4px 0px 6px 2px rgba(0, 0, 0, 0.3); + overflow: auto; + -webkit-transition: .4s all; + transition: .4s all; +} + +.global-menu-container.show { + -webkit-transition: .4s all; + transition: .4s all; + left: 0; +} + +.global-menu-container .header-user { + position: relative; + padding-left: 70px; + font-size: 16px; + line-height: 55px; + color: #9b9b9b; +} + + +.global-menu-container .header-user::before { + content: ''; + background: url(./img/lock\ \(1\).png) no-repeat; + background-color: #d0d0d0; + background-position: 10px 8px; + width: 55px; + height: 55px; + border-radius: 50%; + position: absolute; + top: 0; + left: 0; +} + +.global-menu-container .header-user a { + color: #797979; +} + +.global-menu-container .icon-close { + width: 26px; + height: 26px; + background-position: -97px -2px; +} + +.icon-mb { + background: url(/static/assets/default/images/mobile_splice_2021.png) no-repeat; +} + +.global-menu-container .global-menu-list { + margin-top: 18px; +} + +.global-menu-container .title { + font-weight: 700; + font-size: 20px; + margin-bottom: 20px; + padding: 0 10px 0 20px; +} + +.global-menu-container .title::before { + content: ''; + background: url(./img/menu-dm.png) no-repeat; + width: 25px; + height: 22px; + display: inline-block; + vertical-align: bottom; + margin-right: 10px; +} + +.cat-list-group .cat-item { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + border-bottom: 1px solid #E4E4E4; + padding: 0 10px 0 20px; +} + +.global-menu-container .cat-list-group a { + border: 0; +} + +.global-menu-container .cat-list-group a { + padding: 5px 0; + font-weight: lighter; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + font-size: 15px; +} + +.global-menu-container .cat-thum { + width: 30px; + margin-right: 10px; + height: 25px; + background-position: center; + background-repeat: no-repeat; + background-size: contain; +} + +.global-menu-container .cat-title { + width: calc(100% - 40px); + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + text-transform: capitalize; +} + +.cat-list-group .cat-item .fa-angle-right { + display: block; + padding: 15px 0; + text-align: center; + font-size: 16px; +} + +.cat-list-group .cat-item .sub-menu { + width: 100%; + border-top: 1px solid #f3f3f3; + background: #f3f3f3; + padding: 0 8px 0 18px; + display: none; +} + + +.collection-tab-container{ + background: url(./img/background_collection-mb.png); + background-repeat: no-repeat; + background-size: 100% 100%; + overflow: hidden; + padding: 20px 0 10px 10px; +} + +.collection-tab-container .collection-tab-title a{ + padding: 6px 12px; + border: 1px solid #FFFFFF; + border-radius: 5px; + text-transform: uppercase; + text-align: center; + line-height: 16px; + color: #fff; + margin-right: 8px; +} + +.collection-tab-container .collection-tab-title a.active, .collection-tab-container .collection-tab-title a:hover{ + background: #FFFFFF; + color: #000; +} + +.collection-tab-title{ + overflow-x: auto; + white-space: nowrap; + width: 100%; + margin-bottom: 14px; +} + +.p-item {background:#fff;padding: 13px 8px;border-radius: 10px;} + +.p-item .p-img { + display: block; + position: relative; + margin-bottom: 10px; + padding-bottom: 100%; +} + +.p-item .p-img img { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + max-width: 100%; + max-height: 100%; + margin: auto; + display: block; +} + +.p-item .box-sku { + margin-bottom: 8px; + height: 28px; +} + +.p-item .p-name { + font-weight: 600; + height: 32px; + overflow: hidden; + line-height: 16px; + margin-bottom: 6px; + font-size:12px; +} + +.p-item .p-price { + margin-bottom: 4px; + font-size: 13px; + display: block; + color: #EE1B25; + font-weight: 800; +} + +.p-item .market-price { + display: block; + color: #777777; + font-weight: 500; + font-size:10px +} + +.p-item .p-button { + height: 20px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.p-item .title-amout-sku { + color: #008A0E; + font-size: 10px; + line-height: 18px; +} + +.p-item .p-buy { + width: 26px; + height: 26px; + border-radius: 50px; + background: #B0B0B0; + color: #262626; + font-size: 13px; + font-weight: 800; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: center; + -webkit-transition: .1s all; + transition: .1s all; +} + +.p-item .p-sku{font-size:10px;} + + +.text-bottom{ + margin-top: 10px; + text-align: center; + color: #fff; + font-size: 12px; +} + +.box-product-holder{ + padding-top: 20px; + background: #fff; +} + +.text-bottom i{font-size:10px;} + +.box-title-group{ + background: #F9F9F9; + padding: 13px 10px 0; + margin: 10px 0; +} + +.box-product-container .cat-title{ + font-size:16px; + text-transform: uppercase; + line-height:20px; + +} + +.box-product-container .cat-list-right a{ + display: block; + color: #3A3A3A; + text-align: center; + font-size:13px; + line-height: 18px; +} + + +/*CATEGORY*/ +.product-list-container .p-item{ + border: 1px solid #D9D9D9; + border-radius: 10px; + padding: 10px; +} + +.list-filter-category .cat-child-list{ + margin-bottom:12px; + +} + +.list-filter-category .cat-child-list a{ + border: 1px solid #D9D9D9; + border-radius: 15px; + width: max-content; + padding: 2px 20px; + color: #797979; + font-size: 12px; + margin-right: 6px; + margin-bottom: 6px; +} + +.list-filter select{ + display: block; + margin: 0 10px 10px 0; + width: calc(100% / 2 - 5px); + color: #fff; + background: #797979; + border-radius: 3px; + padding: 0 18px; + position: relative; + height: 32px; + font-weight: 500; + font-size: 14px; + border: 0; + text-align: center; +} + +.list-filter select:nth-child(2n){ + margin-right: 0; +} + +.sort-by-group { + background: #DA251C; + border-radius: 3px; + margin-bottom: 10px; + position: relative; +} + +.sort-by-group > a { + width: 25%; + color: #fff; + text-align: center; + line-height: 40px; + position: relative; + font-size: 14px; +} + + + +.sort-by-group > a::after { + content: ''; + width: 1px; + height: 15px; + background: #fff; + position: absolute; + right: 0; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} + +.sort-by-group > a.current::before { + content: ''; + width: 80px; + height: 4px; + background: #fff; + position: absolute; + bottom: 0; + left: 50%; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); + margin-bottom: 5px; +} + +.sort-by-group > a:last-child::after{ + display: none; +} + +/*FOOTER*/ +.footer-policy{ + padding: 20px 10px 15px; + background: #f7f7f7; +} + +footer .footer-policy .icon-container{ + width: 55px; +} + +.footer-policy .item{ + margin-bottom: 30px; +} + +.footer-policy .item:last-child{ + margin-bottom: 0; +} + +.footer-policy .text{ + margin-left: 30px; + font-size: 14px; +} + +.footer-policy .text span{ + margin-top: 4px; +} + +.footer-article{ + padding: 20px 10px 10px; + background: #fff; +} + +.footer-article .box-title h3{ + font-size: 16px; + line-height: 18px; + text-transform: uppercase; +} + +.footer-article .box-title .footer-link{ + font-size: 12px; + color: #fff; + padding: 5px 7px; + background: #DA251C; + border-radius: 20px; + text-align: center; +} + +.footer-article .box-title{ + padding-bottom: 10px; + text-transform: uppercase; + border-bottom: 1px solid #CC0001; +} + +.footer-article .list-item{ + margin-top: 10px; + gap: 12px; +} + +.footer-article .list-item .box-item{width:50%;} + +.footer-article .box-item .box-img{ + margin-bottom: 10px; + border-radius: 10px; + display: block; + overflow: hidden; + -webkit-border-radius: 10px; + -moz-border-radius: 10px; + -ms-border-radius: 10px; + -o-border-radius: 10px; + position: relative; +} + +.footer-article .box-item time { + padding: 6px 2px; + margin-right: 8px; + position: relative; + background: #d81e23; + color: #fff; + font-size: 10px; + border-radius: 3px; + text-align: center; + display: block; + width: 33px; + height: 33px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + -ms-border-radius: 3px; + -o-border-radius: 3px; +} + +.footer-article .box-item time::after{ + content: ''; + position: absolute; + right: -4px; + height: 15px; + width: 4px; + border-radius: 0 8px 8px 0; + background: #bbc0c7; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} + +.footer-article .box-item .text h3{ + font-size: 12px; +} + +.footer-video-container{ + background-color: #ECECEC; +} + +.footer-article .box-title h2{ + font-size: 16px; +} + +.footer-video-container .box-title h2{ + color: #DA251C; +} + +.footer-video-container .box-img::before{ + content: '\f04b'; + font-family: FontAwesome; + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + line-height: 1; + font-size: 46px; + color: #fff; + opacity: .6; + z-index: 2; + -webkit-transition: .2s all; + transition: .2s all; +} + +.box-newsletter { + background: #DA251C; +} + +.footer-newsletter { + max-width: 100%; + padding: 21px 0; +} + +.footer-newsletter .newsletter-form { + width: 100%; + background: #a6171b; + border-radius: 43px; + padding: 4px 6px 4px 17px; + position: relative; + color: #fff!important; + -webkit-border-radius: 43px; + -moz-border-radius: 43px; + -ms-border-radius: 43px; + -o-border-radius: 43px; +} + +.footer-newsletter .newsletter-form input { + font-style: italic; + margin: 0; + padding: 0; + border: 0; + background: transparent; + height: 40px; + width: calc(100% - 45px); + color: #fff; + border: none; + outline: none; + font-size: 12px; +} + +.footer-newsletter .newsletter-form input::placeholder{color:#fff;font-weight: 700;font-size: 12px;} + +.footer-info-container{ + color: #3A3A3A; + font-size: 15px; + padding: 10px 10px 14px; + background: #fff; +} + +.footer-info-container .logo-footer img{ + width: auto; +} + +.footer-info-container .info-left p { + margin: 8px 0; + position: relative; + font-size: 13px; + padding-left: 14px; +} + +.footer-info-container .info-left p::before { + content: ''; + width: 4px; + height: 4px; + border-radius: 50%; + background: #5d5d5d; + position: absolute; + top: 6px; + left: 3px; +} + +.footer-info-container .map { + background: #d81e23; + border-radius: 7px; + display: inline-block; + text-align: center; + margin-top: 5px; + padding: 6px 12px; + color: #fff; +} + +.footer-info-container .social-media{ + margin-top: 20px; +} + +.footer-info-container .social-media a { + width: 43px; + height: 43px; + line-height: 1.8; + margin-right: 8px; + font-size: 26px; + display: inline-block; + border-radius: 50%; + background: #4b69b0; + color: #fff; + text-align: center; +} + +.footer-info-container .social-media a:nth-child(2) { + background: linear-gradient(88deg, #fbcb7a, #f48d4e, #e32943, #c03771, #964494, #67529f, #6b66aa); +} + +.footer-info-container .social-media a:nth-child(3) { + background: #e83f3a; +} + +.footer-info-container .info-item .current .fa-angle-down { + -webkit-transform: rotate(-180deg); + transform: rotate(-180deg); +} + +.credit-footer{margin: 0 auto;} + +.footer-info-container .info-item .box-title { + padding: 12px 6px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + margin-bottom: 8px; + color: #3a3a3a; + font-size: 13px; + background: #F1F1F1; + border-radius: 5px; + font-weight: 700; +} + +.footer-info-container .info-item .fa-angle-down { + font-size: 13px; + font-weight: 700; +} + +.footer-info-container .support-list { + padding-left: 25px; + display: none; + margin-bottom: 12px; +} + +.footer-info-container .support-list p { + margin-bottom: 10px; + position: relative; +} + +.footer-info-container .support-list p::before { + content: ''; + background: url(/static/assets/default/images/hot-line-footer.png) no-repeat; + width: 16px; + height: 16px; + position: absolute; + top: 0; + left: -22px; + background-size: 100%; +} + +.footer-info-container .info-item ul{ + display: none; + margin-bottom: 12px; +} + +.footer-info-container .info-item li { + margin: 0 0 10px 17px; + list-style: disc; +} + +.credit-1{ + margin: 10px 0 20px; +} + +.footer-right{ + margin-top: 20px; + display: block; +} + +.scroll-top-btn { + font-size: 32px; + width: 50px; + height: 50px; + position: fixed; + bottom: 80px; + right: 10px; + background: #DA251C; + border-radius: 50%; + z-index: 999; + -webkit-box-shadow: 0 1px 5px #000; + box-shadow: 0 1px 5px #000; + color: #fff; +} + +.title-policy{ + line-height: 24px; + background: #D9D9D9; + padding: 4px 10px; + font-size: 16px; + margin-bottom:20px; +} + +/*PRODUCT DETAIL*/ +/*DETAIL*/ + + +.product-detail-page .product-name { + font-size: 20px; + line-height: 24px; + margin-bottom: 10px; + margin-top: 20px; + text-transform: uppercase; +} + + + +.product-detail-page .product-info-image { + margin-bottom: 20px; + border: 1px solid #e8e8e8; + padding: 10px; +} + +.product-detail-page .product-info-middle { + font-size: 13px; + line-height: 16px; +} + +.product-info-middle .product-visit{ + margin-bottom: 17px; +} + +.product-detail-page .product-info-price { + margin: 25px 0 10px; +} + +.product-detail-page .product-info-price .price{ + margin-right: 10px; + font-size: 24px; + line-height: 28px; + color: #DA251C; + +} + +.price-vat{ + background: #D9D9D9; + border-radius: 3px; + width: max-content; + padding: 5px 10px; + margin-bottom: 21px; + font-size: 12px; +} + +.product-info-sku span{padding: 0 5px;} +.product-info-sku span:first-child{padding-left: 0 !important;} + +.product-detail-page .product-info-price .market-price{ + font-size: 13px; + line-height: 16px; + color: #FFB800; + text-decoration: line-through; +} + +.product-info-summary .product-info-summary-title{ + margin-bottom: 8px; + display: block; + background: #F1F1F1; + border: 1px solid #D9D9D9; + border-radius: 2px; + line-height: 32px; + padding: 0 8px; + +} + +.product-detail-page .product-info-summary ul{ + margin-left:10px; +} + +.product-detail-page .product-info-summary li{ + margin: 0; + position: relative; + padding-left: 15px; + margin-bottom: 6px; +} + +.product-detail-page .product-info-summary li::after { + content: ''; + background: #000; + width: 4px; + height: 4px; + border-radius: 50%; + position: absolute; + left: 0; + top: 7px; +} + +.product-detail-page .product-info-summary .list-summary li:nth-child(n+4) { + display: none; +} + +.product-detail-page .product-info-summary .list-summary.active li:nth-child(n+4) { + display: block; +} + + +.product-detail-page .button-showmore { + color: #DA251C; + margin-top: 10px; + display: block; +} + +.sp-con-hang{margin-top:25px;} + +.product-info-offer{ + margin-top:17px; + border: 1px solid #D9D9D9; + border-radius: 10px; +} + +.product-info-offer .offer-title{padding: 0 8px;padding-bottom:10px;} + +.product-info-offer .title-gift-detail{ + background: #DA251C; + border-radius: 10px 0px; + width: 180px; + padding: 6px 12px; + color: #fff; + margin-bottom: 8px; +} + +.product-info-offer .title-gift-detail span{ + margin-left: 6px; +} + +.product-info-offer .offer-title li{ + list-style: disc; + margin-left: 19px; + line-height: 24px; + color: #3A3A3A; +} + +.hotline-tuvan{ + margin: 10px 0 14px; + padding: 0 15px; + height: 36px; + width: 100%; + border: 1px solid #DA251C; + border-radius: 42px; + font-size:14px; +} + +.hotline-tuvan span{margin-left: 4px;} + +.product-buy-quantity{ + margin: 13px 0 ; +} + +.product-buy-quantity .title{ + line-height: 18px; + color: #3A3A3A; + font-size:14px; +} + +.cart-quantity-select{ + display: inline-flex; +} + +.product-buy-now{width:100%;gap:10px;} + +.cart-quantity-select .js-quantity-change { + padding: 6px 13px; + text-decoration: none; + font-size: 16px; + line-height: 14px; + color: #000; + border: 1px solid #e1e1e1; + font-weight: 700; + text-align: center; + border-radius: unset; +} + +.cart-quantity-select input { + border: none; + outline: 0; + width: 80px; + text-align: center; + color: #000; + border: 1px solid #e1e1e1; + font-size: 13px !important; +} + +.button-type-1 a { + margin: 0 0 10px 0; + padding: 10px 0; + border-radius: 5px; + border: 1px solid #DA251C; + text-align: center; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + -ms-border-radius: 5px; + -o-border-radius: 5px; +} + +.button-type-1 a:first-child{ + background: linear-gradient(0deg, #F24040 10.84%, #E30B0B 104.56%);; + color: #fff; +} + +.button-type-1 a:last-child{ + margin-right: 0 !important; +} + +.button-type-1 a b{ + font-size: 16px; + line-height: 20px; + margin-bottom: 4px; + text-transform: uppercase; +} + +.button-type-1 a span{ + font-size: 12px; + line-height: 16px; + font-weight: 400; +} + + +.product-info-support .form-holder{ + width: 100%; + border-radius: 90px; + padding: 3px 2px 3px 22px; + position: relative; + border: 1px solid #D9D9D9; + color: #fff!important; + margin-bottom: 14px; +} + +.product-info-support .form-holder input{ + font-style: italic; + margin: 0; + padding: 0; + border: 0; + background: transparent; + height: 30px; + width: calc(100% - 55px); + color: #797979; + border: none; + outline: none; + font-size: 14px; +} + +.product-info-support .form-holder .call-for-me{ + border-radius: 50%; + width: 51px; + height: 51px; + background: #D9D9D9; +} + +.icon-support-group{ + background: #DA251C; + border-radius: 69px; + width: calc(100% - 470px); + padding: 4px 20px 4px 4px; + color: #fff; +} + +.icon-support-group .group-left{ + width: 52px; + height: 52px; + border-radius: 50%; + background: #fff; + margin-right: 15px; +} + +.group-right .text{ + font-size: 18px; + line-height: 20px; + margin: 2px 0; + display: block; +} + +.group-right .hotline{ + font-size: 22px; + line-height: 28px; +} + + + +.product-info-right .item-blog { + border: 1px solid #DA251C; + border-radius: 10px; + overflow: hidden; + margin-bottom: 12px; + font-size: 14px; + line-height: 16px; +} + +.product-info-right .item-blog .title { + text-align: center; + line-height: 32px; + font-weight: bold; + background: #DA251C; + color: #fff; + border-bottom: 1px solid #d0cbcb; + margin: 0; + font-size: 16px; + text-transform: uppercase; +} + +.product-info-right .content { + font-size: 14px; + padding: 15px 4px 8px 8px; +} + +.product-info-right .box-list a{ + margin-left: 8px; + font-weight: 600; +} + +.product-info-right .box-list a:hover{color: #DA251C;} + +.product-info-right .box-list{ + margin-bottom: 12px; +} + + +.product-info-box .box-left .box-item .product-desc{margin-top:16px;position: relative;max-height: 625px;overflow: hidden;} +.product-info-box .box-left .box-item .product-desc::after{ + content: ''; + position: absolute; + left: 0; + bottom: 0; + right: 0; + background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(#fff)); + background: linear-gradient(transparent, #fff); + height: 150px; +} + +.product-info-box .box-left .box-item .product-desc.active::after{position: relative!important;} + +.product-info-box .button-desc a { + display: none; + text-align: center; + color: #DA251C; + margin: 20px auto auto auto; +} +.product-info-box .product-desc.active { + max-height: 100% !important; +} + +.box-thong-so{margin-top:13px;} + +.product-info-box .button-desc a:hover{background:#DA251C; color: #fff;} + +.product-info-box .box-title{ + margin-bottom: 13px; + display: block; + background: #F1F1F1; + border: 1px solid #D9D9D9; + border-radius: 2px; + line-height: 32px; + padding: 0 8px; + font-size:16px; +} + +.product-info-comment-rating .title{ + margin-bottom: 12px; + line-height: 36px; + background: #F9F9F9; + font-size: 16px; + padding: 4px 8px; +} + +#newCommentBox { + overflow: hidden; + position: fixed; + left: 0; + right: 0; + bottom: 0; + height: 100vh; + background: rgba(0,0,0,.5); + z-index: 9; +} + +#newCommentBox .comment-box-container { + display: block; + overflow: hidden; + position: relative; + width: 100%; + max-width: 520px; + margin: 50% auto auto; + background: #fff; + border-radius: 5px; +} + +#newCommentBox .comment-box-container .title { + display: block; + overflow: hidden; + padding: 10px; + font-size: 17px; + color: #161616; + border-bottom: 1px solid #f2f2f2; + font-weight: 700; +} + +#newCommentBox .comment-box-container .back-btn { + float: right; + width: 30px; + height: 30px; + position: absolute; + top: 5px; + right: 5px; + color: #161616; + font-size: 18px; +} + +#newCommentBox .comment-box-container .form-wrap { + display: block; + overflow: hidden; + background: #fff; + padding: 10px; +} + +#newCommentBox .comment-box-container .sex label { + margin-bottom: 0; + margin-right: 30px; +} + +#newCommentBox .comment-box-container .sex .radio { + display: inline-block; +} + +#newCommentBox .comment-box-container .sex .radio input { + display: none; +} + +#newCommentBox .comment-box-container .form-wrap input { + display: block; + padding: 8px; + width: 100%; + margin: 10px 0; + height: 35px; + border: 1px solid #dadada; + background: #fff; + border-radius: 4px; + font-size: 14px; +} + +#newCommentBox .comment-box-container .sex .radio .icon { + height: 13px; + width: 13px; + display: inline-block; + vertical-align: middle; + margin-right: 4px; + position: relative; + margin-top: -3px; + border-radius: 50%!important; + background: #fff; + border: 2px solid #e20505; + overflow: hidden; +} + +#newCommentBox .comment-box-container .sex .radio input:checked~.icon::before { + background-color: #e20505; + content: ""; + display: block; + width: 5px; + height: 5px; + border-radius: 100%; + left: 2px; + top: 2px; + font-size: 11px; + color: #fff; + position: absolute; +} + +#newCommentBox .comment-box-container .form-wrap input { + display: block; + padding: 8px; + width: 100%; + margin: 10px 0; + height: 35px; + border: 1px solid #dadada; + background: #fff; + border-radius: 4px; + font-size: 14px; +} + +#newCommentBox .comment-box-container .btn-send-form-cmt { + display: block; + width: 100%; + margin: 0 auto 10px; + padding: 8px; + height: 40px; + font-size: 14px; + color: #fff; + text-transform: uppercase; + border: 1px solid #e20505; + border-radius: 4px; + background: #e20505; + cursor: pointer; + text-align: center; +} + + +.product-select-option .product-select-option-title{ + font-weight: 700; + line-height: 26px; + color: #3A3A3A; + margin: 18px 0 10px; + font-size:14px; +} + + +.product-select-option .btn-select-option{ + position: relative; + color: #797979; + display: flex; + align-items: center; + justify-content: center; + flex-wrap: wrap; + text-align: center; + border-radius: 5px; + padding: 8px; + box-shadow: 0px 1px 6px rgba(0, 0, 0, 0.25); + + -webkit-transition: .1s all; + transition: .1s all; +} + +.product-select-option .btn-select-option:hover{ + border: 1px solid #009E2A; +} + +.product-select-option .btn-select-option.active::before{ + content: '\f058'; + font-family: FontAwesome; + color: #008A0E; + line-height: 1; + position: absolute; + top: 5px; + left: 8px; + font-size: 13px; + +} + +.product-select-option .btn-select-option.active{ + border: 1px solid #009E2A; + padding-left:22px; +} + +.product-select-option .price-variant{ + width: 100%; + display: block; + font-size: 14px; + color: #DA251C; +} + +.video-unbox .title{font-size: 20px;line-height: 18px;padding: 10px 0 22px;} + +.video-unbox iframe { + display: block; + height: 501px; + width: 100%; + border-radius: 5px; +} + +.product-info-box .box-right .box-item{box-shadow: 0px 1px 6px rgba(0, 0, 0, 0.25);border-radius: 20px;background: #fff;padding: 14px 12px;} +.product-info-box .box-right .box-right-title { + font-size: 20px; + padding: 18px 10px; + background: #F3F3F3; +} + +.info-tech-list{padding-bottom: 10px;font-size:14px;max-height: 663px;} +table{border-collapse:collapse;width:100%!important;background:#fff} +.info-tech-list td {padding: 10px;} + +.button-box-spec{ + display: block; + text-align: center; + color: #000; + width: 100%; + margin: 20px auto; + border: 1px solid #D9D9D9; + border-radius: 81px; + line-height: 50px; + background: #F3F3F3; +} + +.button-box-spec:hover{background: #e6e6e6;} +#product-spec table { + max-width: 100%; +} +#product-spec{padding:15px;} +.spec-table td { + padding: 10px; +} + +.box-aritlce-product-detail{margin-top:20px;} + +.box-aritlce-product-detail .title{ + padding: 15px 0 20px; + font-size: 20px; + line-height: 22px; +} + +.box-aritlce-product-detail .item-article{border-bottom: 1px solid #D9D9D9;padding:10px 0;} +.box-aritlce-product-detail .item-article:last-child{border-bottom:none;} +.box-aritlce-product-detail .item-article .img-artice {width:161px;margin-right: 12px;} +.box-aritlce-product-detail .item-article .text-article{width: calc(100% - 161px - 12px);} + +.product-info-detail-bottom{ + margin-bottom: 16px; + background: #fff; + margin-top: 10px; +} + +.product-info-detail-bottom .box-title{ + line-height: 36px; + background: #F9F9F9; + font-size: 16px; + padding: 4px 8px; + +} + +.content-product-detail-title{font-size:20px; line-height:28px;margin-bottom:43px;} + + +.content-product-detail-title .related-products{ + padding: 12px 40px; + width: max-content; + font-weight: 700; + background: #fff; + display: block; + color: #000; +} + +.content-product-detail-title .related.current{background: #DA251C;border-radius: 20px 0px 0px 0px;color:#fff} +.content-product-detail-title .history.current{background: #DA251C;color:#fff} +.related-product-content .swiper-button-prev, .related-product-content .swiper-button-next{background: #fff !important;box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.25);} +.related-product-content .swiper-button-prev::after, .related-product-content .swiper-button-next::after{color: #000 !important;} + +/*REVIEW DETAIL*/ +.box-info-review{ + border: 1px solid #D9D9D9; + border-radius: 10px; + padding: 14px 6px; +} + + + +.title-avgRate{ + font-size: 14px; + line-height: 20px; + color: #000000; + margin-bottom: 12px; + text-transform: uppercase; + +} + +.review-info .avgRate{text-align: center;width: 35%;margin-right: 6px;} + +.review-info .avgRate span{font-size:24px;color: #FF8A00;} + +.avg-rate-count { + font-weight: 400; + font-size: 12px; + line-height: 18px; + color: #000; + padding-left: 10px; + border-left: 1px solid #797979; + width:calc(100% - 35% - 6px); +} + +.rate-number i { + padding-left: 3px; + color: #FF8A00; +} + +.nhan-xet-bar { + width: 72%; + height: 8px; + background: #d9d9d9; + margin: 0 10px; + position: relative; +} + +.nhan-xet-bar .percent { + position: absolute; + left: 0; + top: 0; + bottom: 0; + background: #DA251C;; +} + +.total-avg-rate { + color: #000; +} + +.button-review{ + max-width: 160px; + width: 100%; + margin: 10px auto 0; +} +.button-review a{ + width: 100%; + text-align: center; + background: #DA251C; + line-height: 30px; + border-radius: 5px; + font-size: 12px; + color: #fff; + display: block; +} + + +.rating-selection{display:inline-block} +.rating-selection input{opacity:0;float:right;width:17px;height:17px;padding:0;margin:0 0 0 -16px} +.rating-selection label:hover,.rating-selection label:hover~label{background-position:-16px -57px!important} +.rating-input:checked~.rating-star,.rating-input:checked~.rating-star:hover{background-position:-16px -57px!important} +.rating-selection label{position:relative;float:right;display:block;width:17px;height:17px;margin:0 3px;background-position:-16px -28px!important} +.btn-green{background:#DA251C;color:#fff;padding:7px 20px;font-size:15px;border-radius:5px;-moz-border-radius:5px;display:inline-block} +.box-review { + width: 100%; + margin-top: 20px; + padding-top: 20px; + border-top: dashed 1px #acacac; +} + +.box-list-star .rating{margin-left: 20px;} +.box-list-star{margin-bottom: 10px;} + +.rating-form-left textarea{width:100%;height: 92px;resize: none;padding: 12px;outline: none;} + +.rating-form-right input, .rating-form-right a{ + width: 100%; + height: 50px; + padding: 10px; + border-radius: 5px; + outline: none; + border: 1px solid #acacac; + color: #161616; + margin-top: 10px; +} + +.rating-form-right a{color: #fff;background: #e31212;} + +.list-review{margin-top:20px;} +.list-review .item{padding:12px 0;} +.list-review .item:last-child{margin:0;} + +.list-review .item-name{margin-bottom:13px;} + +.review-reply{margin-top:12px;} +.review-reply .text{margin-left:4px;} +.review-reply .text:hover{color:#DA251C;} + + +.comment-list{margin:0 12px} +.item-comment{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:20px} +.item-comment .comment-form-left .avatar-user{display:flex;justify-content:center;align-items:center;text-align:center;width:34px;height:34px;line-height:34px;margin-right:12px;border-radius:5px;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;background:#d9d9d9;text-transform:uppercase;font-weight:700;font-size:17px} +.item-comment .comment-form-left .avatar-user img{display:block;margin:auto;padding:6px;max-width:100%;height:auto} +#js-review-holder .item{margin-bottom:12px} +.item-comment .comment-form-right{width:calc(100% - 46px)} +.item-comment .comment-form-right .comment-name{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap} +.item-comment .comment-form-right .comment-name .user-name{text-transform:capitalize;margin:0 10px 0 0} +.item-comment .comment-form-right .comment-name i{background:#DA251C;color:#fff;font-size:10px;padding:3px;border-radius:3px} +.item-comment .comment-form-right .comment-content{font-size:16px;margin:8px 0} +.item-comment .comment-form-right .info_feeback{margin-bottom:10px} +.item-comment .comment-form-right .info_feeback a{color:#DA251C;position:relative} +.reply-form-group{border:1px solid #d9d9d9;border-radius:12px;overflow:hidden;margin:15px 0} +.reply-list-container .item_reply:last-child{border-radius:0 0 12px 12px;border:0} +.item_reply{border-bottom:1px solid #e1e1e1;background:#f9f9f9;padding:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap} +.reply-form-group textarea{display:block;padding:14px;resize:none;outline:0;height:122px;-webkit-box-shadow:none;box-shadow:none;border-radius:0;border:0;border-bottom:1px solid #d9d9d9;width:100%} +.reply-form-group .form-input{padding:12px} +.inputText{border:1px solid #d9d9d9;height:38px;padding:0 0 0 10px;margin-right:10px;min-width:250px;border-radius:5px} +.comment-form-input .btn-send-comment{color:#fff;font-weight:500;font-size:14px;background:#DA251C;border-radius:5px;padding:10px} +.p-comment-group .content-holder{outline:0;width:100%;border:0;padding:10px;height:122px;border-bottom:1px solid #e1e1e1} +.reply-template textarea{display:block;padding:14px;resize:none;outline:0;height:122px;-webkit-box-shadow:none;box-shadow:none;border-radius:0;border:0;border-bottom:1px solid #d9d9d9;width:100%} +.p-comment-group .cmt-form-group{border:1px solid #e1e1e1;border-radius:7px;overflow:hidden;margin-bottom:15px} +.p-comment-group .inputText{float:left;border:1px solid #e1e1e1;margin-right:10px;height:30px;padding-left:10px;border-radius:4px} +.reply-template .form-input{padding:12px} +.p-comment-group .form-group{margin:0} +.p-comment-group .inputText{float:left;border:1px solid #e1e1e1;margin-right:10px;height:30px;padding-left:10px;border-radius:4px} +.p-comment-group .btn-send-comment{background:#DA251C;color:#fff;text-decoration:underline;border:0;width:128px;height:38px;border-radius:4px;float:right;text-decoration:none;font-weight:700;font-size:14px} + + + +.p-comment-group .content-holder { + display: block; + resize: none; + outline: 0; + width: 100%; + border: 0; + padding: 10px; + height: 122px; + border-bottom: 1px solid #e1e1e1; + border-radius: 0; +} + +.reply-template .form-input { + padding: 12px; +} + +.p-comment-group .form-group { + margin: 0; +} + +.p-comment-group .inputText { + float: left; + border: 1px solid #e1e1e1; + margin-right: 10px; + height: 38px; + padding-left: 10px; + border-radius: 4px; +} +.p-comment-group .btn-send-comment { + background: #DA251C; + color: #fff; + text-decoration: underline; + border: 0; + width: 128px; + height: 38px; + border-radius: 4px; + float: right; + text-decoration: none; + font-weight: 700; + font-size: 14px; + margin-bottom:12px; + cursor:pointer; +} + +.p-comment-group .cmt-form-group { + border: 1px solid #e1e1e1; + border-radius: 7px; + overflow: hidden; + margin-bottom: 15px; + margin-top:10px; +} + +.box-comment{margin-top:30px;} +.box-comment-title{ + font-size: 20px; + line-height: 38px; + margin-bottom:12px; +} + +.form-comment { + width: 100%; +} + +.form-comment textarea { + font-size: 14px; + color: #999; + padding: 5px; + margin: 0px; + width: 100%; + height: 70px; + resize: none; + border: 1px solid #D9D9D9; + outline: 0; + border-radius: 10px 10px 0px 0px; + display: block; + padding:10px; +} + +.form-comment .send-comment { + width: 100%; + padding: 8px 10px; + border: 1px solid #D9D9D9; + border-radius: 0px 0px 10px 10px; + border-top: none; + justify-content: flex-end; +} + +.form-comment .send-comment a.qd-cmt { + float: left; + font-size: 14px; + color: #e31212; + line-height: 27px; +} + +.form-comment .send-comment a.btn-send-form-cmt { + width: 60px; + text-align: center; + font-size: 14px; + font-weight: 500; + color: #fff; + padding:0 16px; + background: #e31212; + line-height: 23px; + border-radius: 5px; +} + + +/*FANCYBOX*/ +a[data-fancybox] img { + cursor: -webkit-zoom-in; + cursor: zoom-in; +} +.fancybox__container { + --fancybox-color: #fff; + --fancybox-accent-color: red; + --carousel-button-svg-filter: none; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + justify-content: center; +} +.fancybox__content { + padding: 12px; + border-radius: 15px; +} +.product-detail-page .fancybox__toolbar { + position: relative; + padding: 0; + background: rgba(255, 255, 255, 0.8); + -webkit-backdrop-filter: blur(30px); + backdrop-filter: blur(30px); + border-bottom: 1px solid #edeef0; + text-shadow: none; + font-weight: 400; + --carousel-button-svg-stroke-width: 1.75; + --carousel-button-svg-width: 22px; + --carousel-button-svg-height: 22px; +} +.product-detail-page .fancybox__slide { + padding-top: 8px; + padding-bottom: 8px; +} +.product-detail-page .fancybox__nav { + --carousel-button-bg: #e5e7eb; + --carousel-button-border-radius: 6px; + --carousel-button-svg-width: 20px; + --carousel-button-svg-height: 20px; + --carousel-button-svg-stroke-width: 2.5; +} +.product-detail-page .fancybox__leftCol { + width: 100vw; + min-height: 1px; + height: 100%; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + overflow: hidden; + position: relative; +} + +.thumb-img{border: 1px solid #D9D9D9;border-radius: 5px;cursor:pointer;} +/*END*/ + + + +/*CART*/ +.cart-header{width:100%;padding:0 10px;font-size:12px;padding-bottom: 6px;border-bottom: 1px solid #DA251C;} +.cart-header-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;line-height:52px;text-transform:uppercase;border-bottom:1px solid #D9D9D9} +.cart-item-info{ + overflow: unset; + font-size: 12px; + font-weight: lighter; + color: #3A3A3A; + display: flex; + flex-wrap: wrap; + padding: 20px 10px 16px; + border-bottom: 1px solid #D9D9D9; +} + +.box-cart-item-list .cart-item-left{ + width: 100px; + margin-right: 14px; +} + +.cart-col-1{ + display:block; +} + +.cart-col-1-img{ + width: 100%; + height: auto; + border: 1px solid #D9D9D9; + border-radius: 5px; + display: block; + padding: 6px; +} + +.cart-col-1-img img{ + width: 100%; + border-radius: 8px; + height: auto; +} + +.box-cart-item-list .cart-item-right{ + width: calc(100% - 100px - 14px); +} + +.cart-item-name{ + color: #3A3A3A; + font-size: 14px; +} + +.cart-item-price{ + font-size: 18px; + font-weight: 700; + color: #DA251C; + line-height: 24px; +} + +.cart-item-info .p-info{ + position: relative; + color: #797979; + line-height: 20px; +} + +.item-offer .title{ + color:#0d699e; + font-weight:400; + position:relative; + cursor:pointer; + margin:0; + font-size: 12px; +} + +.item-offer .title::before{ + content:''; + width:12px; + height:12px; + background:url(../images/sprite_2021.png) no-repeat; + background-position:-308px -322px; + position:absolute; + left:0; + top:3px +} + +.item-offer-content{ + padding:4px 0; +} + +.item-offer-content b{ + color: #DA251C; +} + +.item-offer-content span,.item-offer-content p{ + display:block; + position:relative; + padding-left:15px; + margin:0; +} + +.item-offer-content span::before,.item-offer-content p::before{ + content:''; + position:absolute; + left:0; + top:8px; + width:8px; + height:8px; + border-radius:50%; + background:#a5a5a5 +} + +.item-offer-content span li span::before{ + display:none!important +} + +.blue{ + color: #0060AF; +} + +.item-offer li{ + list-style: none; +} + +.cart-item-marketPrice{ + font-size: 14px; + line-height: 18px; + color: #999; + text-decoration: line-through; +} + +.cart-item-info .cart-col-2{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.cart-item-info .cart-col-3{ + margin: 6px 0; +} + +.price-cart-item{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 8px; + margin: 4px 0 10px; + flex-wrap: wrap; +} + +.global-cart .product-info-offer{margin-top: 0 !important;border: 1px solid #DA251C !important;} +.global-cart .cart-customer-infomation{border-top:0 !important;} + +.quantity-change{ + display: block; + float: left; + width: 38px; + height: 28px; + line-height: 28px; + font-size: 16px; + color: #000; + cursor: pointer; + text-align: center; + border: 1px solid #D9D9D9; +} + +.quantity-buy{ + width: 80px; + float: left; + border: 1px solid #D9D9D9; + text-align: center; + line-height: 28px; + font-size: 20px; + color: #3A3A3A; + font-weight: 700; + height: 28px; + outline: none; +} + + + +.cart-item-text{ + margin-top: 10px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +.cart-item-info .cart-col-4{ + margin-top: 10px; + color: #D91605; + font-weight: 600; + display: flex; + justify-content: flex-end; +} + +.cart-item-info .cart-col-5{ + font-size: 16px; + color: #DA251C; + margin-left: 15px; +} + +.customer-info p{ + padding-left: 6px; + background: #F1F1F1; +} + +.cart-customer-infomation{ + width: 100%; + border-radius: 10px; + overflow: hidden; + background: #fff; + padding: 6px 10px 0; + position: relative; + border-top: 8px solid #DA251C; + +} + +.cart-customer-infomation::before{ + content: ''; + background-image: url(./image/cart/cart-border.jpg) ; + background-position: -55px 0px; + height: 4px; + position: absolute; + left: 0; + right: 0; + top: 0; + +} + +.cart-customer-left{ + width: 100%; + margin-right: 68px; +} + +.customer-info{ + border: 1px solid #D9D9D9; + border-radius: 2px; + color: #3A3A3A; + font-size: 16px; + font-weight: 700; + line-height: 32px; + margin-bottom: 10px; +} + +.cart-customer-upload-file, .receipt-info{ + margin-top: 16px; +} + +.cart-customer-group-info .item-group .title{margin-bottom:6px;} + +.cart-customer-group-info input, .cart-customer-group-info select, .cart-customer-group-info input, .cart-customer-group-info select, .cart-customer-group-info textarea, .cart-customer-upload-file input{ + margin-bottom: 12px; + background: #FFFFFF; + border: 1px solid #D9D9D9; + border-radius: 5px; + padding: 0 16px; + height: 40px; + color: #818181; + outline: none; + resize: none; + width: 100%; +} +.cart-customer-group-info textarea::-webkit-input-placeholder { + font-size: 14px; +} +.cart-customer-group-info textarea::-moz-placeholder { + font-size: 14px; +} +.cart-customer-group-info textarea:-ms-input-placeholder { + font-size: 14px; +} +.cart-customer-group-info textarea::-ms-input-placeholder { + font-size: 14px; +} +.cart-customer-group-info textarea::placeholder { + font-size: 14px; +} +.cart-customer-upload-file input{ + width: 100%; +} + +.cart-customer-group-info input:nth-child(2), .cart-customer-group-info input:last-child{ + width: 100%; +} + +.cart-customer-group-info input:nth-child(3){ + margin-right: 7px; +} + +.cart-customer-group-info input:nth-child(7){ + width: 100%; +} + +.cart-customer-group-info select{ + width: 100%; + outline: none; +} + +.label-container input{ + width: 12px !important; + height: 12px; +} + +.cart-sex-user{ + margin-bottom: 17px; +} + +.label-container:first-child{ + margin-right: 12px; +} + +.cart-customer-group-info textarea{ + height: 130px; + padding: 15px; + width: 100%; + font-family: 'Roboto'; + resize: unset; +} + +.cart-btn-group{ + width: 100%; +} + +.cart-btn-group a{ + font-size: 16px; + background: #DA251C; + border-radius: 5px; + line-height: 40px; + color: #fff !important; + display: block; + text-align: center; + width: 100%; + text-transform: uppercase; + float: left; + margin-bottom: 8px; +} + + +.cart-btn-img{ + margin-right: 12px; +} + +.cart-customer-right{ + width :100%; +} + +.cart-customer-title-pay{ + background: #F1F1F1; + border: 1px solid #D9D9D9; + border-radius: 2px; + line-height: 32px; + color: #3A3A3A; + font-size: 16px; + font-weight: 700; + margin-bottom: 12px; +} + + +.cart-customer-title i{ + margin-right: 8px; +} + +.cart-customer-right .label-container{ + margin-bottom: 8px; + display:block; +} + +.cart-customer-right .label-container input{ + margin-right: 8px; + width: 14px !important; + height: 14px !important; +} + +.cart-customer-right .label-container input, .cart-customer-left .label-container input{ + border:2px solid white; + -webkit-box-shadow:0 0 0 1px #EE1B25; + box-shadow:0 0 0 1px #EE1B25; + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + border-radius:50%; + background-color:#fff; + -webkit-transition:all ease-in 0.2s; + -o-transition:all ease-in 0.2s; + transition:all ease-in 0.2s; + cursor: pointer; +} + +.cart-customer-left .label-container input{ + padding: 0 !important; + margin-bottom: 0px !important; + +} + +.cart-customer-right .label-container input:checked, .cart-customer-left .label-container input:checked{ + background-color: #EE1B25; +} + +.infomation-customer-detail{ + margin-left: 35px; +} + +.infomation-customer-detail p{ + margin-bottom: 13px; +} + + + +.total-title{ + margin: 20px 0; +} + +.cart-customer-total{ + display: flex; + justify-content: space-between; + padding: 12px 10px; + font-size: 13px; + align-items: center; + color: #797979; +} + + +.cart-customer-total-price{ + font-size: 14px; +} + +.cart-btn-buy{ + margin-top: 15px; +} + +.total-product span{ + font-weight: 600; +} + +.total-product p{ + font-size: 18px; + font-weight: 700; + color: #DA251C; +} + +.cart-btn-buy button{ + width: 100%; + line-height: 46px; + background: #DA251C; + border-radius: 5px; + font-size: 20px; + border: none; + color: #fff; + text-transform: uppercase; + cursor: pointer; + margin-bottom: 10px; + +} + +.cart-go-pro a{color:#DA251C} + +.cart-btn-buy button:hover{ + background: #ba1e22; +} + +.none-product-cart{ + margin: 60px 0; + text-align: center; +} + +.none-product-cart p{ + font-size: 24px; + font-weight: 700!important; + margin-bottom: 16px; + line-height: 36px; +} + +.none-product-cart a{ + font-size: 16px; + font-weight: 600!important; + color: #d91605; +} + +.cart-voucher-group{ + padding: 12px; + background: #f5f5f5; + margin-bottom: 12px; +} + +.cart-voucher-form{ + position: relative; + overflow: hidden; + border-radius: 6px; + margin-bottom: 6px; +} + +.voucher-input{ + width: 100%; + font-size: 14px; + height: 40px; + padding: 0 2px 0 12px; + border: none; + outline: none; +} + +.btn-check-voucher{ + top: 0; + bottom: 0; + right: 0; + background: #DA251C; + color: #fff !important; + width: 140px; + position: absolute; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + font-size: 14px; +} + +.btn-check-voucher i{ + margin-right: 10px; +} + +.voucher-message{ + display: none; +} + +.cart-btn-pay{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.cart-pay{ + width: calc(100% / 2 - 5px); + margin: 10px 10px 0 0; + line-height: 1.5; + padding: 5px; + background-color: #e90707 !important; + color: #ffffff !important; + border: none; + outline: none; + border-radius: 5px; +} + +.cart-pay p{ + font-size: 18px; + font-weight: 700; + text-transform: uppercase; +} + +.cart-pay span{ + font-size: 12px; +} + +.card-pay-bank{ + background-color: #288ad6 !important; +} + +/* SEND CART */ +.send-cart-success, .send-cart-error{ + max-width: 824px; + margin: auto; +} + +.send-cart-title{ + padding: 20px 10px; + text-align: center; +} + +.send-cart-title-name{ + font-weight: 600; + color: #DA251C; + font-size: 24px; + font-size: 24px; + margin-bottom: 8px; + line-height: 30px; +} + +.send-cart-title-descreption{ + font-weight: 300; + font-size: 15px; + line-height: 20px; + text-align: center; +} + +.red-text{ + color: var(--red); +} + +.send-cart-title-descreption a{ + font-weight: 700; + text-decoration: none; +} + +.send-cart-info{ + padding: 20px 15px; + margin-top: 12px; + background: #f2f2f2; + font-weight: 300; + font-size: 14px; +} + +.send-cart-info p{ + margin-bottom: 16px; + width: 100%; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.send-cart-info b{ + font-weight: 700; + width: 50%; + display: inline-block; +} + +.send-cart-info span{ + width: 50%; +} + +.send-cart-detail-product{ + margin-top: 15px; + -webkit-box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 20%); + box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 20%); + border: 1px solid #dee2e6!important; +} + +.send-cart-product-title{ + padding: 15px; + font-size: 18px; + font-weight: 600; + text-transform: uppercase; + border-bottom: 1px solid #dee2e6; +} + +.send-cart-product-info{ + padding: 10px; + display: block; + width: 100%; + border-bottom: 1px solid #dee2e6; + +} + +.send-cart-item-left{ + width: 84px; + margin-right: 10px; + float: left; + height: 100%; +} + +.send-cart-item-left img{ + width: 100%; + height: 100%; +} + +.send-cart-item-center a{ + float: left; + width: calc(100% - 94px); + margin-bottom: 14px; +} + + + +.send-cart-item-right{ + text-align: right; + line-height: 20px; + margin-top: 10px; + font-size: 14px; +} + +.new-price, .total-price{ + font-size: 18px; + color: #D60000; + font-weight: 800; +} + +.new-price{ + color: #000 !important; +} + +.old-price{ + font-size: 16px; + color: #888; + text-decoration: line-through; +} + +.number-item{ + font-weight: 700; + font-size: 12px; +} + +.total-item{ + color: #D91605; + font-size: 16px; + font-weight: 800; +} + +.send-cart-total{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 15px; +} + +.send-cart-total p:first-child{ + font-size: 16px; + font-weight: 700; +} + +.again-cart{ + display: block; + text-decoration: none; + padding: 22px 0 50px; + text-align: center; + color: #DA251C; + font-weight: 600; + font-size: 22px; + text-transform: uppercase; +} + +.send-cart-item-center a:hover{ + color: #D60000; +} + +.send-cart-error-descreption{ + text-align: center; +} + +.send-cart-error-title{ + color: #DA251C; + font-size: 28px; + font-weight: 700; + margin: 15px 0; + line-height: 36px; +} + +.send-cart-error-descreption p:nth-child(3){ + font-size: 15px; + margin-bottom: 15px; + padding: 0 10px; +} + + +.send-cart-error-descreption p:last-child{ + font-size: 15px; + margin-bottom: 48px; +} + + +.sprite-send-cart-face { + background-position: -103px -96.5px !important; + width: 30px; + height: 30px; + background-size: 155px 131.5px !important; + margin: 0 auto; + -webkit-filter: invert(34%) sepia(83%) saturate(2123%) hue-rotate(131deg) brightness(97%) contrast(101%); + filter: invert(34%) sepia(83%) saturate(2123%) hue-rotate(131deg) brightness(97%) contrast(101%); +} + + +/*ARTICLE*/ +.article-category { + padding:10px; + background: #f7f7f7; + color: #000; + font-weight: 600; +} + +.article-category ul{ + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + font-size: 16px; +} + +.article-category ul li img{ + width: 28px; + margin-right:10px; +} + + +.article-page .article-content { + background-color: #fff; +} + +.article-page .section-hero { + border-bottom: 2px solid #e1e1e1; + padding-bottom: 20px; +} + +.article-page .section-hero .sprite-article-icon-eye { + -webkit-filter: brightness(0) invert(1); + filter: brightness(0) invert(1); +} + + +.article-page .section-hero .col-left { + min-width: 0; + border-radius: 25px; + overflow: hidden; +} + +.article-page .section-hero .col-right { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + gap: 38px; +} +.article-page .article-hero { + position: relative; + border-radius: 20px; + overflow: hidden; + height: 100%; +} + +.article-page .article-hero img { + height: 100%; +} + +.article-page .article-hero-content { + position: absolute; + bottom: 10%; + left: 16px; + max-width: 357px; +} + +.article-page .article-hero-content .wrapper { + gap: 30px; + margin-top: 16px; +} + +.article-page .swiper-article-category { + background: linear-gradient(90deg, #FF5C00 0%, #FFA800 100%); + border-radius: 20px; + padding: 2px; + display: inline-block; + color: #fff; + font-size: 14px; + padding: 6px; +} + +.article-page .swiper-article-slider { + position: relative; +} + +.article-page .swiper-article-slider h2 { + font-size: 18px; + line-height: 40px; + font-weight: 600; + max-width: 740px; +} + +.article-page .swiper-article-slider .wrapper { + position: absolute; + left: 10px; + bottom: 30px; +} + +.article-page .swiper-button-next, +.article-page .swiper-button-prev { + background: rgba(202, 202, 202, 0.15); +} + + + +.article-page .section-main-content { + padding-top: 20px; +} + +.article-page .article-box { + margin-bottom: 24px; + font-size: 16px; +} + +.article-category li:hover, .article-category li.active{ + color: #DA251C; +} + +a.font-weight-bold.text-artilce-right.box-content-right.line-clamp-2 { + width: calc(100% - 105px - 10px); + margin-left: 10px; + margin-top: 10px; +} + +.article-page .article-item .sprite-article-icon-clock, +.article-page .article-newest .sprite-article-icon-clock-small, .sprite-article-icon-clock { + -webkit-filter: brightness(0%); + filter: brightness(0%); +} + + + +.article-page .article-box .grid { + gap: 10px; +} + +.article-page .article-box .article-image { + position: relative; + border-radius: 5px; + overflow: hidden; + display: block; + margin-bottom: 10px; +} + +.article-page .article-box .article-image img{ + border-radius: 5px; + height: 100%; +} + +.article-page .article-box .article-image h4 { + position: absolute; + left: 10px; + bottom: 20px; +} + +.article-page .article-box .article-text { + margin: 10px 0; + font-size: 19px; + line-height: 25px; +} + +.article-hero-features{ + font-size: 16px; +} + +.article-hero-features p{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + word-break: break-all; +} + +.article-hero-features p i{ + margin-right: 8px; +} + +.article-page .article-box-heading { + font-size: 20px; + line-height: 24px; + font-weight: 700; + border-bottom: 2px solid #DA251C; + text-transform: uppercase; + margin-bottom: 10px; + display: inline-block; +} + +.article-page .article-box-heading-category, .article-box-heading-detail{ + border-bottom:none !important; +} + +.article-box-heading-detail{ + margin-bottom: 21px !important; +} + +.article-hero-features-detail{ + padding-bottom: 14px; + border-bottom: 1px solid #D9D9D9; + gap: 10px; + flex-wrap: wrap; +} + +.article-page .article-box-btn { + padding-top: 20px; + text-align: center; + position: relative; +} + +.article-page .article-box-btn a { + display: inline-block; + color: #939393; + padding: 9px 25px 7px; + border: 1px solid #999999; +} + +.article-newest ul{ + margin-top: 10px; +} + +.article-page .article-newest-heading { + font-size: 20px; + line-height: 26px; +} + +.article-page .article-newest { + padding-bottom: 20px; +} + +.article-page .article-newest .wrapper { + margin-top: 8px; +} + +.article-page .article-newest li { + margin-bottom: 20px; + list-style: none; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + font-size: 16px; +} + +.article-page .article-newest li .box-img{ + width: 40%; + margin-right: 10px; +} + +.article-page .article-newest li .text-artilce-right{ + width: calc(100% - 40% - 10px); +} + +.new-artilce-text{ + width: 50%; +} + +.new-artilce-name{ + width: 100% !important; +} + +.gap-10 { + gap: 10px; +} + +.article-page .article-newest img { + border-radius: 8px; +} + +.article-page .article-newest .wrapper { + margin-top: 8px; +} + +.article-page .product-sale img { + max-width: 120px; + margin-right: 10px; +} + +.article-page .product-sale .article-box-heading { + margin-bottom: 8px; +} + +.article-page .product-sale li { + padding: 12px 0; + border-bottom: 2px solid #f6f6f6; +} + +.article-page .product-sale li:last-child{ + padding-bottom:0!important; + border-bottom:unset !important; +} + +.article-page .article-banner { + padding-top: 20px; +} + +.product-sale .price{ + font-size: 16px; + color:#DA251C; + font-weight: 700; + margin-top: 4px; +} + + +.product-hot-text{ + width: calc(100% - 105px - 10px); + margin-left: 10px; + margin-top: 10px; +} + + +.article-page .section-promotional .article-box-btn::after { + right: 18%; +} + +.article-page .section-promotional .article-box-btn::before { + left: 18%; +} + +.article-page .section-videos { + background-color: #DA251C; + padding: 16px 10px; + border-radius: 5px; +} + +.article-page .section-videos .article-box-heading { + margin-bottom: 10px; + font-size: 25px !important; + color: var(--white); + font-style: normal; +} + +.article-page .section-videos .header-global-item { + display: inline-block; + margin-top: 20px; +} + +.article-page .section-videos .article-box { + margin-bottom: 0; +} + +.article-page .section-videos .text-video-artilce { + font-size: 18px; + line-height: 26px; + color: var(--white); +} + +.article-page .section-videos i, .col-left ul .article-image i { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); +} + +/* ARTICLE CATEGORY */ +.article-content-category{ + padding-top: 0 !important; +} + +.article-box-title{ + margin-bottom: 12px; +} + +.article-box-title span::before{ + content: '\f111'; + font-family: 'Font Awesome 5 Free'; + color: #000; + font-size: 6px; + margin-right: 5px; + font-weight: 900; +} + +.pagingViewed{ + padding: 8px 14px; + background-color: #DA251C; + border-radius: 5px; + color: #fff; +} + +.pagingIntact{ + padding: 8px 14px; + border-radius: 5px; +} + +.box-article-paging{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + margin-bottom: 30px; +} + +.article-box-detail{ + margin-top: 18px; +} + +.article-box-detail p{ + line-height: 32px; +} + +.article-box-detail h2, +.article-box-detail h3{ + margin: 12px 0; + display: block; + font-size: 20px; + line-height: 26px; +} + +.article-box-detail img{ + height: auto; + margin: 0 auto; + padding: 8px 0; +} + +.toc_title img{ + width: 28px; + margin: 12px 12px 12px 0; +} + +#js-outp{margin-left:21px} + +#js-outp li{list-style: auto;line-height: 26px;} + +.article-image-detail{ + height: unset !important; + width: 50%; +} + +.article-item{ + margin-bottom: 25px; +} + +.article-item-detail{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + gap: 10px; +} + +.list-item-artilce-detail{ + gap: 10px !important; +} + + +.article-image-detail h4{ + bottom: 10px !important; +} + +.article-detail-text{ + width: calc(50% - 18px); +} + + + +.article-detail{ + margin-bottom: 0 !important; +} + +.article-box-detail .archor-text-group { + background-color: #F6F5F5; + border-radius: 25px; + padding: 0 20px; + width: -webkit-fit-content; + width: -moz-fit-content; + width: fit-content; + margin: 10px 0; +} + +.article-box-detail .archor-text-group ol { + padding-bottom: 20px; +} + +.text-ship { + background: #DA251C; + color: #fff; + padding: 6px; + margin-top: 10px; + font-size: 13px; +} + +.text-ship a{ + color: yellow; + font-size: 16px; + font-weight: 700; +} + +/* ICON MAP ARTICLE */ +.sprite-article { + background-image: url(/static/assets/default/images/sprite-article.png); + background-repeat: no-repeat; + background-size: 120.5px 99px; + display: block; +} + +.sprite-article-icon-clock { + width: 20px; + height: 20px; + background-position: -2.5px -2.5px !important; +} + +.sprite-article-icon-clock-small { + width: 18px; + height: 18px; + background-position: -1.875px -1.875px !important; + background-size: 90.375px 74.25px !important; +} + +.sprite-article-icon-eye { + width: 20px; + height: 20px; + background-position: -27.5px -2.5px !important; +} + +.sprite-article-icon-gamepad { + width: 28px; + height: 28px; + background-position: -52.5px -2.5px !important; +} + +.sprite-article-icon-list { + width: 25px; + height: 25px; + background-position: -2px -35px !important; +} + +.sprite-article-icon-play { + width: 53.5px; + height: 53.5px; + background-position: -31.5px -35.5px !important; +} + +.sprite-article-icon-play-btn { + width: 28px; + height: 28px; + background-position: -85.1px -2.5px !important; +} + +.sprite-article-icon-tag { + width: 28px; + height: 28px; + background-position: -90px -35.5px !important; +} + +.sprite-article-icon-write { + width: 26px; + height: 28px; + background-position: -90px -68.5px !important; +} + + +/* CUSTOMER */ +.customer-content-group { + max-width: 825px; + margin: 20px auto; + -webkit-box-shadow: 0px 0px 7px 0px rgb(0 0 0 / 20%); + box-shadow: 0px 0px 7px 0px rgb(0 0 0 / 20%); + background: #fff; + padding: 20px 10px; +} + +.customer-content-title { + text-align: center; + font-size: 18px; + font-weight: 600; +} +.customer-content-title a { + color: #222; +} +.customer-content-title a:first-child { + margin-right: 16px; +} +.customer-content-title a.current, +.customer-content-title a:hover { + color: #DA251C; + border-bottom: 1px solid #DA251C; +} + +.customer-form { + margin: auto; + max-width: 616px; +} +.customer-form .item { + margin-top: 20px; + font-weight: 300; +} +.customer-form .item input { + display: block; + width: 100%; + border: 1px solid #d7d7d7; + padding: 0 12px; + height: 42px; + border-radius: 5px; + margin-top: 5px; + font-size: 16px; + outline: none; +} +.customer-form .item span { + color: #d91605; +} +.customer-form .item p { + font-size: 14px; + font-weight: 400; +} +.btn-customer { + width: 100%; + height: 46px; + border: 0; + border-radius: 6px; + background-color: #DA251C; + font-size: 18px; + font-weight: 600; + color: #fff; + margin-top: 30px; + cursor: pointer; +} +.password-input { + position: relative; +} +.show-pass { + position: absolute; + top: 50%; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); + right: 10px; +} + +.forgot-password { + display: block; + text-align: right; + color: #208ce8; + margin: 8px 0 0; + font-size: 14px; +} + +.forgot-password-content { + max-width: 800px; + padding-top: 50px; + margin: 0 auto; +} +.forgot-password-content h2 { + font-size: 26px; + font-weight: 600; + margin-bottom: 8px; +} +.forgot-password-content p { + font-size: 16px; + margin-bottom: 20px; +} +.forgot-password-content table { + width: 100%; +} +.forgot-password-content input { + width: 100%; + padding: 10px 8px; + font-size: 18px; + border-radius: 5px; + outline: none; + border: 1px solid var(--color-primary); +} +.forgot-password-content td:first-child { + font-size: 18px; +} +.btn-forgot-password { + display: block; + width: 50%; + margin: 30px auto; +} + +.js-alert-mess { + font-size: 16px; + font-weight: 500; + color: #d91605; +} + +/* ACCOUNT */ +.section-account .account { + padding: 30px 0; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + gap: 10px; + font-size: 16px; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +.section-account .account .left-title { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + margin: 0 60px 20px 0; + width: 220px; +} + +.section-account .account .left-title span { + font-size: 16px; + font-weight: 400; +} + +.section-account .account .left-title p { + font-size: 18px; + margin-top: 4px; +} + +.section-account .account .title-list { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + gap: 8px; +} + +.section-account .account .title-list a { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + gap: 8px; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding: 10px 0px; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + text-align: center; + width: 95px; +} +.section-account .account .title-list a:hover { + background-color: #f5f5f5; +} + +.section-account .account .col-right { + padding: 10px; + -webkit-box-shadow: 0 0 5px rgb(0 0 0 / 20%); + box-shadow: 0 0 5px rgb(0 0 0 / 20%); +} + +.section-account .account .col-right h2 { + font-size: 22px; + font-weight: 600; + margin-bottom: 16px; +} + +.section-account .col-right table { + width: 100%; +} + +.section-account .account .col-right .form-input { + width: 100%; + padding-left: 13px; + border-radius: 5px; + border: 1px solid #e1e1e1; + height: 38px; + margin-bottom: 8px; + outline-color: var(--color-primary); +} + +.section-account .btn-change { + padding: 10px 20px; + border: none; + background-color: #ee2d24; + color: #fff; + border-radius: 5px; + font-size: 16px; + cursor: pointer; + margin-top: 10px; +} + +.section-account .order-page table { + font-size: 16px; +} + +.section-account .order-page td { + padding: 4px; + border: 1px solid #ccc; +} + +.section-account .red-bold { + color: #d91605; + font-weight: 600; +} + +.section-account .send-cart-info{ + padding: 20px 15px; + margin-top: 12px; + background: #f2f2f2; + font-weight: 300; +} + +.section-account .send-cart-info p{ + margin-bottom: 16px; + width: 100%; +} + +.section-account .send-cart-info b{ + font-weight: 700; + width: 145px; + display: inline-block; +} + +.section-account .send-cart-info span{ + width: calc(100% - 200px); +} + +.section-account .send-cart-detail-product{ + margin-top: 15px; + -webkit-box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 20%); + box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 20%); + border: 1px solid #dee2e6!important; +} + +.section-account .send-cart-product-title{ + padding: 20px 15px; + font-size: 18px; + font-weight: 600; + text-transform: uppercase; + border-bottom: 1px solid #dee2e6; +} + +.section-account .send-cart-product-info{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; + padding: 15px; + width: 100%; + border-bottom: 1px solid #dee2e6; + +} + +.section-account .send-cart-item-left{ + margin-right: 8px; + text-align: center; +} + +.section-account .send-cart-item-left img{ + width: 100%; +} + +.section-account .send-cart-item-center a{ + font-size: 14px; + font-weight: 600; + color: #222; + text-decoration: none ; +} + +.section-account .send-cart-item-right{ + line-height: 20px; + margin-top: 8px; +} + +.section-account .new-price, .total-price{ + font-size: 18px; + color: #D60000; + font-weight: 800; +} + +.section-account .new-price{ + color: #000 !important; + font-size: 17px; +} + +.section-account .old-price{ + font-size: 16px; + color: #888; + text-decoration: line-through; +} + +.section-account .number-item{ + font-weight: 700; + font-size: 13px; + margin: 3px 0; +} + +.section-account .total-item{ + color: #D91605; + font-size: 17px; + font-weight: 800; +} + +.section-account .send-cart-total{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 15px; +} + +.section-account .send-cart-total p:first-child{ + font-size: 16px; + font-weight: 700; +} + +.section-account .again-cart{ + display: block; + text-decoration: none; + padding: 22px 0 50px ; + text-align: center; + color: #D60000; + font-weight: 600; + font-size: 22px; + text-transform: uppercase; +} + diff --git a/Chico/Mobile/article.js b/Chico/Mobile/article.js new file mode 100644 index 0000000..dd7369d --- /dev/null +++ b/Chico/Mobile/article.js @@ -0,0 +1,285 @@ + + // LAZY LOADING + lazy_load_group.push( + { + id: 'js-article-home', + target: '#js-article-home', + loadFn: function () { + getTopAricleList(); + }, + }, + { + id: 'js-article-small-top', + target: '#js-article-small-top', + loadFn: function () { + articleTopMainSmall(); + }, + }, + { + id: 'js-video-featured-', + target: '#js-video-featured-', + loadFn: function () { + getFeaturedVideo(); + }, + }, + { + id: 'js-new-article', + target: '#js-new-article', + loadFn: function () { + getNewArticleHome(); + }, + }, + { + id: 'js-product-hot-article', + target: '#js-product-hot-article', + loadFn: function () { + productHot(); + }, + }, + { + id: 'js-article-small-home', + target: '#js-article-small-home', + loadFn: function () { + getBottomAricleList(); + }, + }, + { + id: 'js-article-middle-right', + target: '#js-article-middle-right', + loadFn: function () { + articleCatRight(); + }, + }, + ) + + // SWIPER ARTICLE TOP + function swiperArticle() { + new Swiper(".swiper-article", { + slidesPerView: 1, + spaceBetween: 10, + centeredSlides: true, + loop: true, + speed: 1000, + autoplay: { + delay: 2500, + disableOnInteraction: false, + pauseOnMouseEnter: "true", + }, + pagination: { + el: ".swiper-pagination", + clickable: true, + }, + navigation: { + nextEl: ".swiper-button-next", + prevEl: ".swiper-button-prev", + }, + }); + } + swiperArticle(); + + // GET ARTICLE TOP NEAR SWIPER + function getTopAricleList() { + var params = { + action_type: 'list', + type: 'article', + featured: 1, + show: 1 + } + var target = "#js-article-home"; + Hura.Ajax.get("article", params).then(function (data) { + var html = Hura.Template.parse(articleMainTop, data.list.splice(0, 3)); + Hura.Template.render(target, html); + }); + } + + // GET ARTICLE TOP NEAR SWIPER + function getBottomAricleList() { + var params = { + action_type: 'list', + type: 'article', + featured: 1, + show: 8, + } + var target = "#js-article-small-home"; + Hura.Ajax.get("article", params).then(function (data) { + var html = Hura.Template.parse(articleMainBottom, data.list.splice(0,3)); + Hura.Template.render(target, html); + }); + } + + + + // GET ARTICLE COL LEFT + function articleTopMainSmall() { + var params = { + action_type: 'list', + type: 'article', + featured: 1, + show: 18 + } + var target = "#js-article-small-top"; + Hura.Ajax.get("article", params).then(function (data) { + var html = Hura.Template.parse(articleMainSmall, data.list.splice(0, 3)); + Hura.Template.render(target, html); + }); + } + + // GET FEATURED VIDEO + function getFeaturedVideo() { + var params = { + action_type: "featured", + type: "article", + show: 10, + }; + var smallTarget = "#js-video-featured-"; + Hura.Ajax.get("article", params).then(function (data) { + var html = Hura.Template.parse(featureVideo, data.splice(0, 3)); + Hura.Template.render(smallTarget, html); + }); + } + + // TIN MỚI NHẤT + function getNewArticleHome() { + var params = { + action_type: "featured", + type: "article", + show: 18, + }; + + var target = "#js-new-article"; + Hura.Ajax.get("article", params).then(function (data) { + var html = Hura.Template.parse(newArticle, data.splice(0, 3)); + Hura.Template.render(target, html); + }); + } + + // TIN TUYỂN DỤNG + function articleCatRight() { + var params = { + action_type: 'list', + type: 'article', + catId: 5, + }; + var target = "#js-article-middle-right"; + Hura.Ajax.get("article", params).then(function (data) { + //console.log(data) + var html = Hura.Template.parse(articleMiddleRight, data.list); + Hura.Template.render(target, html); + }); + } + + // GET PRODUCT NEWEST + function productHot() { + var params = { + action_type: "product-list", + hotType: "saleoff", + sort: "order", + }; + + var target = "#js-product-hot-article"; + Hura.Ajax.get("product", params).then(function (data) { + //console.log(data.list); + var html = Hura.Template.parse(productHotArticle, data.list.splice(0, 5)); + Hura.Template.render(target, html); + }); + } + + + + + + function run_anchor() { + var all = document.getElementById("js-find_toc").getElementsByTagName("*"); + var nodes = []; + for(var i = all.length; i--; nodes.unshift(all[i])); + var result = document.createElement("ol"); + buildRec(nodes, result, 2); + + $("
Nội dung chính
" + result.outerHTML + "
").insertAfter('#js-first-paragraph'); + + $("#js-outp a").each(function(){ + if($(this).text().trim()!=''){ + var anchor_name = convertToSlug($(this).text()); + $(this).attr("onclick", `scrollRec('${anchor_name}')`); + } + }); + + setTimeout(function(){ + $("#js-toggle").click(function(){ + $(this).parents("#js-toc_container").find("#js-outp").toggle(); + }); + }, 500) + } + + function scrollRec(id) { + document.getElementById(id).scrollIntoView({behavior:'smooth'}); + } + + function buildRec(nodes, elm, lv) { + var node; + // console.log(elm); + // filter + do { + node = nodes.shift(); + } while(node && !(/^h[123]$/i.test(node.tagName))); + // process the next node + if(node) { + var ul, li, cnt; + var curLv = parseInt(node.tagName.substring(1)); + //console.log(curLv); + var stt = 0; + if(curLv == lv) { // same level append an il + cnt = 0; + } else if(curLv < lv && 1<2) { // walk up then append il + cnt = 0; + do { + elm = elm.parentNode.parentNode; + cnt--; + } while(cnt > (curLv - lv)); + } else if(curLv > lv) { // create children then append il + cnt = 0; + do { + li = elm.lastChild; + if(li == null) + li = elm.appendChild(document.createElement("li")); + elm = li.appendChild(document.createElement("ol")); + cnt++; + } while(cnt < (curLv - lv) && 1<2); + } + + li = elm.appendChild(document.createElement("li")); + // replace the next line with archor tags or whatever you want + li.innerHTML = ''+ node.innerText +''; + // recursive call + buildRec(nodes, elm, lv + cnt); + } + } + + function convertToSlug(Text){ + let newText = Text; + return newText + .toLowerCase() + .replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, "a") + .replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, "e") + .replace(/ì|í|ị|ỉ|ĩ/g, "i") + .replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, "o") + .replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, "u") + .replace(/ỳ|ý|ỵ|ỷ|ỹ/g, "y") + .replace(/đ/g, "d") + .replace(/\u0300|\u0301|\u0303|\u0309|\u0323/g, "") + .replace(/\u02C6|\u0306|\u031B/g, "") + .replace(/[^\w ]+/g,'') + .replace(/ +/g,'-') + ; + } + + run_anchor(); + + $("#js-find_toc h2, #js-find_toc h3").each(function(){ + if($(this).text().trim()!=''){ + var anchor_name = convertToSlug($(this).text()); + $(this).attr("id",anchor_name); + $(this).css("scroll-margin-top","80px"); + } + }); + diff --git a/Chico/Mobile/cart.js b/Chico/Mobile/cart.js new file mode 100644 index 0000000..6e85dce --- /dev/null +++ b/Chico/Mobile/cart.js @@ -0,0 +1,645 @@ + +//Kiểm tra cú pháp Email +function validateEmail(Email) { + var regaxEmail = + /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + if (regaxEmail.test(Email)) { + return true; + } else { + return false; + } +} + + function check_field(){ + var number_regex1 = /^[0]\d{9}$/i; + var number_regex2 = /^[0]\d{10}$/i; + var error = ""; + + var check_name = document.getElementById('buyer_name').value; + if(check_name.length < 4) error += "- Tên quá ngắn\n"; + else if(check_name.indexOf(' -1) { + error += "- Họ tên chứa các ký tự không hợp lệ, bạn vui lòng kiểm tra lại\n"; + } + + var check_email = document.getElementById('buyer_email').value; + if(check_email.length < 4) { + error += "- Bạn chưa nhập email\n"; + } + if(check_email.length > 4){ + if(validateEmail(check_email)==false) error += "- Email không hợp lệ\n"; + } + + var check_add = document.getElementById('buyer_address').value; + if(check_add.length < 5) error += "- Địa chỉ quá ngắn\n"; + else if(check_add.indexOf(' -1) { + error += "- Địa chỉ chứa các ký tự không hợp lệ, bạn vui lòng kiểm tra lại\n"; + } + + var check_tel = document.getElementById('buyer_tel').value; + if(check_tel.length < 4) error += "- Bạn chưa nhập SĐT\n"; + else{ + if(number_regex1.test(check_tel) == false && number_regex2.test(check_tel) == false) error += "- Số điện thoại chưa chính xác\n"; + } + + var check_note = document.getElementById('buyer_note').value; + if(check_note.indexOf(' -1) { + error += "- Ghi chú chứa các ký tự không hợp lệ, bạn vui lòng kiểm tra lại\n"; + } + + var check_province = document.getElementById('buyer_province').value; + if(check_province==0) error += "- Bạn chưa chọn Tỉnh/Thành phố\n"; + else if(check_province.indexOf(' -1) { + error += "- Tỉnh/Thành phố chứa các ký tự không hợp lệ, bạn vui lòng kiểm tra lại\n"; + } + + var check_district = document.getElementById('js-district-holder').value; + if(check_district==0) error += "- Bạn chưa chọn Quận/Huyện\n"; + else if(check_district.indexOf(' -1) { + error += "- Quận/Huyện phố chứa các ký tự không hợp lệ, bạn vui lòng kiểm tra lại\n"; + } + + if(error != "") { + alert(error); return false; + } + if (check_district > 0 && check_add.length > 5) { + var district = $('#js-district-holder option:selected').text(); + $('#buyer_address').val(check_add +', '+ district) + } + + $(".js-send-cart").css("pointer-events","none"); + $(".js-send-cart").html("ĐANG XỬ LÝ..."); + return true; + } + + +// check input validation section +function check_valid_input(pattern, target) { + // check valid value for input in cart page + $(target).on("input", function () { + var stringValue = $(target).val(); + var status = pattern.test(stringValue); + if (status == false) { + $(this).css("outline-color", "rgb(194 29 29)"); //red + var targetName = $(this).prev().html().replace("*", ""); + this.setCustomValidity(targetName + " quá ngắn/chưa đúng"); + this.reportValidity(); + } else { + this.setCustomValidity(""); + this.reportValidity(); + $(this).css("outline-color", "rgb(45 182 99)"); //green + } + }); + return; +} +//for mail +function check_valid_input_executer() { + // add check func for each input here and call this func to check all input + //for mail + check_valid_input( + /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, + "#buyer_email" + ); + //for name + check_valid_input(/^[a-zA-Z ]{4,20}$/, "#buyer_name"); + //for phone number + check_valid_input(/(84|0[3|5|7|8|9])+([0-9]{8})\b/, "#buyer_tel"); + //for address + check_valid_input(/.{10}/, "#buyer_address"); +} + +// end check input validation section + +//Get province selection ( lay quan huyen ) + function getProvince(province_id) { + var params = { + action_type: 'district-list', + province: province_id + }; + var target = '#js-district-holder'; + + Hura.Ajax.get("province", params).then(function (data) { + //console.log(data); + // productTpl is in template: javascript/tpl + var html = Hura.Template.parse(provinceTpl, data); + Hura.Template.render(target, ''); + }) + } + + $(".js-bank-money").click(function(){ + $("#show-info-bank").addClass("hide"); + }); + + $(".js-bank-online").click(function(){ + $("#show-info-bank").removeClass("hide"); + }); + +var TOTAL_CART_VALUE_NODE = ".js-total-cart-price"; + +function formatCurrency(a) { + var b = parseFloat(a) + .toFixed(2) + .replace(/(\d)(?=(\d{3})+\.)/g, "$1.") + .toString(); + var len = b.length; + b = b.substring(0, len - 3); + return b; +} + +function strToNumber(str) { + str += ""; + while (str.indexOf(".") > 0) { + str = str.replace(".", ""); + } + var result = parseFloat(str); + return isNaN(result) ? 0 : result; +} + +function tinhSoLuongSanPham() { + var total_item = 0; + + $(".js-buy-quantity").each(function () { + total_item += parseInt($(this).val()); + }); + $("#js-total-quantity").html(total_item + " sản phẩm"); +} + +function checkTotalShippingFee(){ + var province = $("#id-province").val(); + var district = $("#id-distric").val(); + + var cart_total_before_fee_discount = $("#js-total-before-fee-discount").val(); + + + if(province==0 || district == 0){ + return; + } + + var params = { + action : "shipping", + action_type: "get-shipping-and-cod", + order_value : cart_total_before_fee_discount, + province : province, + district : district + } + + Hura.Ajax.post('shipping',params).then(function(data){ + //console.log(data) + $('#js_price_ship').val(data.ship) + calculateCartTotalPrice() + }) + +} + + +//tinh tong gia don hang +function calculateCartTotalPrice() { + var dom_target = ".js-total-before-fee-cart-price"; + var total_cart_price = 0; + + $(".item-cart-price").each(function () { + total_cart_price += Hura.Util.strToNumber($(this).html()); + }); + + //log for other reference + $("#js-total-before-fee-discount").val(total_cart_price); + + //giam gia khac: voucher, membership, loyalty point conversion + var total_discount = 0; + total_discount += Number($("#js-discount-voucher").val()); + total_discount += parseInt($("#js-discount-membership").val()); + + var voucher_value = parseInt($("#js-discount-voucher").val()); + + //phi khac: shipping, COD... + var total_other_fee = 0; + total_other_fee += parseInt($("#js-fee-shipping").val()); + total_other_fee += parseInt($("#js-fee-cod").val()); + //console.log(total_discount); + + var priceFreeship = parseInt($('#js_price_freeship').val()); + + if($('#js_price_ship').val() == "nomal"){ + $("#js-inner-ship").html(` +
+
+ Phí vận chuyển: +
+

Chưa tính

+
+ `); + + $(dom_target).html(formatCurrency(total_cart_price)+' đ'); + $(TOTAL_CART_VALUE_NODE).html(formatCurrency(total_cart_price - total_discount )+' đ'); + + }else{ + var priceShip = parseInt($('#js_price_ship').val()); + if(total_cart_price >= priceFreeship || priceShip == 0){ + //console.log(total_cart_price); + //console.log(priceFreeship) + $("#js-inner-ship").html(` +
+
+ Phí vận chuyển: +
+

Freeship

+
+ `); + + $(dom_target).html(formatCurrency(total_cart_price)+' đ'); + $(TOTAL_CART_VALUE_NODE).html(formatCurrency(total_cart_price - total_discount )+' đ'); + + }else{ + var minusPriceShip = priceFreeship - total_cart_price; + //console.log(total_cart_price); + //console.log(priceFreeship) + $("#js-inner-ship").html(` +
+
+ Phí vận chuyển: +
+

${formatCurrency(priceShip) + ' đ'}

+
+
+
+ Mua thêm ${formatCurrency(minusPriceShip)} đ để được Freeship +
+
+ Mua thêm +
+
+ `); + //console.log(total_discount) + + + $(dom_target).html(formatCurrency(total_cart_price)+' đ'); + $(TOTAL_CART_VALUE_NODE).html(formatCurrency(total_cart_price - total_discount + priceShip )+' đ'); + + } + } + + +} + +//thay doi tong gia cua 1 san pham +function changeItemTotalPrice() { + var $row = $(this).closest(".js-item-row"); + var item_type = $row.data("item_type"); + var price = parseInt($row.find(".js-buy-price").val()); + var quantity = parseInt($row.find(".js-buy-quantity").val()); + var total_price = price * quantity; + + //loai bo so luong vo ly + if (quantity < 1) { + $row.find(".js-buy-quantity").val(1); + total_price = 0; + } + + $row.find(".item-cart-price").html(formatCurrency(total_price)+' đ'); + + calculateCartTotalPrice(); + + //console.log("updating cart = " + item_type); + + //save to cart + switch (item_type) { + case "product": + Hura.Cart.Product.update($row.data("item_id"), $row.data("variant_id"), {quantity: quantity,}); + break; + + case "deal": + Hura.Cart.Deal.update($row.data("item_id"), { quantity: quantity }); + break; + + case "combo": + Hura.Cart.Combo.update($row.data("item_id"), { quantity: quantity }); + break; + } + + // +} + +//nghe thay doi so luong sp +function listenQuantityChange() { + var $track_change = $(".js-quantity-change"); + + //thay doi so luong sp mua, neu nhap so luong + $track_change.on("change", function (e) { + var quantity_stock = $(this).attr("data-stock"); + var $row = $(this).closest(".js-item-row"); + var current_quantity = $(this).val(); + + if($(this).val() < 1) $(this).val(1); + + if(current_quantity > quantity_stock) { + alert("Bạn được mua tối đa "+ quantity_stock + " sản phẩm này"); + $row.find(".js-buy-quantity").val(quantity_stock); + changeItemTotalPrice.call(this); + tinhSoLuongSanPham.call(this); + + return ; + } + + + changeItemTotalPrice.call(this); + tinhSoLuongSanPham.call(this); + }); + + //thay doi so luong sp theo - hoac + + $track_change.on("click", function (e) { + if (e.target.nodeName === "INPUT") return; + + var quantity_change = parseInt(this.getAttribute("data-value")); + var $row = $(this).closest(".cart-item-info"); + var current_quantity = parseInt($row.find(".js-buy-quantity").val()); + var quantity_stock = parseInt($row.find(".js-buy-quantity").attr("data-stock")); + + //loai bo so luong vo ly + if (current_quantity + quantity_change < 1) { + $row.find(".js-buy-quantity").val(1); + return; + } + + if(current_quantity + quantity_change > quantity_stock) { + alert("Bạn được mua tối đa "+ quantity_stock + " sản phẩm này"); + $row.find(".js-buy-quantity").val(quantity_stock); + changeItemTotalPrice.call(this); + tinhSoLuongSanPham.call(this); + return ; + } + + $row.find(".js-buy-quantity").val(current_quantity + quantity_change); + + //then update + changeItemTotalPrice.call(this); + tinhSoLuongSanPham.call(this); + }); +} + + function deleteCart(){ + let product_ids = []; + $(".js-delete-item").each(function(){ + var $row = $(this).closest(".js-item-row"); + var item_id = $row.data("item_id"); + var variant_id = $row.data("variant_id"); + product_ids.push({item_id: item_id, variant_id: variant_id}) + $row.remove(); + }); + deleteAllCart(product_ids); + } + + async function deleteAllCart(product_ids){ + for(let i = 0; i < product_ids.length; i++) { + let item_id = product_ids[i].item_id; + let variant_id = product_ids[i].variant_id; + await Hura.Cart.Product.remove(item_id, variant_id); + } + + setTimeout(function(){ + if($(".js-item-row").length==0){ location.reload();} + },500); + + } + +function downloadCartImage() { + var seconds = new Date().getTime() / 1000; + var print_url = "{{ global.domain }}/print/user.php?view=cart&f="+parseInt(seconds)+"&uid="+Hura.User.getUserId(); + + window.location = "https://screenshot.hurasoft.com/screenshot.php?url=" + encodeURIComponent(print_url); +} + + +//nghe xoa san pham +function listenDeleteCartItem() { + $(".item-cart-icon").on("click", function () { + var $row = $(this).closest(".cart-item-info"); + var item_type = $row.data("item_type"); + var item_id = $row.data("item_id"); + calculateCartTotalPrice(); + + //console.log("deleting item from cart = " + item_type); + + var deleteStatus; + //save to cart + switch (item_type) { + case "product": + deleteStatus = Hura.Cart.Product.remove( + item_id, + $row.data("variant_id") + ); + location.reload(); + break; + case "deal": + deleteStatus = Hura.Cart.Deal.remove(item_id); + location.reload(); + break; + case "combo": + deleteStatus = Hura.Cart.Combo.remove(item_id); + location.reload(); + break; + } + + if (deleteStatus) { + deleteStatus.then(function () { + $row.remove(); + tinhSoLuongSanPham(); + }); + } + }); +} + + + + // Voucher + function debounce(func, wait, immediate) { + var timeout; + return function() { + var context = this, args = arguments; + var later = function() { + timeout = null; + if (!immediate) func.apply(context, args); + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); + }; + }; + + function voucher_input_change() { + $('#js_voucher_input').change(); + } + + function listenVoucherCode(dom_node) { + var cart_total_before_fee_discount = $("#js-total-before-fee-discount").val(); + var $message_holder = $("#js-voucher-message"); + + var check_deal = 0 + $(".js-item-row").each(function(){ + var check = $(this).attr("data-check-deal") + if (check == 1) { + check_deal = 1; + } + }) + + $(dom_node).change(debounce(function(){ + if (check_deal == 1) { + $message_holder.html('Mã voucher không được áp dụng. Vui lòng xóa sản phẩm DEAL trong giỏ hàng'); + } else{ + var voucher_code = this.value.trim(); + + //update field to send when submit + $("#js_coupon_code").val(voucher_code); + $("#js-discount-voucher").val(0); + $("#price-discount").html(''); + $message_holder.html(''); + + //xu ly hien thi + if(voucher_code.length > 2) { + var params = { + action_type: 'check', + code : voucher_code , + order_value : cart_total_before_fee_discount, + product_ids : '' + } + + Hura.Ajax.post('coupon', params).then(function (data) { + //console.log(data); + var voucher_info = data; + + if(voucher_info.status == 'error') { + //bao loi + $message_holder.html(voucher_info.message); + return ; + } + + $message_holder.html("Bạn đang sử dụng mã coupon/voucher: " + voucher_info.coupon_info.code + ""); + $message_holder.show(); + + //xu ly khac + switch (voucher_info.coupon_info.type) { + case "cash": //giam tru tien + $("#js-discount-voucher").val(Hura.Util.strToNumber(voucher_info.coupon_info.cash_discount)); + $("#price-discount").html(formatCurrency(voucher_info.coupon_info.cash_discount)); + break; + + case "priceoff"://giam gia % + //var total_price_in_cart = $('#js-total-before-fee-discount').val(); + var total_price_in_cart = {% if global.module.name == 'combo_set' %}0{% else %}{{ page.cart_summary.total_value }}{% endif%}; + var after_discount = Math.ceil( total_price_in_cart * voucher_info.coupon_info.content / 100); + $("#js-discount-voucher").val(Hura.Util.strToNumber(after_discount)); + $("#price-discount").html(formatCurrency(voucher_info.total_cash_discount)); + break; + + case "pro": + //todo: + + break; + + case "other": + //todo: + + break; + } + + calculateCartTotalPrice(); + }) + }else{ + $("#js-discount-voucher").val(0); + $message_holder.html(''); + //recalculate total + calculateCartTotalPrice(); + } + } + },100)); + + } + + function getVoucherList(holder) { + var params = { + action_type: 'get-active-list', + limit: 50 + } + + Hura.Ajax.post('coupon', params).then(function (response) { + //console.log(response); + + buildListVoucher(response, holder); + + $(".js-voucher-active").click(function(){ + $(".js-voucher-active").removeClass('current-voucher'); + $(this).addClass('current-voucher'); + }); + }) + } + + function buildListVoucher(response, holder) { + var html = ''; + var current_time = (new Date()).getTime()/1000; + + if (response.total > 0) { + Object.keys(response).forEach(function(key, keyIndex) { + var data = response[key]; + Object.keys(data).forEach(function(item, itemIndex) { + var status = data[item].can_use_with_cart.status; + var code = data[item].code + var title = data[item].title; + var id_coupon = data[item].id; + var to_time = data[item].to_time; + var time_left = to_time - current_time; + var check_product = data[item].can_use_with_cart.status; + + if (time_left > 0 && check_product == 'yes') { + html+=`
`; + } else{ + html+='
'; + } + html+= '
Nhập '+code+'
'; + html+= '

'+ title +'

'; + }) + }) + } else{ + html+= ` +
+ + +

Chưa có mã voucher nào !

+
+ `; + } + + $(holder).html(html); + } + + + function voucherSelected(voucher_coder) { + $("#js_voucher_input_pop").val(voucher_coder); + $('#js-voucher-popupmessage').html(""); + + } + + function voucherActive() { + $("#js_voucher_input").val(""); + $("#js_voucher_input").change(); + + var newCode = $("#js_voucher_input_pop").val(); + $("#js_voucher_input").val(newCode); + $("#js_voucher_input").change(); + close_voucher(); + + } + + function open_voucher() { + $("#js-popup-voucher").show(); + $("body").addClass("overflow-hidden"); + $(".cart-voucher-popup").addClass("active") + } + + function close_voucher() { + $("#js-popup-voucher").hide(); + $("body").removeClass("overflow-hidden"); + $(".js-voucher-active").removeClass('current-voucher'); + $("#js_voucher_input_pop").val(""); + $(".cart-voucher-popup").removeClass("active") + } + + \ No newline at end of file diff --git a/Chico/Mobile/customer.js b/Chico/Mobile/customer.js new file mode 100644 index 0000000..b9e74d7 --- /dev/null +++ b/Chico/Mobile/customer.js @@ -0,0 +1,165 @@ + + + // CHECK FORM RESIGTER + function check_field_registor() { + var error = ""; + var email = document.getElementById("email").value; + if (ValidateEmail(email)) error += ValidateEmail(email); + + var password = document.getElementById("password").value; + if (password.length < 6) error += "- Mật khẩu quá yếu\n"; + + var full_name = document.getElementById("full_name").value; + if (full_name.length < 2) error += "- Mời bạn nhập đúng tên\n"; + + var mobile = document.getElementById("tel").value; + if (mobile.length < 9) error += "- Mời bạn nhập đúng số điện thoại\n"; + + var address = document.getElementById("address").value; + if (address.length < 6) error += "- Mời bạn nhập địa chỉ\n"; + + var pass = $("#password").val(); + var pass1 = $("#password1").val(); + + if (pass1 != pass) { + error += "- Mật khẩu không trùng khớp. Xin vui lòng nhập lại!"; + } + + if (error != "") { + alert(error); + return false; + } else { + var registerParams = { + action_type: "register", + info: { + email: email, + name: full_name, + tel: mobile, + mobile: mobile, + birthday: "", + password: password, + address: address, + }, + }; + + Hura.Ajax.post("customer", registerParams).then(function (data) { + //console.log(data); + if (data.status == "error" && data.message == "Email exist") { + alert("Email đã được đăng ký \n Vui lòng nhập lại! "); + } else { + alert("Bạn đã đăng ký thành công! Chuyển tiếp sang Đăng nhập."); + location.href = "/dang-nhap"; + } + }); + } + } + + // CHECK FORM LOGIN + function check_login() { + var error = ""; + var email = document.getElementById("email").value; + if (ValidateEmail(email)) error += ValidateEmail(email); + + var password = document.getElementById("password").value; + if (password.length == 0) + error += "- Bạn cần nhập mật khẩu để đăng nhập \n"; + + if (error != "") { + alert(error); + return false; + } else { + Hura.User.login(email, password).then(function (data) { + //console.log(data); + if (data.status == "error") { + alert(data.message); + } else { + alert("Đăng nhập thành công!"); + location.href = "/taikhoan"; + } + }); + } + } + + // CHECK VALIDATION EMAIL + function ValidateEmail(emailValue) { + var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; + if (emailValue.length < 6) return "- Mời bạn nhập email!\n"; + else if (!emailValue.match(mailformat)) + return "- Email không chính xác, vui lòng nhập lại\n"; + } + + // TOGGLE SHOW PASSWORD + function show_hide_pass(password) { + var x = $(password).parents(".item").find(".input-pass").attr("type"); + + if (x === "password") { + $(password).parents(".item").find(".input-pass").attr("type", "text"); + } else { + $(password).parents(".item").find(".input-pass").attr("type", "password"); + } + } + + // FORGOT PASSWORD + function forgotPassword() { + var email = document.getElementById("email_register").value; + + Hura.Ajax.customPost("/ajax/reset_password_request.php", { + email: email, + }).then(function (data) { + //console.log(data); + $("#js-mess").html(data.message); + }); + } + + + + + var customerOrderTpl = ` + + + #{%= item.orderId %} + {%= item.orderDate %} + (Xem chi tiết) + + + + + {% for (let itemProduct of item.item_list) { %} + + - {%= itemProduct.item_info.productName %} + + {% } %} + + + + {%= parseInt(item.totalValue).toLocaleString() %} đ + {% if (item.status_id === "0") { %} +

Đang xử lý

+ {% } %} + + + `; + +{% endraw %} + + + // RENDER CUSTOMER ORDER LIST + function getOrderList() { + Hura.Ajax.post("account", { action_type: "recent-order" }).then(function ( + order_list + ) { + //console.log(order_list); + + if (order_list.length > 0) { + var html = Hura.Template.parse(customerOrderTpl, order_list); + Hura.Template.render("#js-customer-order", html); + } else { + $(".order-page").html(`

Bạn chưa có đơn hàng nào!

`); + } + }); + } + diff --git a/Chico/Mobile/global.js b/Chico/Mobile/global.js new file mode 100644 index 0000000..a65c075 --- /dev/null +++ b/Chico/Mobile/global.js @@ -0,0 +1,282 @@ +Hura.UI.loadGroup(lazy_load_group); + + // LAZY LOADING BLOCK ELEMENT + var lazy_load_group = []; + + var lazyLoadInstance = new LazyLoad({ + elements_selector: ".lazy" + }); + + + + lazy_load_group.push( + { + id: 'js-article-featured-footer', + target: '#js-article-featured-footer', + loadFn: function () { + getFooterAricleList(); + }, + }, + ) + + + + //Kiểm tra cú pháp Email +function validateEmail(Email) { + var regaxEmail = + /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + if (regaxEmail.test(Email)) { + return true; + } else { + return false; + } +} + +//Kiếm tra cú pháp Số điện thoại +var number_regex1 = /^[0]\d{9}$/i; +var number_regex2 = /^[0]\d{10}$/i; +var error = ""; + + +//Kiểm tra tên chứa ký tự đặc biệt +var nameRegex = /[^a-z0-9A-Z_ÀÁÂÃÈÉÊÌÍÒÓÔÕÙÚĂĐĨŨƠàáâãèéêìíòóôõùúăđĩũơƯĂẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼỀỀỂưăạảấầẩẫậắằẳẵặẹẻẽềềểỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪễếệỉịọỏốồổỗộớờởỡợụủứừỬỮỰỲỴÝỶỸửữựỳỵỷỹ]/u; + + + +// FORMAT PRICE +function formatCurrency(a) { + var b = parseFloat(a) + .toFixed(2) + .replace(/(\d)(?=(\d{3})+\.)/g, "$1.") + .toString(); + var len = b.length; + b = b.substring(0, len - 3); + return b; +} + +// CONVERT STRING TO NUMBER +function strToNumber(str) { + str += ""; + while (str.indexOf(".") > 0) { + str = str.replace(".", ""); + } + var result = parseFloat(str); + return isNaN(result) ? 0 : result; +} + + + + // FIXED HEADER + function fixed_header() { + $(window).scroll(function () { + var distanceFromTop = $(document).scrollTop(); + + if (distanceFromTop > 500) { + $(".header").addClass("fixed-nav"); + + } else { + $(".header").removeClass("fixed-nav"); + } + }); + } + fixed_header(); + + + + + // ADD ITEM TO CART SUCCESS FORM + var successForm = document.querySelector(".success-form"); + function cartButton(idCart) { + Hura.Cart.Product.add(idCart, 0, { quantity: 1 }).then(function ( + add_status + ) { + if (add_status.status === "error") { + alert("Đã tồn tại sản phẩm trong giỏ hàng"); + } else { + modalSuccess(); + change_cart_amount(); + } + }); + } + + // CALL MODAL SUCCESS + function modalSuccess() { + successForm.classList.toggle("hide"); + setTimeout(function () { + successForm.classList.toggle("hide"); + }, 1200); + } + + // CHANGE AMOUNT CART HEADER + function change_cart_amount() { + Hura.Cart.getSummary().then(function (data) { + if (data.total_item != 0) { + $(".header-features-cart-amount").show().html(data.total_item); + $(".name-amount-sp").show(); + $(".amount-sp-in-cart").show().html("("+ data.total_item +")"); + } else { + $(".header-features-cart-amount").hide(); + $(".name-amount-sp").hide(); + } + }); + } + change_cart_amount(); + + + + + + + function _showMenu(){ + $("body").addClass("overflow-hidden"); + $(".global-menu-container").addClass("show"); + $(".bg-menu").show(); + } + + + function _hideMenu(){ + $("body").removeClass("overflow-hidden"); + $(".global-menu-container").removeClass("show"); + $(".bg-menu").hide(); + } + + $(".js-show-cat-menu").click(function(){ + $(this).parents(".js-cat-item").find(".js-sub-menu").slideToggle(); + $(this).toggleClass("fa-angle-down") + }); + + $('.js-cat-2').click(function(){ + $(this).parents('.js-cat-2-block').find('.sub-menu-2').slideToggle(); + $(this).toggleClass('fa-angle-down') + }); + + + + + + // GET SEARCH PRODUCT + function searchProduct(value) { + var params = { + action: "search", + action_type: "search", + content: "product", + q: value, + }; + + Hura.Ajax.get("search", params).then(function (data) { + //console.log(data.list); + + if (data.list.length > 0) { + $(".search-results").css("display", "block"); + var html = Hura.Template.parse(searchResultsTpl, data.list); + Hura.Template.render(".search-results-list", html); + } else { + $(".search-results").css("display", "none"); + } + }); + } + + // GET VALUE INPUT + function getSearchValue() { + $("#js-search-box").on("keyup", function (e) { + let value = e.target.value; + if (value) { + searchProduct(value); + } else { + $(".search-results").css("display", "none"); + } + }); + } + getSearchValue(); + + + + + + //ĐĂNG KÝ NHẬN TIN +function subscribe_newsletter(a) { + var email = $(a).val(); + + if (email.length > 4) { + var params = { + action: "customer", + action_type: "register-newsletter", + info: { + name: "Khách hàng nhận bản tin", + email: email, + }, + }; + Hura.Ajax.post("customer", params).then(function (data) { + //console.log(data); + if (data.status == "success") { + alert("Quý khách đã đăng ký thành công"); + $(a).val(""); + } else if (data.message == "Email exist") { + if (validateEmail(email) == false) + alert("Email không hợp lệ"); + } else { + alert("Lỗi xảy ra, vui lòng thử lại"); + } + }); + } else { + alert("Vui lòng nhập địa chỉ email"); + } +} + + + + //TIN TỨC NỔI BẬT FOOTER + function getFooterAricleList() { + var params = { + action_type: 'list', + type: 'article', + featured: 1, + show: 10 + } + var target = "#js-article-featured-footer"; + Hura.Ajax.get("article", params).then(function (data) { + var html = Hura.Template.parse(articleFeaturedFooter, data.list.splice(0, 2)); + Hura.Template.render(target, html); + convertTimeArticleHome(); + }); + } + + function convertTimeArticleHome(){ + $(".js-art-time").each(function(){ + var time = $(this).attr("data-time"); + var day = time.substring(0, 2); + var month = time.substring(3, 5); + var year = time.substring(6, 10); + + var addDay = $(this).find("span"); + var addYear = $(this).find("b"); + + $(addDay).html(day+'.'+month); + $(addYear).html(year); + }) + } + + + + + $(".js-footer-item").click(function(){ + $(this).parents(".info-item").find("ul, .support-list").slideToggle(); + $(this).toggleClass("current"); + }); + + + + + + // SORT SELECT BOX + function sortSelect() { + var href = window.location.href; + + $(".js-select-sort-item").each(function () { + if ($(this).val() === href) { + $(this).attr("selected", "selected"); + } + }); + } + sortSelect(); + diff --git a/Chico/Mobile/homepage.js b/Chico/Mobile/homepage.js new file mode 100644 index 0000000..36cbeb5 --- /dev/null +++ b/Chico/Mobile/homepage.js @@ -0,0 +1,137 @@ + +//SWIPER SLIDER SHOWCASE + function swiperShowCase() { + new Swiper(".swiper-showcase", { + slidesPerView: 1, + spaceBetween: 10, + centeredSlides: true, + loop: true, + speed: 1000, + preloadImages: false, + lazy: true, + autoplay: { + delay: 2500, + disableOnInteraction: false, + pauseOnMouseEnter: "true", + }, + pagination: { + el: ".swiper-pagination", + clickable: true, + }, + navigation: { + nextEl: ".swiper-button-next", + prevEl: ".swiper-button-prev", + }, + }); + } + swiperShowCase(); + + + + + //COLLECTION + function swiperCollectionBox() { + new Swiper(".homepage-collection-swiper", { + slidesPerView: 2.5, + spaceBetween: 6, + rewind: true, + speed: 1000, + preloadImages: false, + lazy: true, + }); + } + swiperCollectionBox(); + + + + // SET CATEGOTY ITEM LINK TO VIEW MORE BUTTON + function setLinkToSeeAllBtn(target, categoryLink) { + target + .parents(".collection-tab-container") + .find(".all-item-collection") + .children() + .attr("href", categoryLink); + } + + + // COLLECTION SECTION + function collectionBoxHandler() { + $(".js-collection-item").on("click", function () { + var collectionId = $(this).attr("data-id"); + var collectionLink = $(this).attr("data-url"); + $(this).parent().find(".active").removeClass("active"); + $(this).addClass("active"); + + getCollectionProduct(collectionId); + setLinkToSeeAllBtn($(this), collectionLink); + }); + } + + function getCollectionProduct(collectionId) { + var params = { + action_type: "list", + id: collectionId, + show: 18, + }; + var target = "#js-collection-holder"; + Hura.Ajax.get("collection", params).then(function (data) { + var html = Hura.Template.parse(productTpl, data.list); + Hura.Template.render(target, html); + }); + } + + function firstClickCollection() { + collectionBoxHandler(); + $(".js-collection-item").first().click(); + } + + firstClickCollection(); + + + //SWIPER CATEGORY HOMEPAGE + function swiperListBox() { + new Swiper(".homepage-cat-swiper", { + slidesPerView: 2, + spaceBetween: 10, + rewind: true, + speed: 1000, + preloadImages: false, + lazy: true, + }); + } + swiperListBox(); + + function lazyCategoryBox(){ + for (let i = 0; i <= category_to_fetch.length - 1; i++) { + let idCat = category_to_fetch[i] + lazy_load_group.push({ + id: "js-product-" + idCat, + target: "#js-product-" + idCat, + loadFn: function () { + getCategoryProduct(idCat) + }, + }); + } + } + lazyCategoryBox(); + + // AJAX CATEGORY BOX - HOT PRODUCT + function getCategoryProduct(id) { + var params = { + action_type: "product-list", + category: id, + + }; + var target = "#js-product-" + id; + Hura.Ajax.get("product", params).then(function (data) { + //console.log(data.list); + if (data.total == 0) { + $(target).html( + `

Sản phẩm đang được cập nhật...!

` + ); + } else { + var html = Hura.Template.parse(listCategoryHome, data.list); + Hura.Template.render(target, html); + } + }); + } diff --git a/Chico/Mobile/img/article.png b/Chico/Mobile/img/article.png new file mode 100644 index 0000000..fdeed31 Binary files /dev/null and b/Chico/Mobile/img/article.png differ diff --git a/Chico/Mobile/img/background_collection-mb.png b/Chico/Mobile/img/background_collection-mb.png new file mode 100644 index 0000000..6c4cda2 Binary files /dev/null and b/Chico/Mobile/img/background_collection-mb.png differ diff --git a/Chico/Mobile/img/banner.png b/Chico/Mobile/img/banner.png new file mode 100644 index 0000000..4bcf468 Binary files /dev/null and b/Chico/Mobile/img/banner.png differ diff --git a/Chico/Mobile/img/chico-footer.png b/Chico/Mobile/img/chico-footer.png new file mode 100644 index 0000000..703d6c7 Binary files /dev/null and b/Chico/Mobile/img/chico-footer.png differ diff --git a/Chico/Mobile/img/credit-1.png b/Chico/Mobile/img/credit-1.png new file mode 100644 index 0000000..6799127 Binary files /dev/null and b/Chico/Mobile/img/credit-1.png differ diff --git a/Chico/Mobile/img/credit-2.png b/Chico/Mobile/img/credit-2.png new file mode 100644 index 0000000..0e20352 Binary files /dev/null and b/Chico/Mobile/img/credit-2.png differ diff --git a/Chico/Mobile/img/hot-line-footer.png b/Chico/Mobile/img/hot-line-footer.png new file mode 100644 index 0000000..21d557d Binary files /dev/null and b/Chico/Mobile/img/hot-line-footer.png differ diff --git a/Chico/Mobile/img/icon- dm1.png b/Chico/Mobile/img/icon- dm1.png new file mode 100644 index 0000000..5fa8227 Binary files /dev/null and b/Chico/Mobile/img/icon- dm1.png differ diff --git a/Chico/Mobile/img/icon-artilce1.png b/Chico/Mobile/img/icon-artilce1.png new file mode 100644 index 0000000..b471934 Binary files /dev/null and b/Chico/Mobile/img/icon-artilce1.png differ diff --git a/Chico/Mobile/img/image 113.png b/Chico/Mobile/img/image 113.png new file mode 100644 index 0000000..46e54f3 Binary files /dev/null and b/Chico/Mobile/img/image 113.png differ diff --git a/Chico/Mobile/img/item-aricle.png b/Chico/Mobile/img/item-aricle.png new file mode 100644 index 0000000..c8708a0 Binary files /dev/null and b/Chico/Mobile/img/item-aricle.png differ diff --git a/Chico/Mobile/img/item_sp.png b/Chico/Mobile/img/item_sp.png new file mode 100644 index 0000000..fa9b2ec Binary files /dev/null and b/Chico/Mobile/img/item_sp.png differ diff --git a/Chico/Mobile/img/lock (1).png b/Chico/Mobile/img/lock (1).png new file mode 100644 index 0000000..6e8cdb1 Binary files /dev/null and b/Chico/Mobile/img/lock (1).png differ diff --git a/Chico/Mobile/img/logo-chico.png b/Chico/Mobile/img/logo-chico.png new file mode 100644 index 0000000..561cb14 Binary files /dev/null and b/Chico/Mobile/img/logo-chico.png differ diff --git a/Chico/Mobile/img/menu-dm.png b/Chico/Mobile/img/menu-dm.png new file mode 100644 index 0000000..22dd8b7 Binary files /dev/null and b/Chico/Mobile/img/menu-dm.png differ diff --git a/Chico/Mobile/img/sprite.png b/Chico/Mobile/img/sprite.png new file mode 100644 index 0000000..3798806 Binary files /dev/null and b/Chico/Mobile/img/sprite.png differ diff --git a/Chico/Mobile/index.html b/Chico/Mobile/index.html new file mode 100644 index 0000000..5c896c9 --- /dev/null +++ b/Chico/Mobile/index.html @@ -0,0 +1,2796 @@ + + + + + + + Chào mừng bạn đã đến với Chico + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+ + + +
+ +
+
+
+
+
+ +
+
+ + + + + +
+ +
+
+ +
+
+ Showcase + +
+ + +
+ Showcase + +
+ +
+ Showcase + +
+ +
+ Showcase + +
+ +
+
+
+ + + + +
+ +
+
+
+
+
+
+ + Bếp từ đơn FASSTER FS-188I FS-188I + + +
+
+ +

+ +

+ + +

Mã SP:

+
+ + Bếp từ đơn FASSTER FS-188I FS-188I + +
+ + + 6.350.000 ₫ + + + + 6.500.000 ₫ + +
+ +
+
+ Còn hàng +
+ + + + + +
+
+
+
+ + +
+
+ + Bếp từ đơn FASSTER FS-188I FS-188I + + +
+
+ +

+ +

+ + +

Mã SP:

+
+ + Bếp từ đơn FASSTER FS-188I FS-188I + +
+ + + 6.350.000 ₫ + + + + 6.500.000 ₫ + +
+ +
+
+ Còn hàng +
+ + + + + +
+
+
+
+ + +
+
+ + Bếp từ đơn FASSTER FS-188I FS-188I + + +
+
+ +

+ +

+ + +

Mã SP:

+
+ + Bếp từ đơn FASSTER FS-188I FS-188I + +
+ + + 6.350.000 ₫ + + + + 6.500.000 ₫ + +
+ +
+
+ Còn hàng +
+ + + + + +
+
+
+
+ +
+
+
+
+

+ Xem thêm +

+ +
+ +
+
+
+

Nông nghiệp, Máy móc

+ +
+
+
+
+
+
+ + Quạt điều hòa KANGAROO KG50F68 + + +
+
+ +

+ +

+ + +

Mã SP:

+
+ + Quạt điều hòa KANGAROO KG50F68 + +
+ + + 8.200.000 ₫ + + + + 9.000.000 ₫ + +
+ +
+
Còn hàng
+ + + + + +
+
+ +
+
+ +
+
+ + Quạt điều hòa KANGAROO KG50F68 + + +
+
+ +

+ +

+ + +

Mã SP:

+
+ + Quạt điều hòa KANGAROO KG50F68 + +
+ + + 8.200.000 ₫ + + + + 9.000.000 ₫ + +
+ +
+
Còn hàng
+ + + + + +
+
+ +
+
+ +
+
+ + Quạt điều hòa KANGAROO KG50F68 + + +
+
+ +

+ +

+ + +

Mã SP:

+
+ + Quạt điều hòa KANGAROO KG50F68 + +
+ + + 8.200.000 ₫ + + + + 9.000.000 ₫ + +
+ +
+
Còn hàng
+ + + + + +
+
+ +
+
+ +
+
+ + Quạt điều hòa KANGAROO KG50F68 + + +
+
+ +

+ +

+ + +

Mã SP:

+
+ + Quạt điều hòa KANGAROO KG50F68 + +
+ + + 8.200.000 ₫ + + + + 9.000.000 ₫ + +
+ +
+
Còn hàng
+ + + + + +
+
+ +
+
+ +
+
+
+
+
+ +
+ +
+ +
+ +
+
+ +
+ +
+ + +
+ + + + + + + + + + + + +
+ +
+ + + Mới nhất + + + + + + + + + + + + + + + + + + + + + + Phổ biến + + + + + + + + + + + + + + + + + + + + + + Theo tên + + + + + + + + + + + Giá   + + + + + + + + + + + + + + +
+ +
+ +
+ +
+ + Quạt điều hòa KANGAROO KG50F68 + + +
+
+ +

+ +

+ + +

Mã SP: 0

+
+ + Quạt điều hòa KANGAROO KG50F68 + +
+ + + 8.200.000 ₫ + + + + 9.000.000 ₫ + +
+ +
+
Còn hàng
+ + + + + +
+
+
+ +
+ + Quạt điều hòa KANGAROO KG50F68 + + +
+
+ +

+ +

+ + +

Mã SP: 0

+
+ + Quạt điều hòa KANGAROO KG50F68 + +
+ + + 8.200.000 ₫ + + + + 9.000.000 ₫ + +
+ +
+
Còn hàng
+ + + + + +
+
+
+ +
+ + Quạt điều hòa KANGAROO KG50F68 + + +
+
+ +

+ +

+ + +

Mã SP: 0

+
+ + Quạt điều hòa KANGAROO KG50F68 + +
+ + + 8.200.000 ₫ + + + + 9.000.000 ₫ + +
+ +
+
Còn hàng
+ + + + + +
+
+
+ +
+ + + +
+ +
+
+
+ +
+ +
+ + + +
+ +
+ +

Sản phẩm TEST

+ +
+

+ Mã SP: CCEF02 + Lượt xem: 0 + (1 đánh giá) +

+ +
+ + + 230.000₫ + + + Giá niêm yết: 550.000 ₫ + + + + + +
+ + +

Giá đã có VAT

+ + +
+ Mô tả tóm tắt sản phẩm +
+
    + + +
  • Chất liệu: Vỏ nhựa +
  • + +
  • Kích thước: 182x128x35mm +
  • + +
  • Tốc độ: 10/100 Mbps +
  • + +
  • Cổng kết nối: 1x Wan port/4x Lan ports +
  • + +
  • Điện năng tiêu thụ: 9V
  • + +
+
+ Xem thêm +
+ + +
+ Sản phẩm còn hàng tại +
+
    +
  • Số 2 Lương Ngọc Quyến, Hà Đông, Hà Nội
  • +
  • 106/6 Bầu Cát 1, Phường 12, Quận Tân Bình
  • +
+
+
+ + +
+
+ + Quà tặng và Ưu đãi +
+
+
    + + +
  • Balo Laptop +
  • + +
  • Bộ vệ sinh Laptop +
  • + +
  • Voucher giảm giá 10% khi mua phụ kiện(tối đa 100k): dây kết nối, phụ kiện, usb, dây mạng +
  • + +
  • Gói bảo trì, bảo dưỡng miễn phí TRỌN ĐỜI tại Chico
  • + +
+
+
+ + + + + Hotline tư vấn: 082.418.4444 + + + + + + + + +
+

Số lượng:

+ + +
+ + + +
+
+ + + + + +
+
+ +
+ +
+
+ +
+
+
+

Thông tin sản phẩm Sản phẩm TEST

+
+ +

Bộ PC Gaming Intel Core i7-13700K | RTX 3060 Ti | RAM 16GB là một cấu hình PC có thể cân được hết mọi tựa game Esport đến những game Triple A, không chỉ trong giải trí mà nó còn edit video 4k và những hình ảnh một cách mượt mà chỉ trong nháy mắt.

+

 

+

Bộ vi xử lý đa năng

+

+

CPU Intel Core i7-13700K được thiết kế với 16 nhân và 24 luồng cùng mức xung nhịp lên đến 5.4 GHz giúp mang lại trải nghiệm chơi game tối ưu và hiệu suất làm việc sáng tạo vượt ngoài mong đợi cho bạn.

+
    +
  • Cấu trúc Kết hợp Hiệu suất - Tích hợp hai vi cấu trúc cốt lõi vào một khuôn duy nhất, ưu tiên và phân phối khối lượng công việc để tối ưu hóa hiệu suất.
  • +
  • Intel Thread Director - Điều khiển Luồng thông minh giúp tối ưu hóa khối lượng công việc bằng cách giúp trình lên lịch của hệ điều hành phân phối khối lượng công việc đến các lõi tối ưu một cách thông minh.
  • +
  • Hỗ trợ PCIe 5.0 lên đến 16 làn - Mang đến khả năng sẵn sàng lên đến 32 GT/s, giúp truy cập nhanh vào đồ họa rời, bộ lưu trữ và các thiết bị ngoại vi.
  • +
  • Hỗ trợ PCIe 4.0 lên đến 4 làn - Cung cấp lên đến 16 GT/s, giúp truy cập nhanh vào bộ lưu trữ và các thiết bị ngoại vi.
  • +
  • Hỗ trợ cả DDR5 và DDR4 ECC - Cung cấp đa dạng các tùy chọn sử dụng phù hợp nhất với nhu cầu của người dùng.
  • +
  • Kích thước bộ nhớ đệm Thông minh Intel (L3) và L2 được chia sẻ tăng lên cho phép người dùng làm việc nhanh hơn, với bộ dữ liệu lớn hơn.
  • +
  • Intel Deep Learning Boost - Tăng tốc suy luận AI để cải thiện hiệu năng cho khối lượng công việc học sâu.
  • +
  • Gaussian & Neural Accelerator 3.0 (GNA 3.0) - Xử lý các ứng dụng âm thanh và giọng nói sử dụng AI.
  • +
  • Intel Adaptive Boost Technology - cải thiện hiệu suất bằng cách cơ hội cho phép tần số turbo đa lõi cao hơn.
  • +
  • Intel Thermal Velocity Boost - tự động tăng tần số xung nhịp của bộ xử lý nếu bộ xử lý ở nhiệt độ từ 70°C trở xuống và năng lượng turbo sẵn có.
  • +
  • Công nghệ Intel Turbo Boost Max 3.0 - Xác định các lõi nhanh nhất của bộ xử lý và hướng các khối lượng công việc quan trọng đến chúng.
  • +
  • Đồ họa UHD Intel được điều khiển bởi Cấu trúc Xe - mang đến khả năng đa phương tiện phong phú và đồ họa thông minh cho phép tăng cường độ phức tạp của hình ảnh, nâng cao hiệu suất 3D và xử lý hình ảnh nhanh hơn.
  • +
  • Có thể ép xung - Khi được ghép nối với các bo mạch chủ chipset Intel Z790 hoặc Z690, các lõi P, lõi E, đồ họa tích hợp và bộ nhớ của CPU có thể được cài để chạy ở tần số cao hơn thông số kỹ thuật mặc định, dẫn đến hiệu suất cao hơn.
  • +
  • Intel Extreme Memory Profile 3.0 - Đơn giản hóa trải nghiệm ép xung bộ nhớ với tính linh hoạt cao hơn.
  • +
+

 

+

Bo mạch chủ siêu bền

+

+

Mainboard Asus TUF GAMING Z690-PLUS WIFI D4 được xây dựng từ các linh kiện chuẩn quân sự, giải pháp truyền tải điện năng và hệ thống tản nhiệt toàn diện, bo mạch chủ này mang lại hiệu năng tuyệt vời với độ ổn định tuyệt đối khi chơi các trận game trong thời gian dài.

+
    +
  • Nhiều lớp PCB tối ưu hóa việc quản lý nhiệt cho các thành phần quan trọng, cung cấp nhiều khoảng trống hơn để đẩy CPU vượt qua giới hạn
  • +
  • ASUS TUF GAMING Z690-PLUS WIFI D4 được xây dụng từ các thành phần TUF bao gồm, cuộn cảm chuẩn quân sự đạt chứng nhận cung cấp nguồn điện mạnh mẽ cho CPU, cải thiện độ ổn định của hệ thống
  • +
  • Đầu nối ASUS ProCool được chế tạo theo các thông số kỹ thuật chặt chẽ để đảm bảo tiếp xúc hoàn toàn với cáp nguồn PSU. Trở kháng thấp hơn giúp ngăn chặn mối chập và lỗi đầu kết nối.
  • +
  • Bốn khe cắm M.2 PCIe 4.0 hỗ trợ tối đa hai thiết bị 22110 và cũng cung cấp hỗ trợ SSD RAID NVMe có thể mang đến hiệu suất đáng kinh ngạc.
  • +
  • PCIe 5.0 cung cấp tốc độ truyền dữ liệu gấp đôi PCIe 4.0, giúp nó đủ mạnh mẽ để xử lý các tác vụ mới nặng về dữ liệu.
  • +
  • Hỗ trợ USB mở rộng đảm bảo khả năng kết nối với nhiều thiết bị ngoại vi.
  • +
+

 

+

Bộ nhớ hiệu xuất cao, đẹp

+

+

RAM Adata XPG Spectrix D50 RGB được giới game thủ đánh giá là 1 con quái vật hiệu năng trong dòng sản phẩm bộ nhớ. Kiểu dáng độc đáo cùng những đường nét tinh tế được khắc 3D thủ công nhằm mang lại cái nhìn hấp dẫn nhất trên 1 chiếc Ram PC. Được trang bị các chip và mạch PCB cao cấp, Spectrix D50 RGB mang đến sự ổn định vượt trội cùng nền tảng tốc độ tuyệt vời. Ngoài ra, sản phẩm còn hỗ trợ 2 nền tảng Intel và AMD mới nhất. Spectrix D50 RGB tích hợp 1 bộ tản nhiệt kim loại dày 1,95mm được cấu tạo vững chắc không chỉ mang lại độ bền tuyệt vời mà còn mang lại 1 cảm giác cứng cáp và mạnh mẽ. Thiết kế vẻ ngoài thanh lịch với các đường nét hình học được khắc thủ công, kết hợp cùng phần LED RGB hình tam giác độc đáo. Sẵn sàng thu hút mọi ánh nhìn.

+

 

+

Ổ cứng SSD tốc độ cao

+

 

+

Ổ cứng SSD SAMSUNG 980 500GB NVMe M.2 là sự lựa chọn thông minh cho hiệu suất vượt trội được hỗ trợ bởi giao diện NVMe PCIe 3.0. Đã đến lúc tối đa hóa tiềm năng hệ thống của bạn, cho dù bạn cần để chơi game hay làm việc đồ họa nặng.

+
    +
  • Hệ số hình thức: M.2 2280
  • +
  • Giao diện: PCI-Express 3.0 x4, NVMe 1.4
  • +
  • Tổng dung lượng: 500GB
  • +
  • Tốc độ đọc tuần tự: lên đến 3100 MB / s
  • +
  • Tốc độ ghi tuần tự: lên đến 2600 MB / s
  • +
  • HMB (Bộ đệm bộ nhớ máy chủ) được hỗ trợ
  • +
  • TRIM & SMART, GC, Mã hóa AES 256-bit được hỗ trợ, TCG / Opal, IEEE1667, Hỗ trợ chế độ ngủ của thiết bị.
  • +
+

 

+

Card màn hình mạnh mẽ

+


+

Colorful GeForce RTX 3060 Ti NB DUO LHR-V sở hữu thiết kế hầm hố nhằm cung cấp sức mạnh và khả năng làm mát mạnh mẽ hơn bao giờ hết. Mặt lưng bằng kim loại mới kết hợp cùng công nghệ quạt tản nhiệt mạnh mẽ nhằm mang đến hiệu suất tản nhiệt tối ưu. Thiết kế cánh quạt cải tiến chống nhiễu loạn luồng không khí và công nghệ cảm biến nhiệt cho phép quạt tự động dừng ở mức nhiệt thấp.

+

 

+

 Tản nhiệt hiệu suất cao

+

+

 Tản nhiệt nước AIO Asus TUF Gaming LC 240 RGB là mẫu tản nhiệt CPU bằng nước hiệu năng cao giúp mang đến hiệu năng, tính năng và thiết kế cần thiết để trở thành một phần thiết yếu dành cho các dàn máy chơi game tầm trung.

+

- Quạt tản nhiệt TUF Gaming với thiết kế rãnh cánh quạt giúp tối ưu hóa luồng khí và giảm tiếng ồn của quạt.
- Nắp bơm mạ kim loại (theo công nghệ NCVM) giúp làm nổi bật vẻ đẹp hiện đại, góc cạnh
- Đồng bộ hóa tuyệt vời với cho bo mạch chủ TUF Gaming
- Ống dẫn nước được bọc lưới để tăng độ bền.

+

 

+

Nguồn hiệu năng cao

+

+

Nguồn máy tính ANTECH NE750G  được sinh ra đã sẵn sàng cho những người tìm kiếm trải nghiệm DIY-PC tốt nhất, đồng thời nó cũng cung cấp hiệu suất đặc biệt và độ ổn định vượt trội. Nổi bật với thiết kế mô-đun đầy đủ 100% và chứng nhận 80 PLUS Gold, dòng NeoECO Gold Modular giúp cài đặt phần cứng PC của bạn thuận tiện và dễ dàng. Nó vẫn cung cấp năng lượng hiệu quả cao cho hệ thống của bạn và giảm hóa đơn tiền điện.

+

 

+

Quyền lợi khách hàng

+

+

MINH AN COMPUTER luôn đặt tận tâm là nền tảng của phục vụ, với tôn chỉ lấy khách hàng làm trung tâm được thực hiện ngay từ khi thành lập và xuyên suốt trong quá trình kinh doanh để mang những giá trị đích thực tới khách hàng và đối tác, chúng tôi xin cam kết:

+


- Toàn bộ linh kiện là hàng chính hãng mới 100%
- Cấu hình có thể thay đổi tùy theo nhu cầu và kinh phí của quý khách
- Cam kết giá tốt nhất
- Tư vấn miễn phí 24/7 - Tổng đài: 1800 6321
- Hỗ trợ trả góp lãi suất thấp, thủ tục nhanh gọn
- Vận chuyển toàn quốc nhanh chóng
- Lắp đặt và Bảo hành tận nơi siêu tốc (Bán kính 25 km)
- Bảo hành chính hãng, lỗi đổi mới 90 ngày đầu nếu có lỗi do nhà sản xuất
- Hỗ trợ kỹ thuật, bảo trì, bảo dưỡng theo cam kết trong suốt quá trình sử dụng.

+
 
+ +
+ +
+ +
+

Thông số kỹ thuật

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TÊN GỌITÊN CHI TIẾTBẢO HÀNH
CPUIntel Core i7-13700K (Up to 5,40 Ghz | 16 nhân 24 luồng | 25MB Cache | Raptor Lake)36 THÁNG
MAINBOARDASUS TUF Gaming Z690-Plus WIFI D4 (Intel Z690 | Socket 1700 | ATX)36 THÁNG
RAMAdata XPG Spectrix D50 RGB 8GB (2x8GB | DDR4 | 3200MHz | Grey)36 THÁNG
VGAColorful GeForce RTX 3060 Ti NB DUO LHR-V36 THÁNG
Tản nhiệt nướcAIO Asus TUF Gaming LC 240 RGB36 THÁNG
Ổ Cứng SSDSamsung 980 500GB (Gen 3x4 | 3100 / 2600 MB/s)36 THÁNG
NGUỒNAntec Neo ECO Gold NE750G 80 Plus Gold36 THÁNG
VỎ CASEAsus TUF Gaming GT30112 THÁNG
+

 

+
+ + + Xem thêm thông số +
+ +
+

Đánh giá, nhận xét sản phẩm

+
+
+ + + + + + + + +
+ +
+
+

Sao trung bình

+ 3 +
+
+
+ + + + + + + + + + + + + +
+ + + + + + + + +
+ 5 +
+
+
+ 0 +
+ +
+ 4 +
+
+
+ 0 +
+ +
+ 3 +
+
+
+ 1 +
+ +
+ 2 +
+
+
+ 0 +
+ +
+ 1 +
+
+
+ 0 +
+ +
+
+ + + + + +
+
+
+
+ +
+
+ No name + | 21/3/2023 +
+ +
+ + test +
+ +
+ + Trả lời +
+ + + +
+
+ +
+
+
+ + Nguyễn Văn An + + Nguyễn Văn An +
+ +
OK
+
+
+ +
+
+
+ +
+
+
+
+ + +
+

Hỏi và đáp (0 Bình luận)

+
+
+ +
+ Gửi +
+
+ + + +
+
+
+ +
+
+
+ + +
+
+
+

Sản phẩm tương tự

+
+ + +
+ + +
+ +
+ +
+ +
+ + +
+ +
+ + + +
+ + + +
+ + model + +
+
+ +
+ + +
+ + + + Mã sản phẩm: TL-WN832N + + + + +
+ +

3.444.000 đ

+ + + +

5.556.000 đ

+ +
+ + + +
+ +
+ - + + + +
+ +
+ + + + +
+ +
+ +
+ Tổng tiền đơn hàng +

3.444.000 đ

+
+ +
+
+
+
+

Thông tin khách hàng

+
+
+
+
+
+

Họ tên*

+ +
+
+

Email*

+ +
+
+

Số điện thoại*

+ +
+ + + + +
+

Địa chỉ*

+ +
+ +
+

Ghi chú

+ +
+ +
+
+
+
+
+

Hình thức thanh toán

+
+ + + + + +
+

THÔNG TIN TÀI KHOẢN

+

Số tài khoản:

+

Ngân hàng:

+

Chủ tài khoản: No Name

+
+ + +
+ + +

+
+ + + + +
+ + +
+ +
+ + + + + + + + + + + + + + + +
+
+ +
+ + +
+ +
+
+
+ + +
+
+
+

Họ và Tên*

+ +
+ +
+

Số điện thoại*

+ +
+ +
+

Địa chỉ*

+ +
+ +
+

Email*

+ +
+ +
+

Mật khẩu*

+ +
+ + +
+
+ +
+

Nhập lại mật khẩu*

+ +
+ + +
+ + +
+ + +
+
+
+
+
+ + + +
+ +
+
+ +
+ + +
+
+ + +
+
+ +
+ +
+ +
+
+ + + + +
+
+ + TOP sản phẩm hot hit mùa hè 2023 + +
+ + +

+ TOP sản phẩm hot hit mùa hè 2023 +

+
+
+

+ + 17-03-2023, 1:15 pm + + 0 +

+
+
+
+
+
+ +
+ +
+
+
+
+
+ + +
+ +
+ +
+

Tin tức công nghệ

+ +
+ Xem tất cả >> +
+
+ + + + +
+ +
+ +
+

+ Bài viết mới nhất +

+ + +
+ + + + +
+
+ +
+
+
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Chico/Mobile/library.css b/Chico/Mobile/library.css new file mode 100644 index 0000000..51ca93a --- /dev/null +++ b/Chico/Mobile/library.css @@ -0,0 +1,26 @@ +/** + * 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 + */ + + @font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden} + + /** + * Fancybox + **/ + body.compensate-for-scrollbar{overflow:hidden}.fancybox-active{height:auto}.fancybox-is-hidden{left:-9999px;margin:0;position:absolute!important;top:-9999px;visibility:hidden}.fancybox-container{-webkit-backface-visibility:hidden;height:100%;left:0;outline:none;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-transform:translateZ(0);transform:translateZ(0);width:100%;z-index:99992}.fancybox-container *{box-sizing:border-box}.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage{bottom:0;left:0;position:absolute;right:0;top:0}.fancybox-outer{-webkit-overflow-scrolling:touch;overflow-y:auto}.fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.fancybox-is-open .fancybox-bg{opacity:.9;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.fancybox-caption,.fancybox-infobar,.fancybox-navigation .fancybox-button,.fancybox-toolbar{direction:ltr;opacity:0;position:absolute;transition:opacity .25s ease,visibility 0s ease .25s;visibility:hidden;z-index:99997}.fancybox-show-caption .fancybox-caption,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-nav .fancybox-navigation .fancybox-button,.fancybox-show-toolbar .fancybox-toolbar{opacity:1;transition:opacity .25s ease 0s,visibility 0s ease 0s;visibility:visible}.fancybox-infobar{color:#ccc;font-size:13px;-webkit-font-smoothing:subpixel-antialiased;height:44px;left:0;line-height:44px;min-width:44px;mix-blend-mode:difference;padding:0 10px;pointer-events:none;top:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-toolbar{right:0;top:0}.fancybox-stage{direction:ltr;overflow:visible;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99994}.fancybox-is-open .fancybox-stage{overflow:hidden}.fancybox-slide{-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:absolute;text-align:center;top:0;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;white-space:normal;width:100%;z-index:99994}.fancybox-slide:before{content:"";display:inline-block;font-size:0;height:100%;vertical-align:middle;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous{display:block}.fancybox-slide--image{overflow:hidden;padding:44px 0}.fancybox-slide--image:before{display:none}.fancybox-slide--html{padding:6px}.fancybox-content{background:#fff;display:inline-block;margin:0;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:relative;text-align:left;vertical-align:middle}.fancybox-slide--image .fancybox-content{-webkit-animation-timing-function:cubic-bezier(.5,0,.14,1);animation-timing-function:cubic-bezier(.5,0,.14,1);-webkit-backface-visibility:hidden;background:transparent;background-repeat:no-repeat;background-size:100% 100%;left:0;max-width:none;overflow:visible;padding:0;position:absolute;top:0;-webkit-transform-origin:top left;transform-origin:top left;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:99995}.fancybox-can-zoomOut .fancybox-content{cursor:zoom-out}.fancybox-can-zoomIn .fancybox-content{cursor:zoom-in}.fancybox-can-pan .fancybox-content,.fancybox-can-swipe .fancybox-content{cursor:-webkit-grab;cursor:grab}.fancybox-is-grabbing .fancybox-content{cursor:-webkit-grabbing;cursor:grabbing}.fancybox-container [data-selectable=true]{cursor:text}.fancybox-image,.fancybox-spaceball{background:transparent;border:0;height:100%;left:0;margin:0;max-height:none;max-width:none;padding:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content,.fancybox-slide--map .fancybox-content,.fancybox-slide--pdf .fancybox-content,.fancybox-slide--video .fancybox-content{height:100%;overflow:visible;padding:0;width:100%}.fancybox-slide--video .fancybox-content{background:#000}.fancybox-slide--map .fancybox-content{background:#e5e3df}.fancybox-slide--iframe .fancybox-content{background:#fff}.fancybox-iframe,.fancybox-video{background:transparent;border:0;display:block;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.fancybox-iframe{left:0;position:absolute;top:0}.fancybox-error{background:#fff;cursor:default;max-width:400px;padding:40px;width:100%}.fancybox-error p{color:#444;font-size:16px;line-height:20px;margin:0;padding:0}.fancybox-button{background:rgba(30,30,30,.6);border:0;border-radius:0;box-shadow:none;cursor:pointer;display:inline-block;height:44px;margin:0;padding:10px;position:relative;transition:color .2s;vertical-align:top;visibility:inherit;width:44px}.fancybox-button,.fancybox-button:link,.fancybox-button:visited{color:#ccc}.fancybox-button:hover{color:#fff}.fancybox-button:focus{outline:none}.fancybox-button.fancybox-focus{outline:1px dotted}.fancybox-button[disabled],.fancybox-button[disabled]:hover{color:#888;cursor:default;outline:none}.fancybox-button div{height:100%}.fancybox-button svg{display:block;height:100%;overflow:visible;position:relative;width:100%}.fancybox-button svg path{fill:currentColor;stroke-width:0}.fancybox-button--fsenter svg:nth-child(2),.fancybox-button--fsexit svg:nth-child(1),.fancybox-button--pause svg:nth-child(1),.fancybox-button--play svg:nth-child(2){display:none}.fancybox-progress{background:#ff5268;height:2px;left:0;position:absolute;right:0;top:0;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0;transform-origin:0;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:linear;z-index:99998}.fancybox-close-small{background:transparent;border:0;border-radius:0;color:#ccc;cursor:pointer;opacity:.8;padding:8px;position:absolute;right:-12px;top:-44px;z-index:401}.fancybox-close-small:hover{color:#fff;opacity:1}.fancybox-slide--html .fancybox-close-small{color:currentColor;padding:10px;right:0;top:0}.fancybox-slide--image.fancybox-is-scaling .fancybox-content{overflow:hidden}.fancybox-is-scaling .fancybox-close-small,.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small{display:none}.fancybox-navigation .fancybox-button{background-clip:content-box;height:100px;opacity:0;position:absolute;top:calc(50% - 50px);width:70px}.fancybox-navigation .fancybox-button div{padding:7px}.fancybox-navigation .fancybox-button--arrow_left{left:0;padding:31px 26px 31px 6px}.fancybox-navigation .fancybox-button--arrow_right{padding:31px 6px 31px 26px;right:0}.fancybox-caption{bottom:0;color:#eee;font-size:14px;font-weight:400;left:0;line-height:1.5;padding:25px 44px;right:0;text-align:center;z-index:99996}.fancybox-caption:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAD6CAQAAADKSeXYAAAAYklEQVQoz42RwQ3AMAgDjfcfup8WoRykfBAK5mQHKSz5rbXJPis1hjiV3CIqgG0hLZPkVkA4p4x5oR1bVeDrdCLrW2Q0D5bcwY3TGMHbdw3mPRuOtaspYP1w//G1OIcW148H0DMCqI/3mMMAAAAASUVORK5CYII=);background-repeat:repeat-x;background-size:contain;bottom:0;content:"";display:block;left:0;pointer-events:none;position:absolute;right:0;top:-44px;z-index:-1}.fancybox-caption a,.fancybox-caption a:link,.fancybox-caption a:visited{color:#ccc;text-decoration:none}.fancybox-caption a:hover{color:#fff;text-decoration:underline}.fancybox-loading{-webkit-animation:a 1s linear infinite;animation:a 1s linear infinite;background:transparent;border:4px solid #888;border-bottom-color:#fff;border-radius:50%;height:50px;left:50%;margin:-25px 0 0 -25px;opacity:.7;padding:0;position:absolute;top:50%;width:50px;z-index:99999}@-webkit-keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.fancybox-fx-slide.fancybox-slide--previous{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.fancybox-fx-slide.fancybox-slide--next{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.fancybox-fx-slide.fancybox-slide--current{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}.fancybox-fx-fade.fancybox-slide--next,.fancybox-fx-fade.fancybox-slide--previous{opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}.fancybox-fx-fade.fancybox-slide--current{opacity:1}.fancybox-fx-zoom-in-out.fancybox-slide--previous{opacity:0;-webkit-transform:scale3d(1.5,1.5,1.5);transform:scale3d(1.5,1.5,1.5)}.fancybox-fx-zoom-in-out.fancybox-slide--next{opacity:0;-webkit-transform:scale3d(.5,.5,.5);transform:scale3d(.5,.5,.5)}.fancybox-fx-zoom-in-out.fancybox-slide--current{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}.fancybox-fx-rotate.fancybox-slide--previous{opacity:0;-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}.fancybox-fx-rotate.fancybox-slide--next{opacity:0;-webkit-transform:rotate(1turn);transform:rotate(1turn)}.fancybox-fx-rotate.fancybox-slide--current{opacity:1;-webkit-transform:rotate(0deg);transform:rotate(0deg)}.fancybox-fx-circular.fancybox-slide--previous{opacity:0;-webkit-transform:scale3d(0,0,0) translate3d(-100%,0,0);transform:scale3d(0,0,0) translate3d(-100%,0,0)}.fancybox-fx-circular.fancybox-slide--next{opacity:0;-webkit-transform:scale3d(0,0,0) translate3d(100%,0,0);transform:scale3d(0,0,0) translate3d(100%,0,0)}.fancybox-fx-circular.fancybox-slide--current{opacity:1;-webkit-transform:scaleX(1) translateZ(0);transform:scaleX(1) translateZ(0)}.fancybox-fx-tube.fancybox-slide--previous{-webkit-transform:translate3d(-100%,0,0) scale(.1) skew(-10deg);transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{-webkit-transform:translate3d(100%,0,0) scale(.1) skew(10deg);transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{-webkit-transform:translateZ(0) scale(1);transform:translateZ(0) scale(1)}@media (max-height:576px){.fancybox-caption{padding:12px}.fancybox-slide{padding-left:6px;padding-right:6px}.fancybox-slide--image{padding:6px 0}.fancybox-close-small{right:-6px}.fancybox-slide--image .fancybox-close-small{background:#4e4e4e;color:#f2f4f6;height:36px;opacity:1;padding:6px;right:0;top:0;width:36px}}.fancybox-share{background:#f4f4f4;border-radius:3px;max-width:90%;padding:30px;text-align:center}.fancybox-share h1{color:#222;font-size:35px;font-weight:700;margin:0 0 20px}.fancybox-share p{margin:0;padding:0}.fancybox-share__button{border:0;border-radius:3px;display:inline-block;font-size:14px;font-weight:700;line-height:40px;margin:0 5px 10px;min-width:130px;padding:0 15px;text-decoration:none;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.fancybox-share__button:link,.fancybox-share__button:visited{color:#fff}.fancybox-share__button:hover{text-decoration:none}.fancybox-share__button--fb{background:#3b5998}.fancybox-share__button--fb:hover{background:#344e86}.fancybox-share__button--pt{background:#bd081d}.fancybox-share__button--pt:hover{background:#aa0719}.fancybox-share__button--tw{background:#1da1f2}.fancybox-share__button--tw:hover{background:#0d95e8}.fancybox-share__button svg{height:25px;margin-right:7px;position:relative;top:-1px;vertical-align:middle;width:25px}.fancybox-share__button svg path{fill:#fff}.fancybox-share__input{background:transparent;border:0;border-bottom:1px solid #d7d7d7;border-radius:0;color:#5d5b5b;font-size:14px;margin:10px 0 0;outline:none;padding:10px 15px;width:100%}.fancybox-thumbs{background:#ddd;bottom:0;display:none;margin:0;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;padding:2px 2px 4px;position:absolute;right:0;-webkit-tap-highlight-color:transparent;top:0;width:212px;z-index:99995}.fancybox-thumbs-x{overflow-x:auto;overflow-y:hidden}.fancybox-show-thumbs .fancybox-thumbs{display:block}.fancybox-show-thumbs .fancybox-inner{right:212px}.fancybox-thumbs__list{font-size:0;height:100%;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;position:relative;white-space:nowrap;width:100%}.fancybox-thumbs-x .fancybox-thumbs__list{overflow:hidden}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar{width:7px}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track{background:#fff;border-radius:10px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}.fancybox-thumbs__list a{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:rgba(0,0,0,.1);background-position:50%;background-repeat:no-repeat;background-size:cover;cursor:pointer;float:left;height:75px;margin:2px;max-height:calc(100% - 8px);max-width:calc(50% - 4px);outline:none;overflow:hidden;padding:0;position:relative;-webkit-tap-highlight-color:transparent;width:100px}.fancybox-thumbs__list a:before{border:6px solid #ff5268;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);z-index:99991}.fancybox-thumbs__list a:focus:before{opacity:.5}.fancybox-thumbs__list a.fancybox-thumbs-active:before{opacity:1}@media (max-width:576px){.fancybox-thumbs{width:110px}.fancybox-show-thumbs .fancybox-inner{right:110px}.fancybox-thumbs__list a{max-width:calc(100% - 10px)}} + + + /** + * Fancy Box 4 + */ + .carousel{position:relative;box-sizing:border-box}.carousel *,.carousel *:before,.carousel *:after{box-sizing:inherit}.carousel.is-draggable{cursor:move;cursor:grab}.carousel.is-dragging{cursor:move;cursor:grabbing}.carousel__viewport{position:relative;overflow:hidden;max-width:100%;max-height:100%}.carousel__track{display:flex}.carousel__slide{flex:0 0 auto;width:var(--carousel-slide-width, 60%);max-width:100%;padding:1rem;position:relative;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.has-dots{margin-bottom:calc(0.5rem + 22px)}.carousel__dots{margin:0 auto;padding:0;position:absolute;top:calc(100% + 0.5rem);left:0;right:0;display:flex;justify-content:center;list-style:none;user-select:none}.carousel__dots .carousel__dot{margin:0;padding:0;display:block;position:relative;width:22px;height:22px;cursor:pointer}.carousel__dots .carousel__dot:after{content:"";width:8px;height:8px;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);background-color:currentColor;opacity:.25;transition:opacity .15s ease-in-out}.carousel__dots .carousel__dot.is-selected:after{opacity:1}.carousel__button{width:var(--carousel-button-width, 48px);height:var(--carousel-button-height, 48px);padding:0;border:0;display:flex;justify-content:center;align-items:center;pointer-events:all;cursor:pointer;color:var(--carousel-button-color, currentColor);background:var(--carousel-button-bg, transparent);border-radius:var(--carousel-button-border-radius, 50%);box-shadow:var(--carousel-button-shadow, none);transition:opacity .15s ease}.carousel__button.is-prev,.carousel__button.is-next{position:absolute;top:50%;transform:translateY(-50%)}.carousel__button.is-prev{left:10px}.carousel__button.is-next{right:10px}.carousel__button[disabled]{cursor:default;opacity:.3}.carousel__button svg{width:var(--carousel-button-svg-width, 50%);height:var(--carousel-button-svg-height, 50%);fill:none;stroke:currentColor;stroke-width:var(--carousel-button-svg-stroke-width, 1.5);stroke-linejoin:bevel;stroke-linecap:round;filter:var(--carousel-button-svg-filter, none);pointer-events:none}html.with-fancybox{scroll-behavior:auto}body.compensate-for-scrollbar{overflow:hidden !important;touch-action:none}.fancybox__container{position:fixed;top:0;left:0;bottom:0;right:0;direction:ltr;margin:0;padding:env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);box-sizing:border-box;display:flex;flex-direction:column;color:var(--fancybox-color, #fff);-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;z-index:1050;outline:none;transform-origin:top left;--carousel-button-width: 48px;--carousel-button-height: 48px;--carousel-button-svg-width: 24px;--carousel-button-svg-height: 24px;--carousel-button-svg-stroke-width: 2.5;--carousel-button-svg-filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.4))}.fancybox__container *,.fancybox__container *::before,.fancybox__container *::after{box-sizing:inherit}.fancybox__container :focus{outline:none}body:not(.is-using-mouse) .fancybox__container :focus{box-shadow:0 0 0 1px #fff,0 0 0 2px var(--fancybox-accent-color, rgba(1, 210, 232, 0.94))}@media all and (min-width: 1024px){.fancybox__container{--carousel-button-width:48px;--carousel-button-height:48px;--carousel-button-svg-width:27px;--carousel-button-svg-height:27px}}.fancybox__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--fancybox-bg, rgba(24, 24, 27, 0.92))}.fancybox__carousel{position:relative;flex:1 1 auto;min-height:0;height:100%;z-index:10}.fancybox__carousel.has-dots{margin-bottom:calc(0.5rem + 22px)}.fancybox__viewport{position:relative;width:100%;height:100%;overflow:visible;cursor:default}.fancybox__track{display:flex;height:100%}.fancybox__slide{flex:0 0 auto;width:100%;max-width:100%;margin:0;padding:48px 8px 8px 8px;position:relative;overscroll-behavior:contain;display:flex;flex-direction:column;outline:0;overflow:auto;--carousel-button-width: 36px;--carousel-button-height: 36px;--carousel-button-svg-width: 22px;--carousel-button-svg-height: 22px}.fancybox__slide::before,.fancybox__slide::after{content:"";flex:0 0 0;margin:auto}@media all and (min-width: 1024px){.fancybox__slide{padding:64px 100px}}.fancybox__content{margin:0 env(safe-area-inset-right, 0px) 0 env(safe-area-inset-left, 0px);padding:36px;color:var(--fancybox-content-color, #374151);background:var(--fancybox-content-bg, #fff);position:relative;align-self:center;display:flex;flex-direction:column;z-index:20}.fancybox__content :focus:not(.carousel__button.is-close){outline:thin dotted;box-shadow:none}.fancybox__caption{align-self:center;max-width:100%;margin:0;padding:1rem 0 0 0;line-height:1.375;color:var(--fancybox-color, currentColor);visibility:visible;cursor:auto;flex-shrink:0;overflow-wrap:anywhere}.is-loading .fancybox__caption{visibility:hidden}.fancybox__container>.carousel__dots{top:100%;color:var(--fancybox-color, #fff)}.fancybox__nav .carousel__button{z-index:40}.fancybox__nav .carousel__button.is-next{right:8px}@media all and (min-width: 1024px){.fancybox__nav .carousel__button.is-next{right:40px}}.fancybox__nav .carousel__button.is-prev{left:8px}@media all and (min-width: 1024px){.fancybox__nav .carousel__button.is-prev{left:40px}}.carousel__button.is-close{position:absolute;top:8px;right:8px;top:calc(env(safe-area-inset-top, 0px) + 8px);right:calc(env(safe-area-inset-right, 0px) + 8px);z-index:40}@media all and (min-width: 1024px){.carousel__button.is-close{right:40px}}.fancybox__content>.carousel__button.is-close{position:absolute;top:-40px;right:0;color:var(--fancybox-color, #fff)}.fancybox__no-click,.fancybox__no-click button{pointer-events:none}.fancybox__spinner{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:50px;height:50px;color:var(--fancybox-color, currentColor)}.fancybox__slide .fancybox__spinner{cursor:pointer;z-index:1053}.fancybox__spinner svg{animation:fancybox-rotate 2s linear infinite;transform-origin:center center;position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:100%;height:100%}.fancybox__spinner svg circle{fill:none;stroke-width:2.75;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;animation:fancybox-dash 1.5s ease-in-out infinite;stroke-linecap:round;stroke:currentColor}@keyframes fancybox-rotate{100%{transform:rotate(360deg)}}@keyframes fancybox-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.fancybox__backdrop,.fancybox__caption,.fancybox__nav,.carousel__dots,.carousel__button.is-close{opacity:var(--fancybox-opacity, 1)}.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop,.fancybox__container.is-animated[aria-hidden=false] .fancybox__caption,.fancybox__container.is-animated[aria-hidden=false] .fancybox__nav,.fancybox__container.is-animated[aria-hidden=false] .carousel__dots,.fancybox__container.is-animated[aria-hidden=false] .carousel__button.is-close{animation:.15s ease backwards fancybox-fadeIn}.fancybox__container.is-animated.is-closing .fancybox__backdrop,.fancybox__container.is-animated.is-closing .fancybox__caption,.fancybox__container.is-animated.is-closing .fancybox__nav,.fancybox__container.is-animated.is-closing .carousel__dots,.fancybox__container.is-animated.is-closing .carousel__button.is-close{animation:.15s ease both fancybox-fadeOut}.fancybox-fadeIn{animation:.15s ease both fancybox-fadeIn}.fancybox-fadeOut{animation:.1s ease both fancybox-fadeOut}.fancybox-zoomInUp{animation:.2s ease both fancybox-zoomInUp}.fancybox-zoomOutDown{animation:.15s ease both fancybox-zoomOutDown}.fancybox-throwOutUp{animation:.15s ease both fancybox-throwOutUp}.fancybox-throwOutDown{animation:.15s ease both fancybox-throwOutDown}@keyframes fancybox-fadeIn{from{opacity:0}to{opacity:1}}@keyframes fancybox-fadeOut{to{opacity:0}}@keyframes fancybox-zoomInUp{from{transform:scale(0.97) translate3d(0, 16px, 0);opacity:0}to{transform:scale(1) translate3d(0, 0, 0);opacity:1}}@keyframes fancybox-zoomOutDown{to{transform:scale(0.97) translate3d(0, 16px, 0);opacity:0}}@keyframes fancybox-throwOutUp{to{transform:translate3d(0, -30%, 0);opacity:0}}@keyframes fancybox-throwOutDown{to{transform:translate3d(0, 30%, 0);opacity:0}}.fancybox__carousel .carousel__slide{scrollbar-width:thin;scrollbar-color:#ccc rgba(255,255,255,.1)}.fancybox__carousel .carousel__slide::-webkit-scrollbar{width:8px;height:8px}.fancybox__carousel .carousel__slide::-webkit-scrollbar-track{background-color:rgba(255,255,255,.1)}.fancybox__carousel .carousel__slide::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:2px;box-shadow:inset 0 0 4px rgba(0,0,0,.2)}.fancybox__carousel.is-draggable .fancybox__slide,.fancybox__carousel.is-draggable .fancybox__slide .fancybox__content{cursor:move;cursor:grab}.fancybox__carousel.is-dragging .fancybox__slide,.fancybox__carousel.is-dragging .fancybox__slide .fancybox__content{cursor:move;cursor:grabbing}.fancybox__carousel .fancybox__slide .fancybox__content{cursor:auto}.fancybox__carousel .fancybox__slide.can-zoom_in .fancybox__content{cursor:zoom-in}.fancybox__carousel .fancybox__slide.can-zoom_out .fancybox__content{cursor:zoom-out}.fancybox__carousel .fancybox__slide.is-draggable .fancybox__content{cursor:move;cursor:grab}.fancybox__carousel .fancybox__slide.is-dragging .fancybox__content{cursor:move;cursor:grabbing}.fancybox__image{transform-origin:0 0;user-select:none;transition:none}.has-image .fancybox__content{padding:0;background:rgba(0,0,0,0);min-height:1px}.is-closing .has-image .fancybox__content{overflow:visible}.has-image[data-image-fit=contain]{overflow:visible;touch-action:none}.has-image[data-image-fit=contain] .fancybox__content{flex-direction:row;flex-wrap:wrap}.has-image[data-image-fit=contain] .fancybox__image{max-width:100%;max-height:100%;object-fit:contain}.has-image[data-image-fit=contain-w]{overflow-x:hidden;overflow-y:auto}.has-image[data-image-fit=contain-w] .fancybox__content{min-height:auto}.has-image[data-image-fit=contain-w] .fancybox__image{max-width:100%;height:auto}.has-image[data-image-fit=cover]{overflow:visible;touch-action:none}.has-image[data-image-fit=cover] .fancybox__content{width:100%;height:100%}.has-image[data-image-fit=cover] .fancybox__image{width:100%;height:100%;object-fit:cover}.fancybox__carousel .fancybox__slide.has-iframe .fancybox__content,.fancybox__carousel .fancybox__slide.has-map .fancybox__content,.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content,.fancybox__carousel .fancybox__slide.has-video .fancybox__content,.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content{max-width:100%;flex-shrink:1;min-height:1px;overflow:visible}.fancybox__carousel .fancybox__slide.has-iframe .fancybox__content,.fancybox__carousel .fancybox__slide.has-map .fancybox__content,.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content{width:100%;height:80%}.fancybox__carousel .fancybox__slide.has-video .fancybox__content,.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content{width:960px;height:540px;max-width:100%;max-height:100%}.fancybox__carousel .fancybox__slide.has-map .fancybox__content,.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content,.fancybox__carousel .fancybox__slide.has-video .fancybox__content,.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content{padding:0;background:rgba(24,24,27,.9);color:#fff}.fancybox__carousel .fancybox__slide.has-map .fancybox__content{background:#e5e3df}.fancybox__html5video,.fancybox__iframe{border:0;display:block;height:100%;width:100%;background:rgba(0,0,0,0)}.fancybox-placeholder{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.fancybox__thumbs{flex:0 0 auto;position:relative;padding:0px 3px;opacity:var(--fancybox-opacity, 1)}.fancybox__container.is-animated[aria-hidden=false] .fancybox__thumbs{animation:.15s ease-in backwards fancybox-fadeIn}.fancybox__container.is-animated.is-closing .fancybox__thumbs{opacity:0}.fancybox__thumbs .carousel__slide{flex:0 0 auto;width:var(--fancybox-thumbs-width, 96px);margin:0;padding:8px 3px;box-sizing:content-box;display:flex;align-items:center;justify-content:center;overflow:visible;cursor:pointer}.fancybox__thumbs .carousel__slide .fancybox__thumb::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-width:5px;border-style:solid;border-color:var(--fancybox-accent-color, rgba(34, 213, 233, 0.96));opacity:0;transition:opacity .15s ease;border-radius:var(--fancybox-thumbs-border-radius, 4px)}.fancybox__thumbs .carousel__slide.is-nav-selected .fancybox__thumb::after{opacity:.92}.fancybox__thumbs .carousel__slide>*{pointer-events:none;user-select:none}.fancybox__thumb{position:relative;width:100%;padding-top:calc(100%/(var(--fancybox-thumbs-ratio, 1.5)));background-size:cover;background-position:center center;background-color:rgba(255,255,255,.1);background-repeat:no-repeat;border-radius:var(--fancybox-thumbs-border-radius, 4px)}.fancybox__toolbar{position:absolute;top:0;right:0;left:0;z-index:20;background:linear-gradient(to top, hsla(0deg, 0%, 0%, 0) 0%, hsla(0deg, 0%, 0%, 0.006) 8.1%, hsla(0deg, 0%, 0%, 0.021) 15.5%, hsla(0deg, 0%, 0%, 0.046) 22.5%, hsla(0deg, 0%, 0%, 0.077) 29%, hsla(0deg, 0%, 0%, 0.114) 35.3%, hsla(0deg, 0%, 0%, 0.155) 41.2%, hsla(0deg, 0%, 0%, 0.198) 47.1%, hsla(0deg, 0%, 0%, 0.242) 52.9%, hsla(0deg, 0%, 0%, 0.285) 58.8%, hsla(0deg, 0%, 0%, 0.326) 64.7%, hsla(0deg, 0%, 0%, 0.363) 71%, hsla(0deg, 0%, 0%, 0.394) 77.5%, hsla(0deg, 0%, 0%, 0.419) 84.5%, hsla(0deg, 0%, 0%, 0.434) 91.9%, hsla(0deg, 0%, 0%, 0.44) 100%);padding:0;touch-action:none;display:flex;justify-content:space-between;--carousel-button-svg-width: 20px;--carousel-button-svg-height: 20px;opacity:var(--fancybox-opacity, 1);text-shadow:var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, 0.4))}@media all and (min-width: 1024px){.fancybox__toolbar{padding:8px}}.fancybox__container.is-animated[aria-hidden=false] .fancybox__toolbar{animation:.15s ease-in backwards fancybox-fadeIn}.fancybox__container.is-animated.is-closing .fancybox__toolbar{opacity:0}.fancybox__toolbar__items{display:flex}.fancybox__toolbar__items--left{margin-right:auto}.fancybox__toolbar__items--center{position:absolute;left:50%;transform:translateX(-50%)}.fancybox__toolbar__items--right{margin-left:auto}@media(max-width: 640px){.fancybox__toolbar__items--center:not(:last-child){display:none}}.fancybox__counter{min-width:72px;padding:0 10px;line-height:var(--carousel-button-height, 48px);text-align:center;font-size:17px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:subpixel-antialiased}.fancybox__progress{background:var(--fancybox-accent-color, rgba(34, 213, 233, 0.96));height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:30;user-select:none}.fancybox__container:fullscreen::backdrop{opacity:0}.fancybox__button--fullscreen g:nth-child(2){display:none}.fancybox__container:fullscreen .fancybox__button--fullscreen g:nth-child(1){display:none}.fancybox__container:fullscreen .fancybox__button--fullscreen g:nth-child(2){display:block}.fancybox__button--slideshow g:nth-child(2){display:none}.fancybox__container.has-slideshow .fancybox__button--slideshow g:nth-child(1){display:none}.fancybox__container.has-slideshow .fancybox__button--slideshow g:nth-child(2){display:block} + + \ No newline at end of file diff --git a/Chico/Mobile/library.js b/Chico/Mobile/library.js new file mode 100644 index 0000000..905e20c --- /dev/null +++ b/Chico/Mobile/library.js @@ -0,0 +1,82 @@ +/** + * 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("e.split(" "))));return this.forEach((e=>{e.classList.add(...a)})),this},removeClass:function(){for(var e=arguments.length,t=new Array(e),s=0;se.split(" "))));return this.forEach((e=>{e.classList.remove(...a)})),this},hasClass:function(){for(var e=arguments.length,t=new Array(e),s=0;se.split(" "))));return o(this,(e=>a.filter((t=>e.classList.contains(t))).length>0)).length>0},toggleClass:function(){for(var e=arguments.length,t=new Array(e),s=0;se.split(" "))));this.forEach((e=>{a.forEach((t=>{e.classList.toggle(t)}))}))},attr:function(e,t){if(1===arguments.length&&"string"==typeof e)return this[0]?this[0].getAttribute(e):void 0;for(let s=0;s=0;e-=1){const i=a[e];r&&i.listener===r||r&&i.listener&&i.listener.dom7proxy&&i.listener.dom7proxy===r?(s.removeEventListener(t,i.proxyListener,n),a.splice(e,1)):r||(s.removeEventListener(t,i.proxyListener,n),a.splice(e,1))}}}return this},trigger:function(){const e=r();for(var t=arguments.length,s=new Array(t),a=0;at>0)),i.dispatchEvent(t),i.dom7EventData=[],delete i.dom7EventData}}}return this},transitionEnd:function(e){const t=this;return e&&t.on("transitionend",(function s(a){a.target===this&&(e.call(this,a),t.off("transitionend",s))})),this},outerWidth:function(e){if(this.length>0){if(e){const e=this.styles();return this[0].offsetWidth+parseFloat(e.getPropertyValue("margin-right"))+parseFloat(e.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(this.length>0){if(e){const e=this.styles();return this[0].offsetHeight+parseFloat(e.getPropertyValue("margin-top"))+parseFloat(e.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){const e=r();return this[0]?e.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){const e=r(),t=a(),s=this[0],i=s.getBoundingClientRect(),n=t.body,l=s.clientTop||n.clientTop||0,o=s.clientLeft||n.clientLeft||0,d=s===e?e.scrollY:s.scrollTop,c=s===e?e.scrollX:s.scrollLeft;return{top:i.top+d-l,left:i.left+c-o}}return null},css:function(e,t){const s=r();let a;if(1===arguments.length){if("string"!=typeof e){for(a=0;a{e.apply(t,[t,s])})),this):this},html:function(e){if(void 0===e)return this[0]?this[0].innerHTML:null;for(let t=0;tt-1)return d([]);if(e<0){const s=t+e;return d(s<0?[]:[this[s]])}return d([this[e]])},append:function(){let e;const t=a();for(let s=0;s=0;i-=1)this[s].insertBefore(a.childNodes[i],this[s].childNodes[0])}else if(e instanceof n)for(i=0;i0?e?this[0].nextElementSibling&&d(this[0].nextElementSibling).is(e)?d([this[0].nextElementSibling]):d([]):this[0].nextElementSibling?d([this[0].nextElementSibling]):d([]):d([])},nextAll:function(e){const t=[];let s=this[0];if(!s)return d([]);for(;s.nextElementSibling;){const a=s.nextElementSibling;e?d(a).is(e)&&t.push(a):t.push(a),s=a}return d(t)},prev:function(e){if(this.length>0){const t=this[0];return e?t.previousElementSibling&&d(t.previousElementSibling).is(e)?d([t.previousElementSibling]):d([]):t.previousElementSibling?d([t.previousElementSibling]):d([])}return d([])},prevAll:function(e){const t=[];let s=this[0];if(!s)return d([]);for(;s.previousElementSibling;){const a=s.previousElementSibling;e?d(a).is(e)&&t.push(a):t.push(a),s=a}return d(t)},parent:function(e){const t=[];for(let s=0;s6&&(i=i.split(", ").map((e=>e.replace(",","."))).join(", ")),n=new s.WebKitCSSMatrix("none"===i?"":i)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),a=n.toString().split(",")),"x"===t&&(i=s.WebKitCSSMatrix?n.m41:16===a.length?parseFloat(a[12]):parseFloat(a[4])),"y"===t&&(i=s.WebKitCSSMatrix?n.m42:16===a.length?parseFloat(a[13]):parseFloat(a[5])),i||0}function m(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function f(e){return"undefined"!=typeof window&&void 0!==window.HTMLElement?e instanceof HTMLElement:e&&(1===e.nodeType||11===e.nodeType)}function g(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let s=1;st.indexOf(e)<0));for(let t=0,i=s.length;tn?"next":"prev",p=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{l=(new Date).getTime(),null===o&&(o=l);const e=Math.max(Math.min((l-o)/d,1),0),r=.5-Math.cos(e*Math.PI)/2;let c=n+r*(s-n);if(p(c,s)&&(c=s),t.wrapperEl.scrollTo({[a]:c}),p(c,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[a]:c})})),void i.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=i.requestAnimationFrame(u)};u()}let b,x,y;function E(){return b||(b=function(){const e=r(),t=a();return{smoothScroll:t.documentElement&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch),passiveListener:function(){let t=!1;try{const s=Object.defineProperty({},"passive",{get(){t=!0}});e.addEventListener("testPassiveListener",null,s)}catch(e){}return t}(),gestures:"ongesturestart"in e}}()),b}function C(e){return void 0===e&&(e={}),x||(x=function(e){let{userAgent:t}=void 0===e?{}:e;const s=E(),a=r(),i=a.navigator.platform,n=t||a.navigator.userAgent,l={ios:!1,android:!1},o=a.screen.width,d=a.screen.height,c=n.match(/(Android);?[\s\/]+([\d.]+)?/);let p=n.match(/(iPad).*OS\s([\d_]+)/);const u=n.match(/(iPod)(.*OS\s([\d_]+))?/),h=!p&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),m="Win32"===i;let f="MacIntel"===i;return!p&&f&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${o}x${d}`)>=0&&(p=n.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),f=!1),c&&!m&&(l.os="android",l.android=!0),(p||h||u)&&(l.os="ios",l.ios=!0),l}(e)),x}function T(){return y||(y=function(){const e=r();return{isSafari:function(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}(),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),y}Object.keys(c).forEach((e=>{Object.defineProperty(d.fn,e,{value:c[e],writable:!0})}));var $={on(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;const i=s?"unshift":"push";return e.split(" ").forEach((e=>{a.eventsListeners[e]||(a.eventsListeners[e]=[]),a.eventsListeners[e][i](t)})),a},once(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;function i(){a.off(e,i),i.__emitterProxy&&delete i.__emitterProxy;for(var s=arguments.length,r=new Array(s),n=0;n=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;i1&&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{u[s]=e-t})),h.forEach(((e,s)=>{h[s]=e+t}))}}if(Object.assign(e,{slides:c,snapGrid:u,slidesGrid:h,slidesSizesGrid:m}),a.centeredSlides&&a.cssMode&&!a.centeredSlidesBounds){v(e.wrapperEl,"--swiper-centered-offset-before",-u[0]+"px"),v(e.wrapperEl,"--swiper-centered-offset-after",e.size/2-m[m.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(p!==d&&e.emit("slidesLengthChange"),u.length!==w&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),h.length!==b&&e.emit("slidesGridLengthChange"),a.watchSlidesProgress&&e.updateSlidesOffset(),!(o||a.cssMode||"slide"!==a.effect&&"fade"!==a.effect)){const t=`${a.containerModifierClass}backface-hidden`,s=e.$el.hasClass(t);p<=a.maxBackfaceHiddenSlides?s||e.$el.addClass(t):s&&e.$el.removeClass(t)}},updateAutoHeight:function(e){const t=this,s=[],a=t.virtual&&t.params.virtual.enabled;let i,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>a?t.slides.filter((t=>parseInt(t.getAttribute("data-swiper-slide-index"),10)===e))[0]:t.slides.eq(e)[0];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||d([])).each((e=>{s.push(e)}));else for(i=0;it.slides.length&&!a)break;s.push(n(e))}else s.push(n(t.activeIndex));for(i=0;ir?e:r}(r||0===r)&&t.$wrapperEl.css("height",`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides;for(let s=0;s=0&&p1&&u<=t.size||p<=0&&u>=t.size)&&(t.visibleSlides.push(l),t.visibleSlidesIndexes.push(e),a.eq(e).addClass(s.slideVisibleClass)),l.progress=i?-d:d,l.originalProgress=i?-c:c}t.visibleSlides=d(t.visibleSlides)},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,a=t.maxTranslate()-t.minTranslate();let{progress:i,isBeginning:r,isEnd:n}=t;const l=r,o=n;0===a?(i=0,r=!0,n=!0):(i=(e-t.minTranslate())/a,r=i<=0,n=i>=1),Object.assign(t,{progress:i,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!l&&t.emit("reachBeginning toEdge"),n&&!o&&t.emit("reachEnd toEdge"),(l&&!r||o&&!n)&&t.emit("fromEdge"),t.emit("progress",i)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,$wrapperEl:a,activeIndex:i,realIndex:r}=e,n=e.virtual&&s.virtual.enabled;let l;t.removeClass(`${s.slideActiveClass} ${s.slideNextClass} ${s.slidePrevClass} ${s.slideDuplicateActiveClass} ${s.slideDuplicateNextClass} ${s.slideDuplicatePrevClass}`),l=n?e.$wrapperEl.find(`.${s.slideClass}[data-swiper-slide-index="${i}"]`):t.eq(i),l.addClass(s.slideActiveClass),s.loop&&(l.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass));let o=l.nextAll(`.${s.slideClass}`).eq(0).addClass(s.slideNextClass);s.loop&&0===o.length&&(o=t.eq(0),o.addClass(s.slideNextClass));let d=l.prevAll(`.${s.slideClass}`).eq(0).addClass(s.slidePrevClass);s.loop&&0===d.length&&(d=t.eq(-1),d.addClass(s.slidePrevClass)),s.loop&&(o.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass),d.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass)),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{slidesGrid:a,snapGrid:i,params:r,activeIndex:n,realIndex:l,snapIndex:o}=t;let d,c=e;if(void 0===c){for(let e=0;e=a[e]&&s=a[e]&&s=a[e]&&(c=e);r.normalizeSlideIndex&&(c<0||void 0===c)&&(c=0)}if(i.indexOf(s)>=0)d=i.indexOf(s);else{const e=Math.min(r.slidesPerGroupSkip,c);d=e+Math.floor((c-e)/r.slidesPerGroup)}if(d>=i.length&&(d=i.length-1),c===n)return void(d!==o&&(t.snapIndex=d,t.emit("snapIndexChange")));const p=parseInt(t.slides.eq(c).attr("data-swiper-slide-index")||c,10);Object.assign(t,{snapIndex:d,realIndex:p,previousIndex:n,activeIndex:c}),t.emit("activeIndexChange"),t.emit("snapIndexChange"),l!==p&&t.emit("realIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&t.emit("slideChange")},updateClickedSlide:function(e){const t=this,s=t.params,a=d(e).closest(`.${s.slideClass}`)[0];let i,r=!1;if(a)for(let e=0;eo?o:a&&en?"next":r=o.length&&(g=o.length-1),(p||l.initialSlide||0)===(c||0)&&s&&r.emit("beforeSlideChangeStart");const v=-o[g];if(r.updateProgress(v),l.normalizeSlideIndex)for(let e=0;e=s&&t=s&&t=s&&(n=e)}if(r.initialized&&n!==p){if(!r.allowSlideNext&&vr.translate&&v>r.maxTranslate()&&(p||0)!==n)return!1}let b;if(b=n>p?"next":n{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.activeIndexc(e)));let h=n[u.indexOf(p)-1];if(void 0===h&&i.cssMode){let e;n.forEach(((t,s)=>{p>=t&&(e=s)})),void 0!==e&&(h=n[e>0?e-1:e])}let m=0;if(void 0!==h&&(m=l.indexOf(h),m<0&&(m=a.activeIndex-1),"auto"===i.slidesPerView&&1===i.slidesPerGroup&&i.slidesPerGroupAuto&&(m=m-a.slidesPerViewDynamic("previous",!0)+1,m=Math.max(m,0))),i.rewind&&a.isBeginning){const i=a.params.virtual&&a.params.virtual.enabled&&a.virtual?a.virtual.slides.length-1:a.slides.length-1;return a.slideTo(i,e,t,s)}return a.slideTo(m,e,t,s)},slideReset:function(e,t,s){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,s)},slideToClosest:function(e,t,s,a){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===a&&(a=.5);const i=this;let r=i.activeIndex;const n=Math.min(i.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/i.params.slidesPerGroup),o=i.rtlTranslate?i.translate:-i.translate;if(o>=i.snapGrid[l]){const e=i.snapGrid[l];o-e>(i.snapGrid[l+1]-e)*a&&(r+=i.params.slidesPerGroup)}else{const e=i.snapGrid[l-1];o-e<=(i.snapGrid[l]-e)*a&&(r-=i.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,i.slidesGrid.length-1),i.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this,{params:t,$wrapperEl:s}=e,a="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let i,r=e.clickedIndex;if(t.loop){if(e.animating)return;i=parseInt(d(e.clickedSlide).attr("data-swiper-slide-index"),10),t.centeredSlides?re.slides.length-e.loopedSlides+a/2?(e.loopFix(),r=s.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index(),p((()=>{e.slideTo(r)}))):e.slideTo(r):r>e.slides.length-a?(e.loopFix(),r=s.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index(),p((()=>{e.slideTo(r)}))):e.slideTo(r)}else e.slideTo(r)}};var z={loopCreate:function(){const e=this,t=a(),{params:s,$wrapperEl:i}=e,r=i.children().length>0?d(i.children()[0].parentNode):i;r.children(`.${s.slideClass}.${s.slideDuplicateClass}`).remove();let n=r.children(`.${s.slideClass}`);if(s.loopFillGroupWithBlank){const e=s.slidesPerGroup-n.length%s.slidesPerGroup;if(e!==s.slidesPerGroup){for(let a=0;an.length&&e.params.loopedSlidesLimit&&(e.loopedSlides=n.length);const l=[],o=[];n.each(((e,t)=>{d(e).attr("data-swiper-slide-index",t)}));for(let t=0;t=0;e-=1)r.prepend(d(l[e].cloneNode(!0)).addClass(s.slideDuplicateClass))},loopFix:function(){const e=this;e.emit("beforeLoopFix");const{activeIndex:t,slides:s,loopedSlides:a,allowSlidePrev:i,allowSlideNext:r,snapGrid:n,rtlTranslate:l}=e;let o;e.allowSlidePrev=!0,e.allowSlideNext=!0;const d=-n[t]-e.getTranslate();if(t=s.length-a){o=-s.length+t+a,o+=a;e.slideTo(o,0,!1,!0)&&0!==d&&e.setTranslate((l?-e.translate:e.translate)-d)}e.allowSlidePrev=i,e.allowSlideNext=r,e.emit("loopFix")},loopDestroy:function(){const{$wrapperEl:e,params:t,slides:s}=this;e.children(`.${t.slideClass}.${t.slideDuplicateClass},.${t.slideClass}.${t.slideBlankClass}`).remove(),s.removeAttr("data-swiper-slide-index")}};function L(e){const t=this,s=a(),i=r(),n=t.touchEventsData,{params:l,touches:o,enabled:c}=t;if(!c)return;if(t.animating&&l.preventInteractionOnTransition)return;!t.animating&&l.cssMode&&l.loop&&t.loopFix();let p=e;p.originalEvent&&(p=p.originalEvent);let h=d(p.target);if("wrapper"===l.touchEventsTarget&&!h.closest(t.wrapperEl).length)return;if(n.isTouchEvent="touchstart"===p.type,!n.isTouchEvent&&"which"in p&&3===p.which)return;if(!n.isTouchEvent&&"button"in p&&p.button>0)return;if(n.isTouched&&n.isMoved)return;!!l.noSwipingClass&&""!==l.noSwipingClass&&p.target&&p.target.shadowRoot&&e.path&&e.path[0]&&(h=d(e.path[0]));const m=l.noSwipingSelector?l.noSwipingSelector:`.${l.noSwipingClass}`,f=!(!p.target||!p.target.shadowRoot);if(l.noSwiping&&(f?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===a()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const i=s.closest(e);return i||s.getRootNode?i||t(s.getRootNode().host):null}(t)}(m,h[0]):h.closest(m)[0]))return void(t.allowClick=!0);if(l.swipeHandler&&!h.closest(l.swipeHandler)[0])return;o.currentX="touchstart"===p.type?p.targetTouches[0].pageX:p.pageX,o.currentY="touchstart"===p.type?p.targetTouches[0].pageY:p.pageY;const g=o.currentX,v=o.currentY,w=l.edgeSwipeDetection||l.iOSEdgeSwipeDetection,b=l.edgeSwipeThreshold||l.iOSEdgeSwipeThreshold;if(w&&(g<=b||g>=i.innerWidth-b)){if("prevent"!==w)return;e.preventDefault()}if(Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=g,o.startY=v,n.touchStartTime=u(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,l.threshold>0&&(n.allowThresholdMove=!1),"touchstart"!==p.type){let e=!0;h.is(n.focusableElements)&&(e=!1,"SELECT"===h[0].nodeName&&(n.isTouched=!1)),s.activeElement&&d(s.activeElement).is(n.focusableElements)&&s.activeElement!==h[0]&&s.activeElement.blur();const a=e&&t.allowTouchMove&&l.touchStartPreventDefault;!l.touchStartForcePreventDefault&&!a||h[0].isContentEditable||p.preventDefault()}t.params.freeMode&&t.params.freeMode.enabled&&t.freeMode&&t.animating&&!l.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",p)}function O(e){const t=a(),s=this,i=s.touchEventsData,{params:r,touches:n,rtlTranslate:l,enabled:o}=s;if(!o)return;let c=e;if(c.originalEvent&&(c=c.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&s.emit("touchMoveOpposite",c));if(i.isTouchEvent&&"touchmove"!==c.type)return;const p="touchmove"===c.type&&c.targetTouches&&(c.targetTouches[0]||c.changedTouches[0]),h="touchmove"===c.type?p.pageX:c.pageX,m="touchmove"===c.type?p.pageY:c.pageY;if(c.preventedByNestedSwiper)return n.startX=h,void(n.startY=m);if(!s.allowTouchMove)return d(c.target).is(i.focusableElements)||(s.allowClick=!1),void(i.isTouched&&(Object.assign(n,{startX:h,startY:m,currentX:h,currentY:m}),i.touchStartTime=u()));if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(mn.startY&&s.translate>=s.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(hn.startX&&s.translate>=s.minTranslate())return;if(i.isTouchEvent&&t.activeElement&&c.target===t.activeElement&&d(c.target).is(i.focusableElements))return i.isMoved=!0,void(s.allowClick=!1);if(i.allowTouchCallbacks&&s.emit("touchMove",c),c.targetTouches&&c.targetTouches.length>1)return;n.currentX=h,n.currentY=m;const f=n.currentX-n.startX,g=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(f**2+g**2)=25&&(e=180*Math.atan2(Math.abs(g),Math.abs(f))/Math.PI,i.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(i.isScrolling&&s.emit("touchMoveOpposite",c),void 0===i.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(i.startMoving=!0)),i.isScrolling)return void(i.isTouched=!1);if(!i.startMoving)return;s.allowClick=!1,!r.cssMode&&c.cancelable&&c.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&c.stopPropagation(),i.isMoved||(r.loop&&!r.cssMode&&s.loopFix(),i.startTranslate=s.getTranslate(),s.setTransition(0),s.animating&&s.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",c)),s.emit("sliderMove",c),i.isMoved=!0;let v=s.isHorizontal()?f:g;n.diff=v,v*=r.touchRatio,l&&(v=-v),s.swipeDirection=v>0?"prev":"next",i.currentTranslate=v+i.startTranslate;let w=!0,b=r.resistanceRatio;if(r.touchReleaseOnEdges&&(b=0),v>0&&i.currentTranslate>s.minTranslate()?(w=!1,r.resistance&&(i.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+i.startTranslate+v)**b)):v<0&&i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),s.allowSlidePrev||s.allowSlideNext||(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(v)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,i.currentTranslate=i.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),s.params.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(i.currentTranslate),s.setTranslate(i.currentTranslate))}function I(e){const t=this,s=t.touchEventsData,{params:a,touches:i,rtlTranslate:r,slidesGrid:n,enabled:l}=t;if(!l)return;let o=e;if(o.originalEvent&&(o=o.originalEvent),s.allowTouchCallbacks&&t.emit("touchEnd",o),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&a.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);a.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const d=u(),c=d-s.touchStartTime;if(t.allowClick){const e=o.path||o.composedPath&&o.composedPath();t.updateClickedSlide(e&&e[0]||o.target),t.emit("tap click",o),c<300&&d-s.lastClickTime<300&&t.emit("doubleTap doubleClick",o)}if(s.lastClickTime=u(),p((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===i.diff||s.currentTranslate===s.startTranslate)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=a.followFinger?r?t.translate:-t.translate:-s.currentTranslate,a.cssMode)return;if(t.params.freeMode&&a.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});let m=0,f=t.slidesSizesGrid[0];for(let e=0;e=n[e]&&h=n[e]&&(m=e,f=n[n.length-1]-n[n.length-2])}let g=null,v=null;a.rewind&&(t.isBeginning?v=t.params.virtual&&t.params.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(g=0));const w=(h-n[m])/f,b=ma.longSwipesMs){if(!a.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(w>=a.longSwipesRatio?t.slideTo(a.rewind&&t.isEnd?g:m+b):t.slideTo(m)),"prev"===t.swipeDirection&&(w>1-a.longSwipesRatio?t.slideTo(m+b):null!==v&&w<0&&Math.abs(w)>a.longSwipesRatio?t.slideTo(v):t.slideTo(m))}else{if(!a.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(o.target===t.navigation.nextEl||o.target===t.navigation.prevEl)?o.target===t.navigation.nextEl?t.slideTo(m+b):t.slideTo(m):("next"===t.swipeDirection&&t.slideTo(null!==g?g:m+b),"prev"===t.swipeDirection&&t.slideTo(null!==v?v:m))}}function A(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:a,allowSlidePrev:i,snapGrid:r}=e;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses(),("auto"===t.slidesPerView||t.slidesPerView>1)&&e.isEnd&&!e.isBeginning&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.run(),e.allowSlidePrev=i,e.allowSlideNext=a,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function D(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function G(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:a}=e;if(!a)return;let i;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();i=0===r?0:(e.translate-e.minTranslate())/r,i!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}let N=!1;function B(){}const H=(e,t)=>{const s=a(),{params:i,touchEvents:r,el:n,wrapperEl:l,device:o,support:d}=e,c=!!i.nested,p="on"===t?"addEventListener":"removeEventListener",u=t;if(d.touch){const t=!("touchstart"!==r.start||!d.passiveListener||!i.passiveListeners)&&{passive:!0,capture:!1};n[p](r.start,e.onTouchStart,t),n[p](r.move,e.onTouchMove,d.passiveListener?{passive:!1,capture:c}:c),n[p](r.end,e.onTouchEnd,t),r.cancel&&n[p](r.cancel,e.onTouchEnd,t)}else n[p](r.start,e.onTouchStart,!1),s[p](r.move,e.onTouchMove,c),s[p](r.end,e.onTouchEnd,!1);(i.preventClicks||i.preventClicksPropagation)&&n[p]("click",e.onClick,!0),i.cssMode&&l[p]("scroll",e.onScroll),i.updateOnWindowResize?e[u](o.ios||o.android?"resize orientationchange observerUpdate":"resize observerUpdate",A,!0):e[u]("observerUpdate",A,!0)};var X={attachEvents:function(){const e=this,t=a(),{params:s,support:i}=e;e.onTouchStart=L.bind(e),e.onTouchMove=O.bind(e),e.onTouchEnd=I.bind(e),s.cssMode&&(e.onScroll=G.bind(e)),e.onClick=D.bind(e),i.touch&&!N&&(t.addEventListener("touchstart",B),N=!0),H(e,"on")},detachEvents:function(){H(this,"off")}};const Y=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var R={addClasses:function(){const e=this,{classNames:t,params:s,rtl:a,$el:i,device:r,support:n}=e,l=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((a=>{e[a]&&s.push(t+a)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"pointer-events":!n.touch},{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:a},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...l),i.addClass([...t].join(" ")),e.emitContainerClasses()},removeClasses:function(){const{$el:e,classNames:t}=this;e.removeClass(t.join(" ")),this.emitContainerClasses()}};var W={init:!0,direction:"horizontal",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopedSlidesLimit:!0,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1};function j(e,t){return function(s){void 0===s&&(s={});const a=Object.keys(s)[0],i=s[a];"object"==typeof i&&null!==i?(["navigation","pagination","scrollbar"].indexOf(a)>=0&&!0===e[a]&&(e[a]={auto:!0}),a in e&&"enabled"in i?(!0===e[a]&&(e[a]={enabled:!0}),"object"!=typeof e[a]||"enabled"in e[a]||(e[a].enabled=!0),e[a]||(e[a]={enabled:!1}),g(t,s)):g(t,s)):g(t,s)}}const q={eventsEmitter:$,update:S,translate:M,transition:{setTransition:function(e,t){const s=this;s.params.cssMode||s.$wrapperEl.transition(e),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;a.cssMode||(a.autoHeight&&s.updateAutoHeight(),P({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;s.animating=!1,a.cssMode||(s.setTransition(0),P({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:k,loop:z,grabCursor:{setGrabCursor:function(e){const t=this;if(t.support.touch||!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;s.style.cursor="move",s.style.cursor=e?"grabbing":"grab"},unsetGrabCursor:function(){const e=this;e.support.touch||e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="")}},events:X,breakpoints:{setBreakpoint:function(){const e=this,{activeIndex:t,initialized:s,loopedSlides:a=0,params:i,$el:r}=e,n=i.breakpoints;if(!n||n&&0===Object.keys(n).length)return;const l=e.getBreakpoint(n,e.params.breakpointsBase,e.el);if(!l||e.currentBreakpoint===l)return;const o=(l in n?n[l]:void 0)||e.originalParams,d=Y(e,i),c=Y(e,o),p=i.enabled;d&&!c?(r.removeClass(`${i.containerModifierClass}grid ${i.containerModifierClass}grid-column`),e.emitContainerClasses()):!d&&c&&(r.addClass(`${i.containerModifierClass}grid`),(o.grid.fill&&"column"===o.grid.fill||!o.grid.fill&&"column"===i.grid.fill)&&r.addClass(`${i.containerModifierClass}grid-column`),e.emitContainerClasses()),["navigation","pagination","scrollbar"].forEach((t=>{const s=i[t]&&i[t].enabled,a=o[t]&&o[t].enabled;s&&!a&&e[t].disable(),!s&&a&&e[t].enable()}));const u=o.direction&&o.direction!==i.direction,h=i.loop&&(o.slidesPerView!==i.slidesPerView||u);u&&s&&e.changeDirection(),g(e.params,o);const m=e.params.enabled;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),p&&!m?e.disable():!p&&m&&e.enable(),e.currentBreakpoint=l,e.emit("_beforeBreakpoint",o),h&&s&&(e.loopDestroy(),e.loopCreate(),e.updateSlides(),e.slideTo(t-a+e.loopedSlides,0,!1)),e.emit("breakpoint",o)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let a=!1;const i=r(),n="window"===t?i.innerHeight:s.clientHeight,l=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}}));l.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;es}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:R,images:{loadImage:function(e,t,s,a,i,n){const l=r();let o;function c(){n&&n()}d(e).parent("picture")[0]||e.complete&&i?c():t?(o=new l.Image,o.onload=c,o.onerror=c,a&&(o.sizes=a),s&&(o.srcset=s),t&&(o.src=t)):c()},preloadImages:function(){const e=this;function t(){null!=e&&e&&!e.destroyed&&(void 0!==e.imagesLoaded&&(e.imagesLoaded+=1),e.imagesLoaded===e.imagesToLoad.length&&(e.params.updateOnImagesReady&&e.update(),e.emit("imagesReady")))}e.imagesToLoad=e.$el.find("img");for(let s=0;s1){const e=[];return d(t.el).each((s=>{const a=g({},t,{el:s});e.push(new V(a))})),e}const r=this;r.__swiper__=!0,r.support=E(),r.device=C({userAgent:t.userAgent}),r.browser=T(),r.eventsListeners={},r.eventsAnyListeners=[],r.modules=[...r.__modules__],t.modules&&Array.isArray(t.modules)&&r.modules.push(...t.modules);const n={};r.modules.forEach((e=>{e({swiper:r,extendParams:j(t,n),on:r.on.bind(r),once:r.once.bind(r),off:r.off.bind(r),emit:r.emit.bind(r)})}));const l=g({},W,n);return r.params=g({},l,_,t),r.originalParams=g({},r.params),r.passedParams=g({},t),r.params&&r.params.on&&Object.keys(r.params.on).forEach((e=>{r.on(e,r.params.on[e])})),r.params&&r.params.onAny&&r.onAny(r.params.onAny),r.$=d,Object.assign(r,{enabled:r.params.enabled,el:e,classNames:[],slides:d(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===r.params.direction,isVertical:()=>"vertical"===r.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:r.params.allowSlideNext,allowSlidePrev:r.params.allowSlidePrev,touchEvents:function(){const e=["touchstart","touchmove","touchend","touchcancel"],t=["pointerdown","pointermove","pointerup"];return r.touchEventsTouch={start:e[0],move:e[1],end:e[2],cancel:e[3]},r.touchEventsDesktop={start:t[0],move:t[1],end:t[2]},r.support.touch||!r.params.simulateTouch?r.touchEventsTouch:r.touchEventsDesktop}(),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:r.params.focusableElements,lastClickTime:u(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:r.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),r.emit("_swiper"),r.params.init&&r.init(),r}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const a=s.minTranslate(),i=(s.maxTranslate()-a)*e+a;s.translateTo(i,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.each((s=>{const a=e.getSlideClasses(s);t.push({slideEl:s,classNames:a}),e.emit("_slideClass",s,a)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:a,slidesGrid:i,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if(s.centeredSlides){let e,t=a[l].swiperSlideSize;for(let s=l+1;sn&&(e=!0));for(let s=l-1;s>=0;s-=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e=0;e-=1){i[l]-i[e]1)&&e.isEnd&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0),i||a()),s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,a=s.params.direction;return e||(e="horizontal"===a?"vertical":"horizontal"),e===a||"horizontal"!==e&&"vertical"!==e||(s.$el.removeClass(`${s.params.containerModifierClass}${a}`).addClass(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.each((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.$el.addClass(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.$el.removeClass(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;const s=d(e||t.params.el);if(!(e=s[0]))return!1;e.swiper=t;const i=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let r=(()=>{if(e&&e.shadowRoot&&e.shadowRoot.querySelector){const t=d(e.shadowRoot.querySelector(i()));return t.children=e=>s.children(e),t}return s.children?s.children(i()):d(s).children(i())})();if(0===r.length&&t.params.createElements){const e=a().createElement("div");r=d(e),e.className=t.params.wrapperClass,s.append(e),s.children(`.${t.params.slideClass}`).each((e=>{r.append(e)}))}return Object.assign(t,{$el:s,el:e,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:"rtl"===e.dir.toLowerCase()||"rtl"===s.css("direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===e.dir.toLowerCase()||"rtl"===s.css("direction")),wrongRTL:"-webkit-box"===r.css("display")}),!0}init(e){const t=this;if(t.initialized)return t;return!1===t.mount(e)||(t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.params.loop&&t.loopCreate(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.preloadImages&&t.preloadImages(),t.params.loop?t.slideTo(t.params.initialSlide+t.loopedSlides,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.attachEvents(),t.initialized=!0,t.emit("init"),t.emit("afterInit")),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:a,$el:i,$wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),a.loop&&s.loopDestroy(),t&&(s.removeClasses(),i.removeAttr("style"),r.removeAttr("style"),n&&n.length&&n.removeClass([a.slideVisibleClass,a.slideActiveClass,a.slideNextClass,a.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.$el[0].swiper=null,function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){g(_,e)}static get extendedDefaults(){return _}static get defaults(){return W}static installModule(e){V.prototype.__modules__||(V.prototype.__modules__=[]);const t=V.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>V.installModule(e))),V):(V.installModule(e),V)}}function F(e,t,s,i){const r=a();return e.params.createElements&&Object.keys(i).forEach((a=>{if(!s[a]&&!0===s.auto){let n=e.$el.children(`.${i[a]}`)[0];n||(n=r.createElement("div"),n.className=i[a],e.$el.append(n)),s[a]=n,t[a]=n}})),s}function U(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!\/])/g,"\\$1").replace(/ /g,".")}`}function K(e){const t=this,{$wrapperEl:s,params:a}=t;if(a.loop&&t.loopDestroy(),"object"==typeof e&&"length"in e)for(let t=0;t=l)return void s.appendSlide(t);let o=n>e?n+1:n;const d=[];for(let t=l-1;t>=e;t-=1){const e=s.slides.eq(t);e.remove(),d.unshift(e)}if("object"==typeof t&&"length"in t){for(let e=0;ee?n+t.length:n}else a.append(t);for(let e=0;e{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)})),a("setTranslate",(()=>{s.params.effect===t&&i()})),a("setTransition",((e,a)=>{s.params.effect===t&&r(a)})),a("transitionEnd",(()=>{if(s.params.effect===t&&o){if(!d||!d().slideShadows)return;s.slides.each((e=>{s.$(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").remove()})),o()}})),a("virtualUpdate",(()=>{s.params.effect===t&&(s.slides.length||(c=!0),requestAnimationFrame((()=>{c&&s.slides&&s.slides.length&&(i(),c=!1)})))}))}function se(e,t){return e.transformEl?t.find(e.transformEl).css({"backface-visibility":"hidden","-webkit-backface-visibility":"hidden"}):t}function ae(e){let{swiper:t,duration:s,transformEl:a,allSlides:i}=e;const{slides:r,activeIndex:n,$wrapperEl:l}=t;if(t.params.virtualTranslate&&0!==s){let e,s=!1;e=i?a?r.find(a):r:a?r.eq(n).find(a):r.eq(n),e.transitionEnd((()=>{if(s)return;if(!t||t.destroyed)return;s=!0,t.animating=!1;const e=["webkitTransitionEnd","transitionend"];for(let t=0;t
`),i.append(r)),r}Object.keys(q).forEach((e=>{Object.keys(q[e]).forEach((t=>{V.prototype[t]=q[e][t]}))})),V.use([function(e){let{swiper:t,on:s,emit:a}=e;const i=r();let n=null,l=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(a("beforeResize"),a("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&a("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==i.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver((e=>{l=i.requestAnimationFrame((()=>{const{width:s,height:a}=t;let i=s,r=a;e.forEach((e=>{let{contentBoxSize:s,contentRect:a,target:n}=e;n&&n!==t.el||(i=a?a.width:(s[0]||s).inlineSize,r=a?a.height:(s[0]||s).blockSize)})),i===s&&r===a||o()}))})),n.observe(t.el)):(i.addEventListener("resize",o),i.addEventListener("orientationchange",d))})),s("destroy",(()=>{l&&i.cancelAnimationFrame(l),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),i.removeEventListener("resize",o),i.removeEventListener("orientationchange",d)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=[],l=r(),o=function(e,t){void 0===t&&(t={});const s=new(l.MutationObserver||l.WebkitMutationObserver)((e=>{if(1===e.length)return void i("observerUpdate",e[0]);const t=function(){i("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(t):l.setTimeout(t,0)}));s.observe(e,{attributes:void 0===t.attributes||t.attributes,childList:void 0===t.childList||t.childList,characterData:void 0===t.characterData||t.characterData}),n.push(s)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),a("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=t.$el.parents();for(let t=0;t{n.forEach((e=>{e.disconnect()})),n.splice(0,n.length)}))}]);const re=[function(e){let t,{swiper:s,extendParams:a,on:i,emit:r}=e;function n(e,t){const a=s.params.virtual;if(a.cache&&s.virtual.cache[t])return s.virtual.cache[t];const i=a.renderSlide?d(a.renderSlide.call(s,e,t)):d(`
${e}
`);return i.attr("data-swiper-slide-index")||i.attr("data-swiper-slide-index",t),a.cache&&(s.virtual.cache[t]=i),i}function l(e){const{slidesPerView:t,slidesPerGroup:a,centeredSlides:i}=s.params,{addSlidesBefore:l,addSlidesAfter:o}=s.params.virtual,{from:d,to:c,slides:p,slidesGrid:u,offset:h}=s.virtual;s.params.cssMode||s.updateActiveIndex();const m=s.activeIndex||0;let f,g,v;f=s.rtlTranslate?"right":s.isHorizontal()?"left":"top",i?(g=Math.floor(t/2)+a+o,v=Math.floor(t/2)+a+l):(g=t+(a-1)+o,v=a+l);const w=Math.max((m||0)-v,0),b=Math.min((m||0)+g,p.length-1),x=(s.slidesGrid[w]||0)-(s.slidesGrid[0]||0);function y(){s.updateSlides(),s.updateProgress(),s.updateSlidesClasses(),s.lazy&&s.params.lazy.enabled&&s.lazy.load(),r("virtualUpdate")}if(Object.assign(s.virtual,{from:w,to:b,offset:x,slidesGrid:s.slidesGrid}),d===w&&c===b&&!e)return s.slidesGrid!==u&&x!==h&&s.slides.css(f,`${x}px`),s.updateProgress(),void r("virtualUpdate");if(s.params.virtual.renderExternal)return s.params.virtual.renderExternal.call(s,{offset:x,from:w,to:b,slides:function(){const e=[];for(let t=w;t<=b;t+=1)e.push(p[t]);return e}()}),void(s.params.virtual.renderExternalUpdate?y():r("virtualUpdate"));const E=[],C=[];if(e)s.$wrapperEl.find(`.${s.params.slideClass}`).remove();else for(let e=d;e<=c;e+=1)(eb)&&s.$wrapperEl.find(`.${s.params.slideClass}[data-swiper-slide-index="${e}"]`).remove();for(let t=0;t=w&&t<=b&&(void 0===c||e?C.push(t):(t>c&&C.push(t),t{s.$wrapperEl.append(n(p[e],e))})),E.sort(((e,t)=>t-e)).forEach((e=>{s.$wrapperEl.prepend(n(p[e],e))})),s.$wrapperEl.children(".swiper-slide").css(f,`${x}px`),y()}a({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}}),s.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]},i("beforeInit",(()=>{s.params.virtual.enabled&&(s.virtual.slides=s.params.virtual.slides,s.classNames.push(`${s.params.containerModifierClass}virtual`),s.params.watchSlidesProgress=!0,s.originalParams.watchSlidesProgress=!0,s.params.initialSlide||l())})),i("setTranslate",(()=>{s.params.virtual.enabled&&(s.params.cssMode&&!s._immediateVirtual?(clearTimeout(t),t=setTimeout((()=>{l()}),100)):l())})),i("init update resize",(()=>{s.params.virtual.enabled&&s.params.cssMode&&v(s.wrapperEl,"--swiper-virtual-size",`${s.virtualSize}px`)})),Object.assign(s.virtual,{appendSlide:function(e){if("object"==typeof e&&"length"in e)for(let t=0;t{const a=e[s],r=a.attr("data-swiper-slide-index");r&&a.attr("data-swiper-slide-index",parseInt(r,10)+i),t[parseInt(s,10)+i]=a})),s.virtual.cache=t}l(!0),s.slideTo(a,0)},removeSlide:function(e){if(null==e)return;let t=s.activeIndex;if(Array.isArray(e))for(let a=e.length-1;a>=0;a-=1)s.virtual.slides.splice(e[a],1),s.params.virtual.cache&&delete s.virtual.cache[e[a]],e[a]0&&0===t.$el.parents(`.${t.params.slideActiveClass}`).length)return;const a=t.$el,i=a[0].clientWidth,r=a[0].clientHeight,n=o.innerWidth,l=o.innerHeight,d=t.$el.offset();s&&(d.left-=t.$el[0].scrollLeft);const c=[[d.left,d.top],[d.left+i,d.top],[d.left,d.top+r],[d.left+i,d.top+r]];for(let t=0;t=0&&s[0]<=n&&s[1]>=0&&s[1]<=l){if(0===s[0]&&0===s[1])continue;e=!0}}if(!e)return}t.isHorizontal()?((d||c||p||u)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),((c||u)&&!s||(d||p)&&s)&&t.slideNext(),((d||p)&&!s||(c||u)&&s)&&t.slidePrev()):((d||c||h||m)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),(c||m)&&t.slideNext(),(d||h)&&t.slidePrev()),n("keyPress",i)}}function p(){t.keyboard.enabled||(d(l).on("keydown",c),t.keyboard.enabled=!0)}function u(){t.keyboard.enabled&&(d(l).off("keydown",c),t.keyboard.enabled=!1)}t.keyboard={enabled:!1},s({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),i("init",(()=>{t.params.keyboard.enabled&&p()})),i("destroy",(()=>{t.keyboard.enabled&&u()})),Object.assign(t.keyboard,{enable:p,disable:u})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();let l;s({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null}}),t.mousewheel={enabled:!1};let o,c=u();const h=[];function m(){t.enabled&&(t.mouseEntered=!0)}function f(){t.enabled&&(t.mouseEntered=!1)}function g(e){return!(t.params.mousewheel.thresholdDelta&&e.delta=6&&u()-c<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),i("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),i("scroll",e.raw)),c=(new n.Date).getTime(),!1)))}function v(e){let s=e,a=!0;if(!t.enabled)return;const r=t.params.mousewheel;t.params.cssMode&&s.preventDefault();let n=t.$el;if("container"!==t.params.mousewheel.eventsTarget&&(n=d(t.params.mousewheel.eventsTarget)),!t.mouseEntered&&!n[0].contains(s.target)&&!r.releaseOnEdges)return!0;s.originalEvent&&(s=s.originalEvent);let c=0;const m=t.rtlTranslate?-1:1,f=function(e){let t=0,s=0,a=0,i=0;return"detail"in e&&(s=e.detail),"wheelDelta"in e&&(s=-e.wheelDelta/120),"wheelDeltaY"in e&&(s=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=s,s=0),a=10*t,i=10*s,"deltaY"in e&&(i=e.deltaY),"deltaX"in e&&(a=e.deltaX),e.shiftKey&&!a&&(a=i,i=0),(a||i)&&e.deltaMode&&(1===e.deltaMode?(a*=40,i*=40):(a*=800,i*=800)),a&&!t&&(t=a<1?-1:1),i&&!s&&(s=i<1?-1:1),{spinX:t,spinY:s,pixelX:a,pixelY:i}}(s);if(r.forceToAxis)if(t.isHorizontal()){if(!(Math.abs(f.pixelX)>Math.abs(f.pixelY)))return!0;c=-f.pixelX*m}else{if(!(Math.abs(f.pixelY)>Math.abs(f.pixelX)))return!0;c=-f.pixelY}else c=Math.abs(f.pixelX)>Math.abs(f.pixelY)?-f.pixelX*m:-f.pixelY;if(0===c)return!0;r.invert&&(c=-c);let v=t.getTranslate()+c*r.sensitivity;if(v>=t.minTranslate()&&(v=t.minTranslate()),v<=t.maxTranslate()&&(v=t.maxTranslate()),a=!!t.params.loop||!(v===t.minTranslate()||v===t.maxTranslate()),a&&t.params.nested&&s.stopPropagation(),t.params.freeMode&&t.params.freeMode.enabled){const e={time:u(),delta:Math.abs(c),direction:Math.sign(c)},a=o&&e.time=t.minTranslate()&&(n=t.minTranslate()),n<=t.maxTranslate()&&(n=t.maxTranslate()),t.setTransition(0),t.setTranslate(n),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses(),(!d&&t.isBeginning||!u&&t.isEnd)&&t.updateSlidesClasses(),t.params.freeMode.sticky){clearTimeout(l),l=void 0,h.length>=15&&h.shift();const s=h.length?h[h.length-1]:void 0,a=h[0];if(h.push(e),s&&(e.delta>s.delta||e.direction!==s.direction))h.splice(0);else if(h.length>=15&&e.time-a.time<500&&a.delta-e.delta>=1&&e.delta<=6){const s=c>0?.8:.2;o=e,h.splice(0),l=p((()=>{t.slideToClosest(t.params.speed,!0,void 0,s)}),0)}l||(l=p((()=>{o=e,h.splice(0),t.slideToClosest(t.params.speed,!0,void 0,.5)}),500))}if(a||i("scroll",s),t.params.autoplay&&t.params.autoplayDisableOnInteraction&&t.autoplay.stop(),n===t.minTranslate()||n===t.maxTranslate())return!0}}else{const s={time:u(),delta:Math.abs(c),direction:Math.sign(c),raw:e};h.length>=2&&h.shift();const a=h.length?h[h.length-1]:void 0;if(h.push(s),a?(s.direction!==a.direction||s.delta>a.delta||s.time>a.time+150)&&g(s):g(s),function(e){const s=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&s.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&s.releaseOnEdges)return!0;return!1}(s))return!0}return s.preventDefault?s.preventDefault():s.returnValue=!1,!1}function w(e){let s=t.$el;"container"!==t.params.mousewheel.eventsTarget&&(s=d(t.params.mousewheel.eventsTarget)),s[e]("mouseenter",m),s[e]("mouseleave",f),s[e]("wheel",v)}function b(){return t.params.cssMode?(t.wrapperEl.removeEventListener("wheel",v),!0):!t.mousewheel.enabled&&(w("on"),t.mousewheel.enabled=!0,!0)}function x(){return t.params.cssMode?(t.wrapperEl.addEventListener(event,v),!0):!!t.mousewheel.enabled&&(w("off"),t.mousewheel.enabled=!1,!0)}a("init",(()=>{!t.params.mousewheel.enabled&&t.params.cssMode&&x(),t.params.mousewheel.enabled&&b()})),a("destroy",(()=>{t.params.cssMode&&b(),t.mousewheel.enabled&&x()})),Object.assign(t.mousewheel,{enable:b,disable:x})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;function r(e){let s;return e&&(s=d(e),t.params.uniqueNavElements&&"string"==typeof e&&s.length>1&&1===t.$el.find(e).length&&(s=t.$el.find(e))),s}function n(e,s){const a=t.params.navigation;e&&e.length>0&&(e[s?"addClass":"removeClass"](a.disabledClass),e[0]&&"BUTTON"===e[0].tagName&&(e[0].disabled=s),t.params.watchOverflow&&t.enabled&&e[t.isLocked?"addClass":"removeClass"](a.lockClass))}function l(){if(t.params.loop)return;const{$nextEl:e,$prevEl:s}=t.navigation;n(s,t.isBeginning&&!t.params.rewind),n(e,t.isEnd&&!t.params.rewind)}function o(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),i("navigationPrev"))}function c(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),i("navigationNext"))}function p(){const e=t.params.navigation;if(t.params.navigation=F(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;const s=r(e.nextEl),a=r(e.prevEl);s&&s.length>0&&s.on("click",c),a&&a.length>0&&a.on("click",o),Object.assign(t.navigation,{$nextEl:s,nextEl:s&&s[0],$prevEl:a,prevEl:a&&a[0]}),t.enabled||(s&&s.addClass(e.lockClass),a&&a.addClass(e.lockClass))}function u(){const{$nextEl:e,$prevEl:s}=t.navigation;e&&e.length&&(e.off("click",c),e.removeClass(t.params.navigation.disabledClass)),s&&s.length&&(s.off("click",o),s.removeClass(t.params.navigation.disabledClass))}s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,$nextEl:null,prevEl:null,$prevEl:null},a("init",(()=>{!1===t.params.navigation.enabled?h():(p(),l())})),a("toEdge fromEdge lock unlock",(()=>{l()})),a("destroy",(()=>{u()})),a("enable disable",(()=>{const{$nextEl:e,$prevEl:s}=t.navigation;e&&e[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass),s&&s[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass)})),a("click",((e,s)=>{const{$nextEl:a,$prevEl:r}=t.navigation,n=s.target;if(t.params.navigation.hideOnClick&&!d(n).is(r)&&!d(n).is(a)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===n||t.pagination.el.contains(n)))return;let e;a?e=a.hasClass(t.params.navigation.hiddenClass):r&&(e=r.hasClass(t.params.navigation.hiddenClass)),i(!0===e?"navigationShow":"navigationHide"),a&&a.toggleClass(t.params.navigation.hiddenClass),r&&r.toggleClass(t.params.navigation.hiddenClass)}}));const h=()=>{t.$el.addClass(t.params.navigation.navigationDisabledClass),u()};Object.assign(t.navigation,{enable:()=>{t.$el.removeClass(t.params.navigation.navigationDisabledClass),p(),l()},disable:h,update:l,init:p,destroy:u})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const r="swiper-pagination";let n;s({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${r}-bullet`,bulletActiveClass:`${r}-bullet-active`,modifierClass:`${r}-`,currentClass:`${r}-current`,totalClass:`${r}-total`,hiddenClass:`${r}-hidden`,progressbarFillClass:`${r}-progressbar-fill`,progressbarOppositeClass:`${r}-progressbar-opposite`,clickableClass:`${r}-clickable`,lockClass:`${r}-lock`,horizontalClass:`${r}-horizontal`,verticalClass:`${r}-vertical`,paginationDisabledClass:`${r}-disabled`}}),t.pagination={el:null,$el:null,bullets:[]};let l=0;function o(){return!t.params.pagination.el||!t.pagination.el||!t.pagination.$el||0===t.pagination.$el.length}function c(e,s){const{bulletActiveClass:a}=t.params.pagination;e[s]().addClass(`${a}-${s}`)[s]().addClass(`${a}-${s}-${s}`)}function p(){const e=t.rtl,s=t.params.pagination;if(o())return;const a=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,r=t.pagination.$el;let p;const u=t.params.loop?Math.ceil((a-2*t.loopedSlides)/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(p=Math.ceil((t.activeIndex-t.loopedSlides)/t.params.slidesPerGroup),p>a-1-2*t.loopedSlides&&(p-=a-2*t.loopedSlides),p>u-1&&(p-=u),p<0&&"bullets"!==t.params.paginationType&&(p=u+p)):p=void 0!==t.snapIndex?t.snapIndex:t.activeIndex||0,"bullets"===s.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const a=t.pagination.bullets;let i,o,u;if(s.dynamicBullets&&(n=a.eq(0)[t.isHorizontal()?"outerWidth":"outerHeight"](!0),r.css(t.isHorizontal()?"width":"height",n*(s.dynamicMainBullets+4)+"px"),s.dynamicMainBullets>1&&void 0!==t.previousIndex&&(l+=p-(t.previousIndex-t.loopedSlides||0),l>s.dynamicMainBullets-1?l=s.dynamicMainBullets-1:l<0&&(l=0)),i=Math.max(p-l,0),o=i+(Math.min(a.length,s.dynamicMainBullets)-1),u=(o+i)/2),a.removeClass(["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`)).join(" ")),r.length>1)a.each((e=>{const t=d(e),a=t.index();a===p&&t.addClass(s.bulletActiveClass),s.dynamicBullets&&(a>=i&&a<=o&&t.addClass(`${s.bulletActiveClass}-main`),a===i&&c(t,"prev"),a===o&&c(t,"next"))}));else{const e=a.eq(p),r=e.index();if(e.addClass(s.bulletActiveClass),s.dynamicBullets){const e=a.eq(i),n=a.eq(o);for(let e=i;e<=o;e+=1)a.eq(e).addClass(`${s.bulletActiveClass}-main`);if(t.params.loop)if(r>=a.length){for(let e=s.dynamicMainBullets;e>=0;e-=1)a.eq(a.length-e).addClass(`${s.bulletActiveClass}-main`);a.eq(a.length-s.dynamicMainBullets-1).addClass(`${s.bulletActiveClass}-prev`)}else c(e,"prev"),c(n,"next");else c(e,"prev"),c(n,"next")}}if(s.dynamicBullets){const i=Math.min(a.length,s.dynamicMainBullets+4),r=(n*i-n)/2-u*n,l=e?"right":"left";a.css(t.isHorizontal()?l:"top",`${r}px`)}}if("fraction"===s.type&&(r.find(U(s.currentClass)).text(s.formatFractionCurrent(p+1)),r.find(U(s.totalClass)).text(s.formatFractionTotal(u))),"progressbar"===s.type){let e;e=s.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const a=(p+1)/u;let i=1,n=1;"horizontal"===e?i=a:n=a,r.find(U(s.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${i}) scaleY(${n})`).transition(t.params.speed)}"custom"===s.type&&s.renderCustom?(r.html(s.renderCustom(t,p+1,u)),i("paginationRender",r[0])):i("paginationUpdate",r[0]),t.params.watchOverflow&&t.enabled&&r[t.isLocked?"addClass":"removeClass"](s.lockClass)}function u(){const e=t.params.pagination;if(o())return;const s=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,a=t.pagination.$el;let r="";if("bullets"===e.type){let i=t.params.loop?Math.ceil((s-2*t.loopedSlides)/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&!t.params.loop&&i>s&&(i=s);for(let s=0;s`;a.html(r),t.pagination.bullets=a.find(U(e.bulletClass))}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):` / `,a.html(r)),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):``,a.html(r)),"custom"!==e.type&&i("paginationRender",t.pagination.$el[0])}function h(){t.params.pagination=F(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let s=d(e.el);0!==s.length&&(t.params.uniqueNavElements&&"string"==typeof e.el&&s.length>1&&(s=t.$el.find(e.el),s.length>1&&(s=s.filter((e=>d(e).parents(".swiper")[0]===t.el)))),"bullets"===e.type&&e.clickable&&s.addClass(e.clickableClass),s.addClass(e.modifierClass+e.type),s.addClass(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.addClass(`${e.modifierClass}${e.type}-dynamic`),l=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.addClass(e.progressbarOppositeClass),e.clickable&&s.on("click",U(e.bulletClass),(function(e){e.preventDefault();let s=d(this).index()*t.params.slidesPerGroup;t.params.loop&&(s+=t.loopedSlides),t.slideTo(s)})),Object.assign(t.pagination,{$el:s,el:s[0]}),t.enabled||s.addClass(e.lockClass))}function m(){const e=t.params.pagination;if(o())return;const s=t.pagination.$el;s.removeClass(e.hiddenClass),s.removeClass(e.modifierClass+e.type),s.removeClass(t.isHorizontal()?e.horizontalClass:e.verticalClass),t.pagination.bullets&&t.pagination.bullets.removeClass&&t.pagination.bullets.removeClass(e.bulletActiveClass),e.clickable&&s.off("click",U(e.bulletClass))}a("init",(()=>{!1===t.params.pagination.enabled?f():(h(),u(),p())})),a("activeIndexChange",(()=>{(t.params.loop||void 0===t.snapIndex)&&p()})),a("snapIndexChange",(()=>{t.params.loop||p()})),a("slidesLengthChange",(()=>{t.params.loop&&(u(),p())})),a("snapGridLengthChange",(()=>{t.params.loop||(u(),p())})),a("destroy",(()=>{m()})),a("enable disable",(()=>{const{$el:e}=t.pagination;e&&e[t.enabled?"removeClass":"addClass"](t.params.pagination.lockClass)})),a("lock unlock",(()=>{p()})),a("click",((e,s)=>{const a=s.target,{$el:r}=t.pagination;if(t.params.pagination.el&&t.params.pagination.hideOnClick&&r&&r.length>0&&!d(a).hasClass(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&a===t.navigation.nextEl||t.navigation.prevEl&&a===t.navigation.prevEl))return;const e=r.hasClass(t.params.pagination.hiddenClass);i(!0===e?"paginationShow":"paginationHide"),r.toggleClass(t.params.pagination.hiddenClass)}}));const f=()=>{t.$el.addClass(t.params.pagination.paginationDisabledClass),t.pagination.$el&&t.pagination.$el.addClass(t.params.pagination.paginationDisabledClass),m()};Object.assign(t.pagination,{enable:()=>{t.$el.removeClass(t.params.pagination.paginationDisabledClass),t.pagination.$el&&t.pagination.$el.removeClass(t.params.pagination.paginationDisabledClass),h(),u(),p()},disable:f,render:u,update:p,init:h,destroy:m})},function(e){let{swiper:t,extendParams:s,on:i,emit:r}=e;const n=a();let l,o,c,u,h=!1,m=null,f=null;function g(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e,rtlTranslate:s,progress:a}=t,{$dragEl:i,$el:r}=e,n=t.params.scrollbar;let l=o,d=(c-o)*a;s?(d=-d,d>0?(l=o-d,d=0):-d+o>c&&(l=c+d)):d<0?(l=o+d,d=0):d+o>c&&(l=c-d),t.isHorizontal()?(i.transform(`translate3d(${d}px, 0, 0)`),i[0].style.width=`${l}px`):(i.transform(`translate3d(0px, ${d}px, 0)`),i[0].style.height=`${l}px`),n.hide&&(clearTimeout(m),r[0].style.opacity=1,m=setTimeout((()=>{r[0].style.opacity=0,r.transition(400)}),1e3))}function v(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e}=t,{$dragEl:s,$el:a}=e;s[0].style.width="",s[0].style.height="",c=t.isHorizontal()?a[0].offsetWidth:a[0].offsetHeight,u=t.size/(t.virtualSize+t.params.slidesOffsetBefore-(t.params.centeredSlides?t.snapGrid[0]:0)),o="auto"===t.params.scrollbar.dragSize?c*u:parseInt(t.params.scrollbar.dragSize,10),t.isHorizontal()?s[0].style.width=`${o}px`:s[0].style.height=`${o}px`,a[0].style.display=u>=1?"none":"",t.params.scrollbar.hide&&(a[0].style.opacity=0),t.params.watchOverflow&&t.enabled&&e.$el[t.isLocked?"addClass":"removeClass"](t.params.scrollbar.lockClass)}function w(e){return t.isHorizontal()?"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientX:e.clientX:"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientY:e.clientY}function b(e){const{scrollbar:s,rtlTranslate:a}=t,{$el:i}=s;let r;r=(w(e)-i.offset()[t.isHorizontal()?"left":"top"]-(null!==l?l:o/2))/(c-o),r=Math.max(Math.min(r,1),0),a&&(r=1-r);const n=t.minTranslate()+(t.maxTranslate()-t.minTranslate())*r;t.updateProgress(n),t.setTranslate(n),t.updateActiveIndex(),t.updateSlidesClasses()}function x(e){const s=t.params.scrollbar,{scrollbar:a,$wrapperEl:i}=t,{$el:n,$dragEl:o}=a;h=!0,l=e.target===o[0]||e.target===o?w(e)-e.target.getBoundingClientRect()[t.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),i.transition(100),o.transition(100),b(e),clearTimeout(f),n.transition(0),s.hide&&n.css("opacity",1),t.params.cssMode&&t.$wrapperEl.css("scroll-snap-type","none"),r("scrollbarDragStart",e)}function y(e){const{scrollbar:s,$wrapperEl:a}=t,{$el:i,$dragEl:n}=s;h&&(e.preventDefault?e.preventDefault():e.returnValue=!1,b(e),a.transition(0),i.transition(0),n.transition(0),r("scrollbarDragMove",e))}function E(e){const s=t.params.scrollbar,{scrollbar:a,$wrapperEl:i}=t,{$el:n}=a;h&&(h=!1,t.params.cssMode&&(t.$wrapperEl.css("scroll-snap-type",""),i.transition("")),s.hide&&(clearTimeout(f),f=p((()=>{n.css("opacity",0),n.transition(400)}),1e3)),r("scrollbarDragEnd",e),s.snapOnRelease&&t.slideToClosest())}function C(e){const{scrollbar:s,touchEventsTouch:a,touchEventsDesktop:i,params:r,support:l}=t,o=s.$el;if(!o)return;const d=o[0],c=!(!l.passiveListener||!r.passiveListeners)&&{passive:!1,capture:!1},p=!(!l.passiveListener||!r.passiveListeners)&&{passive:!0,capture:!1};if(!d)return;const u="on"===e?"addEventListener":"removeEventListener";l.touch?(d[u](a.start,x,c),d[u](a.move,y,c),d[u](a.end,E,p)):(d[u](i.start,x,c),n[u](i.move,y,c),n[u](i.end,E,p))}function T(){const{scrollbar:e,$el:s}=t;t.params.scrollbar=F(t,t.originalParams.scrollbar,t.params.scrollbar,{el:"swiper-scrollbar"});const a=t.params.scrollbar;if(!a.el)return;let i=d(a.el);t.params.uniqueNavElements&&"string"==typeof a.el&&i.length>1&&1===s.find(a.el).length&&(i=s.find(a.el)),i.addClass(t.isHorizontal()?a.horizontalClass:a.verticalClass);let r=i.find(`.${t.params.scrollbar.dragClass}`);0===r.length&&(r=d(`
`),i.append(r)),Object.assign(e,{$el:i,el:i[0],$dragEl:r,dragEl:r[0]}),a.draggable&&t.params.scrollbar.el&&t.scrollbar.el&&C("on"),i&&i[t.enabled?"removeClass":"addClass"](t.params.scrollbar.lockClass)}function $(){const e=t.params.scrollbar,s=t.scrollbar.$el;s&&s.removeClass(t.isHorizontal()?e.horizontalClass:e.verticalClass),t.params.scrollbar.el&&t.scrollbar.el&&C("off")}s({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),t.scrollbar={el:null,dragEl:null,$el:null,$dragEl:null},i("init",(()=>{!1===t.params.scrollbar.enabled?S():(T(),v(),g())})),i("update resize observerUpdate lock unlock",(()=>{v()})),i("setTranslate",(()=>{g()})),i("setTransition",((e,s)=>{!function(e){t.params.scrollbar.el&&t.scrollbar.el&&t.scrollbar.$dragEl.transition(e)}(s)})),i("enable disable",(()=>{const{$el:e}=t.scrollbar;e&&e[t.enabled?"removeClass":"addClass"](t.params.scrollbar.lockClass)})),i("destroy",(()=>{$()}));const S=()=>{t.$el.addClass(t.params.scrollbar.scrollbarDisabledClass),t.scrollbar.$el&&t.scrollbar.$el.addClass(t.params.scrollbar.scrollbarDisabledClass),$()};Object.assign(t.scrollbar,{enable:()=>{t.$el.removeClass(t.params.scrollbar.scrollbarDisabledClass),t.scrollbar.$el&&t.scrollbar.$el.removeClass(t.params.scrollbar.scrollbarDisabledClass),T(),v(),g()},disable:S,updateSize:v,setTranslate:g,init:T,destroy:$})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({parallax:{enabled:!1}});const i=(e,s)=>{const{rtl:a}=t,i=d(e),r=a?-1:1,n=i.attr("data-swiper-parallax")||"0";let l=i.attr("data-swiper-parallax-x"),o=i.attr("data-swiper-parallax-y");const c=i.attr("data-swiper-parallax-scale"),p=i.attr("data-swiper-parallax-opacity");if(l||o?(l=l||"0",o=o||"0"):t.isHorizontal()?(l=n,o="0"):(o=n,l="0"),l=l.indexOf("%")>=0?parseInt(l,10)*s*r+"%":l*s*r+"px",o=o.indexOf("%")>=0?parseInt(o,10)*s+"%":o*s+"px",null!=p){const e=p-(p-1)*(1-Math.abs(s));i[0].style.opacity=e}if(null==c)i.transform(`translate3d(${l}, ${o}, 0px)`);else{const e=c-(c-1)*(1-Math.abs(s));i.transform(`translate3d(${l}, ${o}, 0px) scale(${e})`)}},r=()=>{const{$el:e,slides:s,progress:a,snapGrid:r}=t;e.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{i(e,a)})),s.each(((e,s)=>{let n=e.progress;t.params.slidesPerGroup>1&&"auto"!==t.params.slidesPerView&&(n+=Math.ceil(s/2)-a*(r.length-1)),n=Math.min(Math.max(n,-1),1),d(e).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{i(e,n)}))}))};a("beforeInit",(()=>{t.params.parallax.enabled&&(t.params.watchSlidesProgress=!0,t.originalParams.watchSlidesProgress=!0)})),a("init",(()=>{t.params.parallax.enabled&&r()})),a("setTranslate",(()=>{t.params.parallax.enabled&&r()})),a("setTransition",((e,s)=>{t.params.parallax.enabled&&function(e){void 0===e&&(e=t.params.speed);const{$el:s}=t;s.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((t=>{const s=d(t);let a=parseInt(s.attr("data-swiper-parallax-duration"),10)||e;0===e&&(a=0),s.transition(a)}))}(s)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();s({zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),t.zoom={enabled:!1};let l,o,c,p=1,u=!1;const m={$slideEl:void 0,slideWidth:void 0,slideHeight:void 0,$imageEl:void 0,$imageWrapEl:void 0,maxRatio:3},f={isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},g={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let v=1;function w(e){if(e.targetTouches.length<2)return 1;const t=e.targetTouches[0].pageX,s=e.targetTouches[0].pageY,a=e.targetTouches[1].pageX,i=e.targetTouches[1].pageY;return Math.sqrt((a-t)**2+(i-s)**2)}function b(e){const s=t.support,a=t.params.zoom;if(o=!1,c=!1,!s.gestures){if("touchstart"!==e.type||"touchstart"===e.type&&e.targetTouches.length<2)return;o=!0,m.scaleStart=w(e)}m.$slideEl&&m.$slideEl.length||(m.$slideEl=d(e.target).closest(`.${t.params.slideClass}`),0===m.$slideEl.length&&(m.$slideEl=t.slides.eq(t.activeIndex)),m.$imageEl=m.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),m.$imageWrapEl=m.$imageEl.parent(`.${a.containerClass}`),m.maxRatio=m.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,0!==m.$imageWrapEl.length)?(m.$imageEl&&m.$imageEl.transition(0),u=!0):m.$imageEl=void 0}function x(e){const s=t.support,a=t.params.zoom,i=t.zoom;if(!s.gestures){if("touchmove"!==e.type||"touchmove"===e.type&&e.targetTouches.length<2)return;c=!0,m.scaleMove=w(e)}m.$imageEl&&0!==m.$imageEl.length?(s.gestures?i.scale=e.scale*p:i.scale=m.scaleMove/m.scaleStart*p,i.scale>m.maxRatio&&(i.scale=m.maxRatio-1+(i.scale-m.maxRatio+1)**.5),i.scalef.touchesStart.x))return void(f.isTouched=!1);if(!t.isHorizontal()&&(Math.floor(f.minY)===Math.floor(f.startY)&&f.touchesCurrent.yf.touchesStart.y))return void(f.isTouched=!1)}e.cancelable&&e.preventDefault(),e.stopPropagation(),f.isMoved=!0,f.currentX=f.touchesCurrent.x-f.touchesStart.x+f.startX,f.currentY=f.touchesCurrent.y-f.touchesStart.y+f.startY,f.currentXf.maxX&&(f.currentX=f.maxX-1+(f.currentX-f.maxX+1)**.8),f.currentYf.maxY&&(f.currentY=f.maxY-1+(f.currentY-f.maxY+1)**.8),g.prevPositionX||(g.prevPositionX=f.touchesCurrent.x),g.prevPositionY||(g.prevPositionY=f.touchesCurrent.y),g.prevTime||(g.prevTime=Date.now()),g.x=(f.touchesCurrent.x-g.prevPositionX)/(Date.now()-g.prevTime)/2,g.y=(f.touchesCurrent.y-g.prevPositionY)/(Date.now()-g.prevTime)/2,Math.abs(f.touchesCurrent.x-g.prevPositionX)<2&&(g.x=0),Math.abs(f.touchesCurrent.y-g.prevPositionY)<2&&(g.y=0),g.prevPositionX=f.touchesCurrent.x,g.prevPositionY=f.touchesCurrent.y,g.prevTime=Date.now(),m.$imageWrapEl.transform(`translate3d(${f.currentX}px, ${f.currentY}px,0)`)}}function C(){const e=t.zoom;m.$slideEl&&t.previousIndex!==t.activeIndex&&(m.$imageEl&&m.$imageEl.transform("translate3d(0,0,0) scale(1)"),m.$imageWrapEl&&m.$imageWrapEl.transform("translate3d(0,0,0)"),e.scale=1,p=1,m.$slideEl=void 0,m.$imageEl=void 0,m.$imageWrapEl=void 0)}function T(e){const s=t.zoom,a=t.params.zoom;if(m.$slideEl||(e&&e.target&&(m.$slideEl=d(e.target).closest(`.${t.params.slideClass}`)),m.$slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.$slideEl=t.$wrapperEl.children(`.${t.params.slideActiveClass}`):m.$slideEl=t.slides.eq(t.activeIndex)),m.$imageEl=m.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),m.$imageWrapEl=m.$imageEl.parent(`.${a.containerClass}`)),!m.$imageEl||0===m.$imageEl.length||!m.$imageWrapEl||0===m.$imageWrapEl.length)return;let i,r,l,o,c,u,h,g,v,w,b,x,y,E,C,T,$,S;t.params.cssMode&&(t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.touchAction="none"),m.$slideEl.addClass(`${a.zoomedSlideClass}`),void 0===f.touchesStart.x&&e?(i="touchend"===e.type?e.changedTouches[0].pageX:e.pageX,r="touchend"===e.type?e.changedTouches[0].pageY:e.pageY):(i=f.touchesStart.x,r=f.touchesStart.y),s.scale=m.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,p=m.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,e?($=m.$slideEl[0].offsetWidth,S=m.$slideEl[0].offsetHeight,l=m.$slideEl.offset().left+n.scrollX,o=m.$slideEl.offset().top+n.scrollY,c=l+$/2-i,u=o+S/2-r,v=m.$imageEl[0].offsetWidth,w=m.$imageEl[0].offsetHeight,b=v*s.scale,x=w*s.scale,y=Math.min($/2-b/2,0),E=Math.min(S/2-x/2,0),C=-y,T=-E,h=c*s.scale,g=u*s.scale,hC&&(h=C),gT&&(g=T)):(h=0,g=0),m.$imageWrapEl.transition(300).transform(`translate3d(${h}px, ${g}px,0)`),m.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${s.scale})`)}function $(){const e=t.zoom,s=t.params.zoom;m.$slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.$slideEl=t.$wrapperEl.children(`.${t.params.slideActiveClass}`):m.$slideEl=t.slides.eq(t.activeIndex),m.$imageEl=m.$slideEl.find(`.${s.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),m.$imageWrapEl=m.$imageEl.parent(`.${s.containerClass}`)),m.$imageEl&&0!==m.$imageEl.length&&m.$imageWrapEl&&0!==m.$imageWrapEl.length&&(t.params.cssMode&&(t.wrapperEl.style.overflow="",t.wrapperEl.style.touchAction=""),e.scale=1,p=1,m.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),m.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),m.$slideEl.removeClass(`${s.zoomedSlideClass}`),m.$slideEl=void 0)}function S(e){const s=t.zoom;s.scale&&1!==s.scale?$():T(e)}function M(){const e=t.support;return{passiveListener:!("touchstart"!==t.touchEvents.start||!e.passiveListener||!t.params.passiveListeners)&&{passive:!0,capture:!1},activeListenerWithCapture:!e.passiveListener||{passive:!1,capture:!0}}}function P(){return`.${t.params.slideClass}`}function k(e){const{passiveListener:s}=M(),a=P();t.$wrapperEl[e]("gesturestart",a,b,s),t.$wrapperEl[e]("gesturechange",a,x,s),t.$wrapperEl[e]("gestureend",a,y,s)}function z(){l||(l=!0,k("on"))}function L(){l&&(l=!1,k("off"))}function O(){const e=t.zoom;if(e.enabled)return;e.enabled=!0;const s=t.support,{passiveListener:a,activeListenerWithCapture:i}=M(),r=P();s.gestures?(t.$wrapperEl.on(t.touchEvents.start,z,a),t.$wrapperEl.on(t.touchEvents.end,L,a)):"touchstart"===t.touchEvents.start&&(t.$wrapperEl.on(t.touchEvents.start,r,b,a),t.$wrapperEl.on(t.touchEvents.move,r,x,i),t.$wrapperEl.on(t.touchEvents.end,r,y,a),t.touchEvents.cancel&&t.$wrapperEl.on(t.touchEvents.cancel,r,y,a)),t.$wrapperEl.on(t.touchEvents.move,`.${t.params.zoom.containerClass}`,E,i)}function I(){const e=t.zoom;if(!e.enabled)return;const s=t.support;e.enabled=!1;const{passiveListener:a,activeListenerWithCapture:i}=M(),r=P();s.gestures?(t.$wrapperEl.off(t.touchEvents.start,z,a),t.$wrapperEl.off(t.touchEvents.end,L,a)):"touchstart"===t.touchEvents.start&&(t.$wrapperEl.off(t.touchEvents.start,r,b,a),t.$wrapperEl.off(t.touchEvents.move,r,x,i),t.$wrapperEl.off(t.touchEvents.end,r,y,a),t.touchEvents.cancel&&t.$wrapperEl.off(t.touchEvents.cancel,r,y,a)),t.$wrapperEl.off(t.touchEvents.move,`.${t.params.zoom.containerClass}`,E,i)}Object.defineProperty(t.zoom,"scale",{get:()=>v,set(e){if(v!==e){const t=m.$imageEl?m.$imageEl[0]:void 0,s=m.$slideEl?m.$slideEl[0]:void 0;i("zoomChange",e,t,s)}v=e}}),a("init",(()=>{t.params.zoom.enabled&&O()})),a("destroy",(()=>{I()})),a("touchStart",((e,s)=>{t.zoom.enabled&&function(e){const s=t.device;m.$imageEl&&0!==m.$imageEl.length&&(f.isTouched||(s.android&&e.cancelable&&e.preventDefault(),f.isTouched=!0,f.touchesStart.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,f.touchesStart.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY))}(s)})),a("touchEnd",((e,s)=>{t.zoom.enabled&&function(){const e=t.zoom;if(!m.$imageEl||0===m.$imageEl.length)return;if(!f.isTouched||!f.isMoved)return f.isTouched=!1,void(f.isMoved=!1);f.isTouched=!1,f.isMoved=!1;let s=300,a=300;const i=g.x*s,r=f.currentX+i,n=g.y*a,l=f.currentY+n;0!==g.x&&(s=Math.abs((r-f.currentX)/g.x)),0!==g.y&&(a=Math.abs((l-f.currentY)/g.y));const o=Math.max(s,a);f.currentX=r,f.currentY=l;const d=f.width*e.scale,c=f.height*e.scale;f.minX=Math.min(m.slideWidth/2-d/2,0),f.maxX=-f.minX,f.minY=Math.min(m.slideHeight/2-c/2,0),f.maxY=-f.minY,f.currentX=Math.max(Math.min(f.currentX,f.maxX),f.minX),f.currentY=Math.max(Math.min(f.currentY,f.maxY),f.minY),m.$imageWrapEl.transition(o).transform(`translate3d(${f.currentX}px, ${f.currentY}px,0)`)}()})),a("doubleTap",((e,s)=>{!t.animating&&t.params.zoom.enabled&&t.zoom.enabled&&t.params.zoom.toggle&&S(s)})),a("transitionEnd",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&C()})),a("slideChange",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&t.params.cssMode&&C()})),Object.assign(t.zoom,{enable:O,disable:I,in:T,out:$,toggle:S})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;s({lazy:{checkInView:!1,enabled:!1,loadPrevNext:!1,loadPrevNextAmount:1,loadOnTransitionStart:!1,scrollingElement:"",elementClass:"swiper-lazy",loadingClass:"swiper-lazy-loading",loadedClass:"swiper-lazy-loaded",preloaderClass:"swiper-lazy-preloader"}}),t.lazy={};let n=!1,l=!1;function o(e,s){void 0===s&&(s=!0);const a=t.params.lazy;if(void 0===e)return;if(0===t.slides.length)return;const r=t.virtual&&t.params.virtual.enabled?t.$wrapperEl.children(`.${t.params.slideClass}[data-swiper-slide-index="${e}"]`):t.slides.eq(e),n=r.find(`.${a.elementClass}:not(.${a.loadedClass}):not(.${a.loadingClass})`);!r.hasClass(a.elementClass)||r.hasClass(a.loadedClass)||r.hasClass(a.loadingClass)||n.push(r[0]),0!==n.length&&n.each((e=>{const n=d(e);n.addClass(a.loadingClass);const l=n.attr("data-background"),c=n.attr("data-src"),p=n.attr("data-srcset"),u=n.attr("data-sizes"),h=n.parent("picture");t.loadImage(n[0],c||l,p,u,!1,(()=>{if(null!=t&&t&&(!t||t.params)&&!t.destroyed){if(l?(n.css("background-image",`url("${l}")`),n.removeAttr("data-background")):(p&&(n.attr("srcset",p),n.removeAttr("data-srcset")),u&&(n.attr("sizes",u),n.removeAttr("data-sizes")),h.length&&h.children("source").each((e=>{const t=d(e);t.attr("data-srcset")&&(t.attr("srcset",t.attr("data-srcset")),t.removeAttr("data-srcset"))})),c&&(n.attr("src",c),n.removeAttr("data-src"))),n.addClass(a.loadedClass).removeClass(a.loadingClass),r.find(`.${a.preloaderClass}`).remove(),t.params.loop&&s){const e=r.attr("data-swiper-slide-index");if(r.hasClass(t.params.slideDuplicateClass)){o(t.$wrapperEl.children(`[data-swiper-slide-index="${e}"]:not(.${t.params.slideDuplicateClass})`).index(),!1)}else{o(t.$wrapperEl.children(`.${t.params.slideDuplicateClass}[data-swiper-slide-index="${e}"]`).index(),!1)}}i("lazyImageReady",r[0],n[0]),t.params.autoHeight&&t.updateAutoHeight()}})),i("lazyImageLoad",r[0],n[0])}))}function c(){const{$wrapperEl:e,params:s,slides:a,activeIndex:i}=t,r=t.virtual&&s.virtual.enabled,n=s.lazy;let c=s.slidesPerView;function p(t){if(r){if(e.children(`.${s.slideClass}[data-swiper-slide-index="${t}"]`).length)return!0}else if(a[t])return!0;return!1}function u(e){return r?d(e).attr("data-swiper-slide-index"):d(e).index()}if("auto"===c&&(c=0),l||(l=!0),t.params.watchSlidesProgress)e.children(`.${s.slideVisibleClass}`).each((e=>{o(r?d(e).attr("data-swiper-slide-index"):d(e).index())}));else if(c>1)for(let e=i;e1||n.loadPrevNextAmount&&n.loadPrevNextAmount>1){const e=n.loadPrevNextAmount,t=Math.ceil(c),s=Math.min(i+t+Math.max(e,t),a.length),r=Math.max(i-Math.max(t,e),0);for(let e=i+t;e0&&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=0&&t[0]<=i&&t[1]>=0&&t[1]<=l){if(0===t[0]&&0===t[1])continue;h=!0}}const f=!("touchstart"!==t.touchEvents.start||!t.support.passiveListener||!t.params.passiveListeners)&&{passive:!0,capture:!1};h?(c(),s.off("scroll",p,f)):n||(n=!0,s.on("scroll",p,f))}a("beforeInit",(()=>{t.params.lazy.enabled&&t.params.preloadImages&&(t.params.preloadImages=!1)})),a("init",(()=>{t.params.lazy.enabled&&(t.params.lazy.checkInView?p():c())})),a("scroll",(()=>{t.params.freeMode&&t.params.freeMode.enabled&&!t.params.freeMode.sticky&&c()})),a("scrollbarDragMove resize _freeModeNoMomentumRelease",(()=>{t.params.lazy.enabled&&(t.params.lazy.checkInView?p():c())})),a("transitionStart",(()=>{t.params.lazy.enabled&&(t.params.lazy.loadOnTransitionStart||!t.params.lazy.loadOnTransitionStart&&!l)&&(t.params.lazy.checkInView?p():c())})),a("transitionEnd",(()=>{t.params.lazy.enabled&&!t.params.lazy.loadOnTransitionStart&&(t.params.lazy.checkInView?p():c())})),a("slideChange",(()=>{const{lazy:e,cssMode:s,watchSlidesProgress:a,touchReleaseOnEdges:i,resistanceRatio:r}=t.params;e.enabled&&(s||a&&(i||0===r))&&c()})),a("destroy",(()=>{t.$el&&t.$el.find(`.${t.params.lazy.loadingClass}`).removeClass(t.params.lazy.loadingClass)})),Object.assign(t.lazy,{load:c,loadInSlide:o})},function(e){let{swiper:t,extendParams:s,on:a}=e;function i(e,t){const s=function(){let e,t,s;return(a,i)=>{for(t=-1,e=a.length;e-t>1;)s=e+t>>1,a[s]<=i?t=s:e=s;return e}}();let a,i;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(i=s(this.x,e),a=i-1,(e-this.x[a])*(this.y[i]-this.y[a])/(this.x[i]-this.x[a])+this.y[a]):0},this}function r(){t.controller.control&&t.controller.spline&&(t.controller.spline=void 0,delete t.controller.spline)}s({controller:{control:void 0,inverse:!1,by:"slide"}}),t.controller={control:void 0},a("beforeInit",(()=>{t.controller.control=t.params.controller.control})),a("update",(()=>{r()})),a("resize",(()=>{r()})),a("observerUpdate",(()=>{r()})),a("setTranslate",((e,s,a)=>{t.controller.control&&t.controller.setTranslate(s,a)})),a("setTransition",((e,s,a)=>{t.controller.control&&t.controller.setTransition(s,a)})),Object.assign(t.controller,{setTranslate:function(e,s){const a=t.controller.control;let r,n;const l=t.constructor;function o(e){const s=t.rtlTranslate?-t.translate:t.translate;"slide"===t.params.controller.by&&(!function(e){t.controller.spline||(t.controller.spline=t.params.loop?new i(t.slidesGrid,e.slidesGrid):new i(t.snapGrid,e.snapGrid))}(e),n=-t.controller.spline.interpolate(-s)),n&&"container"!==t.params.controller.by||(r=(e.maxTranslate()-e.minTranslate())/(t.maxTranslate()-t.minTranslate()),n=(s-t.minTranslate())*r+e.minTranslate()),t.params.controller.inverse&&(n=e.maxTranslate()-n),e.updateProgress(n),e.setTranslate(n,t),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(a))for(let e=0;e{s.updateAutoHeight()})),s.$wrapperEl.transitionEnd((()=>{i&&(s.params.loop&&"slide"===t.params.controller.by&&s.loopFix(),s.transitionEnd())})))}if(Array.isArray(i))for(r=0;r{n(e),"BUTTON"!==e[0].tagName&&(o(e,"button"),e.on("keydown",m)),p(e,s),function(e,t){e.attr("aria-controls",t)}(e,t)},w=e=>{const s=e.target.closest(`.${t.params.slideClass}`);if(!s||!t.slides.includes(s))return;const a=t.slides.indexOf(s)===t.activeIndex,i=t.params.watchSlidesProgress&&t.visibleSlides&&t.visibleSlides.includes(s);a||i||(t.isHorizontal()?t.el.scrollLeft=0:t.el.scrollTop=0,t.slideTo(t.slides.indexOf(s),0))},b=()=>{const e=t.params.a11y;e.itemRoleDescriptionMessage&&c(d(t.slides),e.itemRoleDescriptionMessage),e.slideRole&&o(d(t.slides),e.slideRole);const s=t.params.loop?t.slides.filter((e=>!e.classList.contains(t.params.slideDuplicateClass))).length:t.slides.length;e.slideLabelMessage&&t.slides.each(((a,i)=>{const r=d(a),n=t.params.loop?parseInt(r.attr("data-swiper-slide-index"),10):i;p(r,e.slideLabelMessage.replace(/\{\{index\}\}/,n+1).replace(/\{\{slidesLength\}\}/,s))}))},x=()=>{const e=t.params.a11y;t.$el.append(i);const s=t.$el;e.containerRoleDescriptionMessage&&c(s,e.containerRoleDescriptionMessage),e.containerMessage&&p(s,e.containerMessage);const a=t.$wrapperEl,r=e.id||a.attr("id")||`swiper-wrapper-${n=16,void 0===n&&(n=16),"x".repeat(n).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`;var n;const l=t.params.autoplay&&t.params.autoplay.enabled?"off":"polite";var o;let d,u;o=r,a.attr("id",o),function(e,t){e.attr("aria-live",t)}(a,l),b(),t.navigation&&t.navigation.$nextEl&&(d=t.navigation.$nextEl),t.navigation&&t.navigation.$prevEl&&(u=t.navigation.$prevEl),d&&d.length&&v(d,r,e.nextSlideMessage),u&&u.length&&v(u,r,e.prevSlideMessage),g()&&t.pagination.$el.on("keydown",U(t.params.pagination.bulletClass),m),t.$el.on("focus",w,!0)};a("beforeInit",(()=>{i=d(``)})),a("afterInit",(()=>{t.params.a11y.enabled&&x()})),a("slidesLengthChange snapGridLengthChange slidesGridLengthChange",(()=>{t.params.a11y.enabled&&b()})),a("fromEdge toEdge afterInit lock unlock",(()=>{t.params.a11y.enabled&&function(){if(t.params.loop||t.params.rewind||!t.navigation)return;const{$nextEl:e,$prevEl:s}=t.navigation;s&&s.length>0&&(t.isBeginning?(u(s),l(s)):(h(s),n(s))),e&&e.length>0&&(t.isEnd?(u(e),l(e)):(h(e),n(e)))}()})),a("paginationUpdate",(()=>{t.params.a11y.enabled&&function(){const e=t.params.a11y;f()&&t.pagination.bullets.each((s=>{const a=d(s);t.params.pagination.clickable&&(n(a),t.params.pagination.renderBullet||(o(a,"button"),p(a,e.paginationBulletMessage.replace(/\{\{index\}\}/,a.index()+1)))),a.is(`.${t.params.pagination.bulletActiveClass}`)?a.attr("aria-current","true"):a.removeAttr("aria-current")}))}()})),a("destroy",(()=>{t.params.a11y.enabled&&function(){let e,s;i&&i.length>0&&i.remove(),t.navigation&&t.navigation.$nextEl&&(e=t.navigation.$nextEl),t.navigation&&t.navigation.$prevEl&&(s=t.navigation.$prevEl),e&&e.off("keydown",m),s&&s.off("keydown",m),g()&&t.pagination.$el.off("keydown",U(t.params.pagination.bulletClass),m),t.$el.off("focus",w,!0)}()}))},function(e){let{swiper:t,extendParams:s,on:a}=e;s({history:{enabled:!1,root:"",replaceState:!1,key:"slides",keepQuery:!1}});let i=!1,n={};const l=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),o=e=>{const t=r();let s;s=e?new URL(e):t.location;const a=s.pathname.slice(1).split("/").filter((e=>""!==e)),i=a.length;return{key:a[i-2],value:a[i-1]}},d=(e,s)=>{const a=r();if(!i||!t.params.history.enabled)return;let n;n=t.params.url?new URL(t.params.url):a.location;const o=t.slides.eq(s);let d=l(o.attr("data-history"));if(t.params.history.root.length>0){let s=t.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${e}/${d}`}else n.pathname.includes(e)||(d=`${e}/${d}`);t.params.history.keepQuery&&(d+=n.search);const c=a.history.state;c&&c.value===d||(t.params.history.replaceState?a.history.replaceState({value:d},null,d):a.history.pushState({value:d},null,d))},c=(e,s,a)=>{if(s)for(let i=0,r=t.slides.length;i{n=o(t.params.url),c(t.params.speed,n.value,!1)};a("init",(()=>{t.params.history.enabled&&(()=>{const e=r();if(t.params.history){if(!e.history||!e.history.pushState)return t.params.history.enabled=!1,void(t.params.hashNavigation.enabled=!0);i=!0,n=o(t.params.url),(n.key||n.value)&&(c(0,n.value,t.params.runCallbacksOnInit),t.params.history.replaceState||e.addEventListener("popstate",p))}})()})),a("destroy",(()=>{t.params.history.enabled&&(()=>{const e=r();t.params.history.replaceState||e.removeEventListener("popstate",p)})()})),a("transitionEnd _freeModeNoMomentumRelease",(()=>{i&&d(t.params.history.key,t.activeIndex)})),a("slideChange",(()=>{i&&t.params.cssMode&&d(t.params.history.key,t.activeIndex)}))},function(e){let{swiper:t,extendParams:s,emit:i,on:n}=e,l=!1;const o=a(),c=r();s({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}});const p=()=>{i("hashChange");const e=o.location.hash.replace("#","");if(e!==t.slides.eq(t.activeIndex).attr("data-hash")){const s=t.$wrapperEl.children(`.${t.params.slideClass}[data-hash="${e}"]`).index();if(void 0===s)return;t.slideTo(s)}},u=()=>{if(l&&t.params.hashNavigation.enabled)if(t.params.hashNavigation.replaceState&&c.history&&c.history.replaceState)c.history.replaceState(null,null,`#${t.slides.eq(t.activeIndex).attr("data-hash")}`||""),i("hashSet");else{const e=t.slides.eq(t.activeIndex),s=e.attr("data-hash")||e.attr("data-history");o.location.hash=s||"",i("hashSet")}};n("init",(()=>{t.params.hashNavigation.enabled&&(()=>{if(!t.params.hashNavigation.enabled||t.params.history&&t.params.history.enabled)return;l=!0;const e=o.location.hash.replace("#","");if(e){const s=0;for(let a=0,i=t.slides.length;a{t.params.hashNavigation.enabled&&t.params.hashNavigation.watchState&&d(c).off("hashchange",p)})),n("transitionEnd _freeModeNoMomentumRelease",(()=>{l&&u()})),n("slideChange",(()=>{l&&t.params.cssMode&&u()}))},function(e){let t,{swiper:s,extendParams:i,on:r,emit:n}=e;function l(){if(!s.size)return s.autoplay.running=!1,void(s.autoplay.paused=!1);const e=s.slides.eq(s.activeIndex);let a=s.params.autoplay.delay;e.attr("data-swiper-autoplay")&&(a=e.attr("data-swiper-autoplay")||s.params.autoplay.delay),clearTimeout(t),t=p((()=>{let e;s.params.autoplay.reverseDirection?s.params.loop?(s.loopFix(),e=s.slidePrev(s.params.speed,!0,!0),n("autoplay")):s.isBeginning?s.params.autoplay.stopOnLastSlide?d():(e=s.slideTo(s.slides.length-1,s.params.speed,!0,!0),n("autoplay")):(e=s.slidePrev(s.params.speed,!0,!0),n("autoplay")):s.params.loop?(s.loopFix(),e=s.slideNext(s.params.speed,!0,!0),n("autoplay")):s.isEnd?s.params.autoplay.stopOnLastSlide?d():(e=s.slideTo(0,s.params.speed,!0,!0),n("autoplay")):(e=s.slideNext(s.params.speed,!0,!0),n("autoplay")),(s.params.cssMode&&s.autoplay.running||!1===e)&&l()}),a)}function o(){return void 0===t&&(!s.autoplay.running&&(s.autoplay.running=!0,n("autoplayStart"),l(),!0))}function d(){return!!s.autoplay.running&&(void 0!==t&&(t&&(clearTimeout(t),t=void 0),s.autoplay.running=!1,n("autoplayStop"),!0))}function c(e){s.autoplay.running&&(s.autoplay.paused||(t&&clearTimeout(t),s.autoplay.paused=!0,0!==e&&s.params.autoplay.waitForTransition?["transitionend","webkitTransitionEnd"].forEach((e=>{s.$wrapperEl[0].addEventListener(e,h)})):(s.autoplay.paused=!1,l())))}function u(){const e=a();"hidden"===e.visibilityState&&s.autoplay.running&&c(),"visible"===e.visibilityState&&s.autoplay.paused&&(l(),s.autoplay.paused=!1)}function h(e){s&&!s.destroyed&&s.$wrapperEl&&e.target===s.$wrapperEl[0]&&(["transitionend","webkitTransitionEnd"].forEach((e=>{s.$wrapperEl[0].removeEventListener(e,h)})),s.autoplay.paused=!1,s.autoplay.running?l():d())}function m(){s.params.autoplay.disableOnInteraction?d():(n("autoplayPause"),c()),["transitionend","webkitTransitionEnd"].forEach((e=>{s.$wrapperEl[0].removeEventListener(e,h)}))}function f(){s.params.autoplay.disableOnInteraction||(s.autoplay.paused=!1,n("autoplayResume"),l())}s.autoplay={running:!1,paused:!1},i({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}}),r("init",(()=>{if(s.params.autoplay.enabled){o();a().addEventListener("visibilitychange",u),s.params.autoplay.pauseOnMouseEnter&&(s.$el.on("mouseenter",m),s.$el.on("mouseleave",f))}})),r("beforeTransitionStart",((e,t,a)=>{s.autoplay.running&&(a||!s.params.autoplay.disableOnInteraction?s.autoplay.pause(t):d())})),r("sliderFirstMove",(()=>{s.autoplay.running&&(s.params.autoplay.disableOnInteraction?d():c())})),r("touchEnd",(()=>{s.params.cssMode&&s.autoplay.paused&&!s.params.autoplay.disableOnInteraction&&l()})),r("destroy",(()=>{s.$el.off("mouseenter",m),s.$el.off("mouseleave",f),s.autoplay.running&&d();a().removeEventListener("visibilitychange",u)})),Object.assign(s.autoplay,{pause:c,run:l,start:o,stop:d})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let i=!1,r=!1;function n(){const e=t.thumbs.swiper;if(!e||e.destroyed)return;const s=e.clickedIndex,a=e.clickedSlide;if(a&&d(a).hasClass(t.params.thumbs.slideThumbActiveClass))return;if(null==s)return;let i;if(i=e.params.loop?parseInt(d(e.clickedSlide).attr("data-swiper-slide-index"),10):s,t.params.loop){let e=t.activeIndex;t.slides.eq(e).hasClass(t.params.slideDuplicateClass)&&(t.loopFix(),t._clientLeft=t.$wrapperEl[0].clientLeft,e=t.activeIndex);const s=t.slides.eq(e).prevAll(`[data-swiper-slide-index="${i}"]`).eq(0).index(),a=t.slides.eq(e).nextAll(`[data-swiper-slide-index="${i}"]`).eq(0).index();i=void 0===s?a:void 0===a?s:a-e1&&!t.params.centeredSlides&&(i=t.params.slidesPerView),t.params.thumbs.multipleActiveThumbs||(i=1),i=Math.floor(i),s.slides.removeClass(r),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let e=0;e1?a:o:a-ot.previousIndex?"next":"prev"}else i=t.realIndex,r=i>t.previousIndex?"next":"prev";l&&(i+="next"===r?n:-1*n),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(i)<0&&(s.params.centeredSlides?i=i>o?i-Math.floor(a/2)+1:i+Math.floor(a/2)-1:i>o&&s.params.slidesPerGroup,s.slideTo(i,e?0:void 0))}}t.thumbs={swiper:null},a("beforeInit",(()=>{const{thumbs:e}=t.params;e&&e.swiper&&(l(),o(!0))})),a("slideChange update resize observerUpdate",(()=>{o()})),a("setTransition",((e,s)=>{const a=t.thumbs.swiper;a&&!a.destroyed&&a.setTransition(s)})),a("beforeDestroy",(()=>{const e=t.thumbs.swiper;e&&!e.destroyed&&r&&e.destroy()})),Object.assign(t.thumbs,{init:l,update:o})},function(e){let{swiper:t,extendParams:s,emit:a,once:i}=e;s({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(t,{freeMode:{onTouchStart:function(){const e=t.getTranslate();t.setTranslate(e),t.setTransition(0),t.touchEventsData.velocities.length=0,t.freeMode.onTouchEnd({currentPos:t.rtl?t.translate:-t.translate})},onTouchMove:function(){const{touchEventsData:e,touches:s}=t;0===e.velocities.length&&e.velocities.push({position:s[t.isHorizontal()?"startX":"startY"],time:e.touchStartTime}),e.velocities.push({position:s[t.isHorizontal()?"currentX":"currentY"],time:u()})},onTouchEnd:function(e){let{currentPos:s}=e;const{params:r,$wrapperEl:n,rtlTranslate:l,snapGrid:o,touchEventsData:d}=t,c=u()-d.touchStartTime;if(s<-t.minTranslate())t.slideTo(t.activeIndex);else if(s>-t.maxTranslate())t.slides.length1){const e=d.velocities.pop(),s=d.velocities.pop(),a=e.position-s.position,i=e.time-s.time;t.velocity=a/i,t.velocity/=2,Math.abs(t.velocity)150||u()-e.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=r.freeMode.momentumVelocityRatio,d.velocities.length=0;let e=1e3*r.freeMode.momentumRatio;const s=t.velocity*e;let c=t.translate+s;l&&(c=-c);let p,h=!1;const m=20*Math.abs(t.velocity)*r.freeMode.momentumBounceRatio;let f;if(ct.minTranslate())r.freeMode.momentumBounce?(c-t.minTranslate()>m&&(c=t.minTranslate()+m),p=t.minTranslate(),h=!0,d.allowMomentumBounce=!0):c=t.minTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(r.freeMode.sticky){let e;for(let t=0;t-c){e=t;break}c=Math.abs(o[e]-c){t.loopFix()})),0!==t.velocity){if(e=l?Math.abs((-c-t.translate)/t.velocity):Math.abs((c-t.translate)/t.velocity),r.freeMode.sticky){const s=Math.abs((l?-c:c)-t.translate),a=t.slidesSizesGrid[t.activeIndex];e=s{t&&!t.destroyed&&d.allowMomentumBounce&&(a("momentumBounce"),t.setTransition(r.speed),setTimeout((()=>{t.setTranslate(p),n.transitionEnd((()=>{t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(a("_freeModeNoMomentumRelease"),t.updateProgress(c),t.setTransition(e),t.setTranslate(c),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,n.transitionEnd((()=>{t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(c),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode&&a("_freeModeNoMomentumRelease")}(!r.freeMode.momentum||c>=r.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}}}})},function(e){let t,s,a,{swiper:i,extendParams:r}=e;r({grid:{rows:1,fill:"column"}}),i.grid={initSlides:e=>{const{slidesPerView:r}=i.params,{rows:n,fill:l}=i.params.grid;s=t/n,a=Math.floor(e/n),t=Math.floor(e/n)===e/n?e:Math.ceil(e/n)*n,"auto"!==r&&"row"===l&&(t=Math.max(t,r*n))},updateSlide:(e,r,n,l)=>{const{slidesPerGroup:o,spaceBetween:d}=i.params,{rows:c,fill:p}=i.params.grid;let u,h,m;if("row"===p&&o>1){const s=Math.floor(e/(o*c)),a=e-c*o*s,i=0===s?o:Math.min(Math.ceil((n-s*c*o)/c),o);m=Math.floor(a/i),h=a-m*i+s*o,u=h+m*t/c,r.css({"-webkit-order":u,order:u})}else"column"===p?(h=Math.floor(e/c),m=e-h*c,(h>a||h===a&&m===c-1)&&(m+=1,m>=c&&(m=0,h+=1))):(m=Math.floor(e/s),h=e-m*s);r.css(l("margin-top"),0!==m?d&&`${d}px`:"")},updateWrapperSize:(e,s,a)=>{const{spaceBetween:r,centeredSlides:n,roundLengths:l}=i.params,{rows:o}=i.params.grid;if(i.virtualSize=(e+r)*t,i.virtualSize=Math.ceil(i.virtualSize/o)-r,i.$wrapperEl.css({[a("width")]:`${i.virtualSize+r}px`}),n){s.splice(0,s.length);const e=[];for(let t=0;t{const{slides:e}=t,s=t.params.fadeEffect;for(let a=0;a{const{transformEl:s}=t.params.fadeEffect;(s?t.slides.find(s):t.slides).transition(e),ae({swiper:t,duration:e,transformEl:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}});const i=(e,t,s)=>{let a=s?e.find(".swiper-slide-shadow-left"):e.find(".swiper-slide-shadow-top"),i=s?e.find(".swiper-slide-shadow-right"):e.find(".swiper-slide-shadow-bottom");0===a.length&&(a=d(`
`),e.append(a)),0===i.length&&(i=d(`
`),e.append(i)),a.length&&(a[0].style.opacity=Math.max(-t,0)),i.length&&(i[0].style.opacity=Math.max(t,0))};te({effect:"cube",swiper:t,on:a,setTranslate:()=>{const{$el:e,$wrapperEl:s,slides:a,width:r,height:n,rtlTranslate:l,size:o,browser:c}=t,p=t.params.cubeEffect,u=t.isHorizontal(),h=t.virtual&&t.params.virtual.enabled;let m,f=0;p.shadow&&(u?(m=s.find(".swiper-cube-shadow"),0===m.length&&(m=d('
'),s.append(m)),m.css({height:`${r}px`})):(m=e.find(".swiper-cube-shadow"),0===m.length&&(m=d('
'),e.append(m))));for(let e=0;e-1&&(f=90*s+90*d,l&&(f=90*-s-90*d)),t.transform(v),p.slideShadows&&i(t,d,u)}if(s.css({"-webkit-transform-origin":`50% 50% -${o/2}px`,"transform-origin":`50% 50% -${o/2}px`}),p.shadow)if(u)m.transform(`translate3d(0px, ${r/2+p.shadowOffset}px, ${-r/2}px) rotateX(90deg) rotateZ(0deg) scale(${p.shadowScale})`);else{const e=Math.abs(f)-90*Math.floor(Math.abs(f)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=p.shadowScale,a=p.shadowScale/t,i=p.shadowOffset;m.transform(`scale3d(${s}, 1, ${a}) translate3d(0px, ${n/2+i}px, ${-n/2/a}px) rotateX(-90deg)`)}const g=c.isSafari||c.isWebView?-o/2:0;s.transform(`translate3d(0px,0,${g}px) rotateX(${t.isHorizontal()?0:f}deg) rotateY(${t.isHorizontal()?-f:0}deg)`),s[0].style.setProperty("--swiper-cube-translate-z",`${g}px`)},setTransition:e=>{const{$el:s,slides:a}=t;a.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),t.params.cubeEffect.shadow&&!t.isHorizontal()&&s.find(".swiper-cube-shadow").transition(e)},recreateShadows:()=>{const e=t.isHorizontal();t.slides.each((t=>{const s=Math.max(Math.min(t.progress,1),-1);i(d(t),s,e)}))},getEffectParams:()=>t.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({flipEffect:{slideShadows:!0,limitRotation:!0,transformEl:null}});const i=(e,s,a)=>{let i=t.isHorizontal()?e.find(".swiper-slide-shadow-left"):e.find(".swiper-slide-shadow-top"),r=t.isHorizontal()?e.find(".swiper-slide-shadow-right"):e.find(".swiper-slide-shadow-bottom");0===i.length&&(i=ie(a,e,t.isHorizontal()?"left":"top")),0===r.length&&(r=ie(a,e,t.isHorizontal()?"right":"bottom")),i.length&&(i[0].style.opacity=Math.max(-s,0)),r.length&&(r[0].style.opacity=Math.max(s,0))};te({effect:"flip",swiper:t,on:a,setTranslate:()=>{const{slides:e,rtlTranslate:s}=t,a=t.params.flipEffect;for(let r=0;r{const{transformEl:s}=t.params.flipEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),ae({swiper:t,duration:e,transformEl:s})},recreateShadows:()=>{const e=t.params.flipEffect;t.slides.each((s=>{const a=d(s);let r=a[0].progress;t.params.flipEffect.limitRotation&&(r=Math.max(Math.min(s.progress,1),-1)),i(a,r,e)}))},getEffectParams:()=>t.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0,transformEl:null}}),te({effect:"coverflow",swiper:t,on:a,setTranslate:()=>{const{width:e,height:s,slides:a,slidesSizesGrid:i}=t,r=t.params.coverflowEffect,n=t.isHorizontal(),l=t.translate,o=n?e/2-l:s/2-l,d=n?r.rotate:-r.rotate,c=r.depth;for(let e=0,t=a.length;e0?p:0),s.length&&(s[0].style.opacity=-p>0?-p:0)}}},setTransition:e=>{const{transformEl:s}=t.params.coverflowEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({creativeEffect:{transformEl:null,limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const i=e=>"string"==typeof e?e:`${e}px`;te({effect:"creative",swiper:t,on:a,setTranslate:()=>{const{slides:e,$wrapperEl:s,slidesSizesGrid:a}=t,r=t.params.creativeEffect,{progressMultiplier:n}=r,l=t.params.centeredSlides;if(l){const e=a[0]/2-t.params.slidesOffsetBefore||0;s.transform(`translateX(calc(50% - ${e}px))`)}for(let s=0;s0&&(f=r.prev,m=!0),u.forEach(((e,t)=>{u[t]=`calc(${e}px + (${i(f.translate[t])} * ${Math.abs(d*n)}))`})),h.forEach(((e,t)=>{h[t]=f.rotate[t]*Math.abs(d*n)})),a[0].style.zIndex=-Math.abs(Math.round(o))+e.length;const g=u.join(", "),v=`rotateX(${h[0]}deg) rotateY(${h[1]}deg) rotateZ(${h[2]}deg)`,w=c<0?`scale(${1+(1-f.scale)*c*n})`:`scale(${1-(1-f.scale)*c*n})`,b=c<0?1+(1-f.opacity)*c*n:1-(1-f.opacity)*c*n,x=`translate3d(${g}) ${v} ${w}`;if(m&&f.shadow||!m){let e=a.children(".swiper-slide-shadow");if(0===e.length&&f.shadow&&(e=ie(r,a)),e.length){const t=r.shadowPerProgress?d*(1/r.limitProgress):d;e[0].style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const y=se(r,a);y.transform(x).css({opacity:b}),f.origin&&y.css("transform-origin",f.origin)}},setTransition:e=>{const{transformEl:s}=t.params.creativeEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow").transition(e),ae({swiper:t,duration:e,transformEl:s,allSlides:!0})},perspective:()=>t.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cardsEffect:{slideShadows:!0,transformEl:null,rotate:!0}}),te({effect:"cards",swiper:t,on:a,setTranslate:()=>{const{slides:e,activeIndex:s}=t,a=t.params.cardsEffect,{startTranslate:i,isTouched:r}=t.touchEventsData,n=t.translate;for(let l=0;l0&&c<1&&(r||t.params.cssMode)&&n-1&&(r||t.params.cssMode)&&n>i;if(b||x){const e=(1-Math.abs((Math.abs(c)-.5)/.5))**.5;g+=-28*c*e,f+=-.5*e,v+=96*e,h=-25*e*Math.abs(c)+"%"}if(u=c<0?`calc(${u}px + (${v*Math.abs(c)}%))`:c>0?`calc(${u}px + (-${v*Math.abs(c)}%))`:`${u}px`,!t.isHorizontal()){const e=h;h=u,u=e}const y=c<0?""+(1+(1-f)*c):""+(1-(1-f)*c),E=`\n translate3d(${u}, ${h}, ${m}px)\n rotateZ(${a.rotate?g:0}deg)\n scale(${y})\n `;if(a.slideShadows){let e=o.find(".swiper-slide-shadow");0===e.length&&(e=ie(a,o)),e.length&&(e[0].style.opacity=Math.min(Math.max((Math.abs(c)-.5)/.5,0),1))}o[0].style.zIndex=-Math.abs(Math.round(d))+e.length;se(a,o).transform(E)}},setTransition:e=>{const{transformEl:s}=t.params.cardsEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow").transition(e),ae({swiper:t,duration:e,transformEl:s})},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})}];return V.use(re),V})); +//# sourceMappingURL=swiper-bundle.min.js.map + + +// @fancyapps/ui/Fancybox v4.0.31 +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).window=t.window||{})}(this,(function(t){"use strict";function e(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function i(t){for(var i=1;it.length)&&(e=t.length);for(var i=0,n=new Array(e);i=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,r=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){r=!0,a=t},f:function(){try{s||null==i.return||i.return()}finally{if(r)throw a}}}}var w=function(t){return"object"===n(t)&&null!==t&&t.constructor===Object&&"[object Object]"===Object.prototype.toString.call(t)},k=function t(){for(var e=!1,i=arguments.length,o=new Array(i),a=0;a1&&void 0!==arguments[1]?arguments[1]:1e4;return t=parseFloat(t)||0,Math.round((t+Number.EPSILON)*e)/e},C=function t(e){return!!(e&&"object"===n(e)&&e instanceof Element&&e!==document.body)&&(!e.__Panzoom&&(function(t){var e=getComputedStyle(t)["overflow-y"],i=getComputedStyle(t)["overflow-x"],n=("scroll"===e||"auto"===e)&&Math.abs(t.scrollHeight-t.clientHeight)>1,o=("scroll"===i||"auto"===i)&&Math.abs(t.scrollWidth-t.clientWidth)>1;return n||o}(e)?e:t(e.parentNode)))},$="undefined"!=typeof window&&window.ResizeObserver||function(){function t(e){o(this,t),this.observables=[],this.boundCheck=this.check.bind(this),this.boundCheck(),this.callback=e}return s(t,[{key:"observe",value:function(t){if(!this.observables.some((function(e){return e.el===t}))){var e={el:t,size:{height:t.clientHeight,width:t.clientWidth}};this.observables.push(e)}}},{key:"unobserve",value:function(t){this.observables=this.observables.filter((function(e){return e.el!==t}))}},{key:"disconnect",value:function(){this.observables=[]}},{key:"check",value:function(){var t=this.observables.filter((function(t){var e=t.el.clientHeight,i=t.el.clientWidth;if(t.size.height!==e||t.size.width!==i)return t.size.height=e,t.size.width=i,!0})).map((function(t){return t.el}));t.length>0&&this.callback(t),window.requestAnimationFrame(this.boundCheck)}}]),t}(),E=s((function t(e){o(this,t),this.id=self.Touch&&e instanceof Touch?e.identifier:-1,this.pageX=e.pageX,this.pageY=e.pageY,this.clientX=e.clientX,this.clientY=e.clientY})),P=function(t,e){return e?Math.sqrt(Math.pow(e.clientX-t.clientX,2)+Math.pow(e.clientY-t.clientY,2)):0},T=function(t,e){return e?{clientX:(t.clientX+e.clientX)/2,clientY:(t.clientY+e.clientY)/2}:t},L=function(t){return"changedTouches"in t},_=function(){function t(e){var i=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=n.start,s=void 0===a?function(){return!0}:a,r=n.move,l=void 0===r?function(){}:r,c=n.end,h=void 0===c?function(){}:c;o(this,t),this._element=e,this.startPointers=[],this.currentPointers=[],this._pointerStart=function(t){if(!(t.buttons>0&&0!==t.button)){var e=new E(t);i.currentPointers.some((function(t){return t.id===e.id}))||i._triggerPointerStart(e,t)&&(window.addEventListener("mousemove",i._move),window.addEventListener("mouseup",i._pointerEnd))}},this._touchStart=function(t){for(var e=0,n=Array.from(t.changedTouches||[]);e0&&0!==t.button||i._triggerPointerEnd(new E(t),t)&&(window.removeEventListener("mousemove",i._move,{passive:!1}),window.removeEventListener("mouseup",i._pointerEnd,{passive:!1}))},this._touchEnd=function(t){for(var e=0,n=Array.from(t.changedTouches||[]);e0&&void 0!==arguments[0]?arguments[0]:{};o(this,t),this.options=k(!0,{},e),this.plugins=[],this.events={};for(var i=0,n=["on","once"];i2?o-2:0),s=2;s1&&void 0!==arguments[1]?arguments[1]:[];return t=(t=String(t).replace(/\{\{(\w+).?(\w+)?\}\}/g,(function(t,n,o){var a="";o?a=e.option("".concat(n[0]+n.toLowerCase().substring(1),".l10n.").concat(o)):n&&(a=e.option("l10n.".concat(n))),a||(a=t);for(var s=0;s1?e-1:0),n=1;n1&&void 0!==arguments[1]?arguments[1]:{};o(this,n),(i=e.call(this,k(!0,{},z,a))).state="init",i.$container=t;for(var s=0,r=["onLoad","onWheel","onClick"];s1||Math.abs(e.left-this.dragStart.rect.left)>1))return t.preventDefault(),void t.stopPropagation();!1!==this.trigger("click",t)&&this.option("zoom")&&"toggleZoom"===this.option("click")&&(t.preventDefault(),t.stopPropagation(),this.zoomWithClick(t))}else t.stopPropagation()}},{key:"onWheel",value:function(t){!1!==this.trigger("wheel",t)&&this.option("zoom")&&this.option("wheel")&&this.zoomWithWheel(t)}},{key:"zoomWithWheel",value:function(t){void 0===this.changedDelta&&(this.changedDelta=0);var e=Math.max(-1,Math.min(1,-t.deltaY||-t.deltaX||t.wheelDelta||-t.detail)),i=this.content.scale,n=i*(100+e*this.option("wheelFactor"))/100;if(e<0&&Math.abs(i-this.option("minScale"))<.01||e>0&&Math.abs(i-this.option("maxScale"))<.01?(this.changedDelta+=Math.abs(e),n=i):(this.changedDelta=0,n=Math.max(Math.min(n,this.option("maxScale")),this.option("minScale"))),!(this.changedDelta>this.option("wheelLimit"))&&(t.preventDefault(),n!==i)){var o=this.$content.getBoundingClientRect(),a=t.clientX-o.left,s=t.clientY-o.top;this.zoomTo(n,{x:a,y:s})}}},{key:"zoomWithClick",value:function(t){var e=this.$content.getClientRects()[0],i=t.clientX-e.left,n=t.clientY-e.top;this.toggleZoom({x:i,y:n})}},{key:"attachEvents",value:function(){var t=this;this.$content.addEventListener("load",this.onLoad),this.$container.addEventListener("wheel",this.onWheel,{passive:!1}),this.$container.addEventListener("click",this.onClick,{passive:!1}),this.initObserver();var e=new _(this.$container,{start:function(i,n){if(!t.option("touch"))return!1;if(t.velocity.scale<0)return!1;var o=n.composedPath()[0];if(!e.currentPointers.length){if(-1!==["BUTTON","TEXTAREA","OPTION","INPUT","SELECT","VIDEO"].indexOf(o.nodeName))return!1;if(t.option("textSelection")&&function(t,e,i){for(var n=t.childNodes,o=document.createRange(),a=0;a=r.left&&i>=r.top&&e<=r.right&&i<=r.bottom)return s}}return!1}(o,i.clientX,i.clientY))return!1}return!C(o)&&(!1!==t.trigger("touchStart",n)&&("mousedown"===n.type&&n.preventDefault(),t.state="pointerdown",t.resetDragPosition(),t.dragPosition.midPoint=null,t.dragPosition.time=Date.now(),!0))},move:function(i,n,o){if("pointerdown"===t.state)if(!1!==t.trigger("touchMove",o)){if(!(n.length<2&&!0===t.option("panOnlyZoomed")&&t.content.width<=t.viewport.width&&t.content.height<=t.viewport.height&&t.transform.scale<=t.option("baseScale"))&&(!(n.length>1)||t.option("zoom")&&!1!==t.option("pinchToZoom"))){var a=T(i[0],i[1]),s=T(n[0],n[1]),r=s.clientX-a.clientX,l=s.clientY-a.clientY,c=P(i[0],i[1]),h=P(n[0],n[1]),d=c&&h?h/c:1;t.dragOffset.x+=r,t.dragOffset.y+=l,t.dragOffset.scale*=d,t.dragOffset.time=Date.now()-t.dragPosition.time;var u=1===t.dragStart.scale&&t.option("lockAxis");if(u&&!t.lockAxis){if(Math.abs(t.dragOffset.x)<6&&Math.abs(t.dragOffset.y)<6)return void o.preventDefault();var f=Math.abs(180*Math.atan2(t.dragOffset.y,t.dragOffset.x)/Math.PI);t.lockAxis=f>45&&f<135?"y":"x"}if("xy"===u||"y"!==t.lockAxis){if(o.preventDefault(),o.stopPropagation(),o.stopImmediatePropagation(),t.lockAxis&&(t.dragOffset["x"===t.lockAxis?"y":"x"]=0),t.$container.classList.add(t.option("draggingClass")),t.transform.scale===t.option("baseScale")&&"y"===t.lockAxis||(t.dragPosition.x=t.dragStart.x+t.dragOffset.x),t.transform.scale===t.option("baseScale")&&"x"===t.lockAxis||(t.dragPosition.y=t.dragStart.y+t.dragOffset.y),t.dragPosition.scale=t.dragStart.scale*t.dragOffset.scale,n.length>1){var v=T(e.startPointers[0],e.startPointers[1]),p=v.clientX-t.dragStart.rect.x,g=v.clientY-t.dragStart.rect.y,m=t.getZoomDelta(t.content.scale*t.dragOffset.scale,p,g),y=m.deltaX,b=m.deltaY;t.dragPosition.x-=y,t.dragPosition.y-=b,t.dragPosition.midPoint=s}else t.setDragResistance();t.transform={x:t.dragPosition.x,y:t.dragPosition.y,scale:t.dragPosition.scale},t.startAnimation()}}}else o.preventDefault()},end:function(n,o){if("pointerdown"===t.state)if(t._dragOffset=i({},t.dragOffset),e.currentPointers.length)t.resetDragPosition();else if(t.state="decel",t.friction=t.option("decelFriction"),t.recalculateTransform(),t.$container.classList.remove(t.option("draggingClass")),!1!==t.trigger("touchEnd",o)&&"decel"===t.state){var a=t.option("minScale");if(t.transform.scale.01){var r=t.dragPosition.midPoint||n,l=t.$content.getClientRects()[0];t.zoomTo(s,{friction:.64,x:r.clientX-l.left,y:r.clientY-l.top})}else;}}}});this.pointerTracker=e}},{key:"initObserver",value:function(){var t=this;this.resizeObserver||(this.resizeObserver=new $((function(){t.updateTimer||(t.updateTimer=setTimeout((function(){var e=t.$container.getBoundingClientRect();e.width&&e.height?((Math.abs(e.width-t.container.width)>1||Math.abs(e.height-t.container.height)>1)&&(t.isAnimating()&&t.endAnimation(!0),t.updateMetrics(),t.panTo({x:t.content.x,y:t.content.y,scale:t.option("baseScale"),friction:0})),t.updateTimer=null):t.updateTimer=null}),t.updateRate))})),this.resizeObserver.observe(this.$container))}},{key:"resetDragPosition",value:function(){this.lockAxis=null,this.friction=this.option("friction"),this.velocity={x:0,y:0,scale:0};var t=this.content,e=t.x,n=t.y,o=t.scale;this.dragStart={rect:this.$content.getBoundingClientRect(),x:e,y:n,scale:o},this.dragPosition=i(i({},this.dragPosition),{},{x:e,y:n,scale:o}),this.dragOffset={x:0,y:0,scale:1,time:0}}},{key:"updateMetrics",value:function(t){!0!==t&&this.trigger("beforeUpdate");var e,n=this.$container,o=this.$content,a=this.$viewport,s=o instanceof HTMLImageElement,r=this.option("zoom"),l=this.option("resizeParent",r),c=this.option("width"),h=this.option("height"),d=c||(e=o,Math.max(parseFloat(e.naturalWidth||0),parseFloat(e.width&&e.width.baseVal&&e.width.baseVal.value||0),parseFloat(e.offsetWidth||0),parseFloat(e.scrollWidth||0))),u=h||function(t){return Math.max(parseFloat(t.naturalHeight||0),parseFloat(t.height&&t.height.baseVal&&t.height.baseVal.value||0),parseFloat(t.offsetHeight||0),parseFloat(t.scrollHeight||0))}(o);Object.assign(o.style,{width:c?"".concat(c,"px"):"",height:h?"".concat(h,"px"):"",maxWidth:"",maxHeight:""}),l&&Object.assign(a.style,{width:"",height:""});var f=this.option("ratio");c=d=S(d*f),h=u=S(u*f);var v=o.getBoundingClientRect(),p=a.getBoundingClientRect(),g=a==n?p:n.getBoundingClientRect(),m=Math.max(a.offsetWidth,S(p.width)),y=Math.max(a.offsetHeight,S(p.height)),b=window.getComputedStyle(a);if(m-=parseFloat(b.paddingLeft)+parseFloat(b.paddingRight),y-=parseFloat(b.paddingTop)+parseFloat(b.paddingBottom),this.viewport.width=m,this.viewport.height=y,r){if(Math.abs(d-v.width)>.1||Math.abs(u-v.height)>.1){var x=function(t,e,i,n){var o=Math.min(i/t||0,n/e);return{width:t*o||0,height:e*o||0}}(d,u,Math.min(d,v.width),Math.min(u,v.height));c=S(x.width),h=S(x.height)}Object.assign(o.style,{width:"".concat(c,"px"),height:"".concat(h,"px"),transform:""})}if(l&&(Object.assign(a.style,{width:"".concat(c,"px"),height:"".concat(h,"px")}),this.viewport=i(i({},this.viewport),{},{width:c,height:h})),s&&r&&"function"!=typeof this.options.maxScale){var w=this.option("maxScale");this.options.maxScale=function(){return this.content.origWidth>0&&this.content.fitWidth>0?this.content.origWidth/this.content.fitWidth:w}}this.content=i(i({},this.content),{},{origWidth:d,origHeight:u,fitWidth:c,fitHeight:h,width:c,height:h,scale:1,isZoomable:r}),this.container={width:g.width,height:g.height},!0!==t&&this.trigger("afterUpdate")}},{key:"zoomIn",value:function(t){this.zoomTo(this.content.scale+(t||this.option("step")))}},{key:"zoomOut",value:function(t){this.zoomTo(this.content.scale-(t||this.option("step")))}},{key:"toggleZoom",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.option("maxScale"),i=this.option("baseScale"),n=this.content.scale>i+.5*(e-i)?i:e;this.zoomTo(n,t)}},{key:"zoomTo",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.option("baseScale"),e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=e.x,n=void 0===i?null:i,o=e.y,a=void 0===o?null:o;t=Math.max(Math.min(t,this.option("maxScale")),this.option("minScale"));var s=S(this.content.scale/(this.content.width/this.content.fitWidth),1e7);null===n&&(n=this.content.width*s*.5),null===a&&(a=this.content.height*s*.5);var r=this.getZoomDelta(t,n,a),l=r.deltaX,c=r.deltaY;n=this.content.x-l,a=this.content.y-c,this.panTo({x:n,y:a,scale:t,friction:this.option("zoomFriction")})}},{key:"getZoomDelta",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=this.content.fitWidth*this.content.scale,o=this.content.fitHeight*this.content.scale,a=e>0&&n?e/n:0,s=i>0&&o?i/o:0,r=this.content.fitWidth*t,l=this.content.fitHeight*t,c=(r-n)*a,h=(l-o)*s;return{deltaX:c,deltaY:h}}},{key:"panTo",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.x,n=void 0===e?this.content.x:e,o=t.y,a=void 0===o?this.content.y:o,s=t.scale,r=t.friction,l=void 0===r?this.option("friction"):r,c=t.ignoreBounds,h=void 0!==c&&c;if(s=s||this.content.scale||1,!h){var d=this.getBounds(s),u=d.boundX,f=d.boundY;u&&(n=Math.max(Math.min(n,u.to),u.from)),f&&(a=Math.max(Math.min(a,f.to),f.from))}this.friction=l,this.transform=i(i({},this.transform),{},{x:n,y:a,scale:s}),l?(this.state="panning",this.velocity={x:(1/this.friction-1)*(n-this.content.x),y:(1/this.friction-1)*(a-this.content.y),scale:(1/this.friction-1)*(s-this.content.scale)},this.startAnimation()):this.endAnimation()}},{key:"startAnimation",value:function(){var t=this;this.rAF?cancelAnimationFrame(this.rAF):this.trigger("startAnimation"),this.rAF=requestAnimationFrame((function(){return t.animate()}))}},{key:"animate",value:function(){var t=this;if(this.setEdgeForce(),this.setDragForce(),this.velocity.x*=this.friction,this.velocity.y*=this.friction,this.velocity.scale*=this.friction,this.content.x+=this.velocity.x,this.content.y+=this.velocity.y,this.content.scale+=this.velocity.scale,this.isAnimating())this.setTransform();else if("pointerdown"!==this.state)return void this.endAnimation();this.rAF=requestAnimationFrame((function(){return t.animate()}))}},{key:"getBounds",value:function(t){var e=this.boundX,i=this.boundY;if(void 0!==e&&void 0!==i)return{boundX:e,boundY:i};e={from:0,to:0},i={from:0,to:0},t=t||this.transform.scale;var n=this.content.fitWidth*t,o=this.content.fitHeight*t,a=this.viewport.width,s=this.viewport.height;if(ns.to),r&&(i=this.content.yr.to),t||e){var l=((t?s.from:s.to)-this.content.x)*o,c=this.content.x+(this.velocity.x+l)/this.friction;c>=s.from&&c<=s.to&&(l+=this.velocity.x),this.velocity.x=l,this.recalculateTransform()}if(i||n){var h=((i?r.from:r.to)-this.content.y)*o,d=this.content.y+(h+this.velocity.y)/this.friction;d>=r.from&&d<=r.to&&(h+=this.velocity.y),this.velocity.y=h,this.recalculateTransform()}}}},{key:"setDragResistance",value:function(){if("pointerdown"===this.state){var t,e,i,n,o=this.getBounds(this.dragPosition.scale),a=o.boundX,s=o.boundY;if(a&&(t=this.dragPosition.xa.to),s&&(i=this.dragPosition.ys.to),(t||e)&&(!t||!e)){var r=t?a.from:a.to,l=r-this.dragPosition.x;this.dragPosition.x=r-.3*l}if((i||n)&&(!i||!n)){var c=i?s.from:s.to,h=c-this.dragPosition.y;this.dragPosition.y=c-.3*h}}}},{key:"setDragForce",value:function(){"pointerdown"===this.state&&(this.velocity.x=this.dragPosition.x-this.content.x,this.velocity.y=this.dragPosition.y-this.content.y,this.velocity.scale=this.dragPosition.scale-this.content.scale)}},{key:"recalculateTransform",value:function(){this.transform.x=this.content.x+this.velocity.x/(1/this.friction-1),this.transform.y=this.content.y+this.velocity.y/(1/this.friction-1),this.transform.scale=this.content.scale+this.velocity.scale/(1/this.friction-1)}},{key:"isAnimating",value:function(){return!(!this.friction||!(Math.abs(this.velocity.x)>.05||Math.abs(this.velocity.y)>.05||Math.abs(this.velocity.scale)>.05))}},{key:"setTransform",value:function(t){var e,n,o,a,s;(t?(e=S(this.transform.x),n=S(this.transform.y),o=this.transform.scale,this.content=i(i({},this.content),{},{x:e,y:n,scale:o})):(e=S(this.content.x),n=S(this.content.y),o=this.content.scale/(this.content.width/this.content.fitWidth),this.content=i(i({},this.content),{},{x:e,y:n})),this.trigger("beforeTransform"),e=S(this.content.x),n=S(this.content.y),t&&this.option("zoom"))?(a=S(this.content.fitWidth*o),s=S(this.content.fitHeight*o),this.content.width=a,this.content.height=s,this.transform=i(i({},this.transform),{},{width:a,height:s,scale:o}),Object.assign(this.$content.style,{width:"".concat(a,"px"),height:"".concat(s,"px"),maxWidth:"none",maxHeight:"none",transform:"translate3d(".concat(e,"px, ").concat(n,"px, 0) scale(1)")})):this.$content.style.transform="translate3d(".concat(e,"px, ").concat(n,"px, 0) scale(").concat(o,")");this.trigger("afterTransform")}},{key:"endAnimation",value:function(t){cancelAnimationFrame(this.rAF),this.rAF=null,this.velocity={x:0,y:0,scale:0},this.setTransform(!0),this.state="ready",this.handleCursor(),!0!==t&&this.trigger("endAnimation")}},{key:"handleCursor",value:function(){var t=this.option("draggableClass");t&&this.option("touch")&&(1==this.option("panOnlyZoomed")&&this.content.width<=this.viewport.width&&this.content.height<=this.viewport.height&&this.transform.scale<=this.option("baseScale")?this.$container.classList.remove(t):this.$container.classList.add(t))}},{key:"detachEvents",value:function(){this.$content.removeEventListener("load",this.onLoad),this.$container.removeEventListener("wheel",this.onWheel,{passive:!1}),this.$container.removeEventListener("click",this.onClick,{passive:!1}),this.pointerTracker&&(this.pointerTracker.stop(),this.pointerTracker=null),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},{key:"destroy",value:function(){"destroy"!==this.state&&(this.state="destroy",clearTimeout(this.updateTimer),this.updateTimer=null,cancelAnimationFrame(this.rAF),this.rAF=null,this.detachEvents(),this.detachPlugins(),this.resetDragPosition())}}]),n}(O);M.version="4.0.31",M.Plugins={};var I=function(t,e){var i=0;return function(){var n=(new Date).getTime();if(!(n-i1&&this.carousel.elemDimWidth=t-1&&this.$next.setAttribute("disabled","")))}},{key:"cleanup",value:function(){this.$prev&&this.$prev.remove(),this.$prev=null,this.$next&&this.$next.remove(),this.$next=null,this.$container&&this.$container.remove(),this.$container=null}},{key:"attach",value:function(){this.carousel.on("refresh change",this.onRefresh)}},{key:"detach",value:function(){this.carousel.off("refresh change",this.onRefresh),this.cleanup()}}]),t}();R.defaults={prevTpl:'',nextTpl:'',classNames:{main:"carousel__nav",button:"carousel__button",next:"is-next",prev:"is-prev"}};var F=function(){function t(e){o(this,t),this.carousel=e,this.$list=null,this.events={change:this.onChange.bind(this),refresh:this.onRefresh.bind(this)}}return s(t,[{key:"buildList",value:function(){var t=this;if(!(this.carousel.pages.lengthn)for(var a=n;a1&&void 0!==arguments[1]?arguments[1]:{};if(o(this,n),a=k(!0,{},B,a),(i=e.call(this,a)).state="init",i.$container=t,!(i.$container instanceof HTMLElement))throw new Error("No root element provided");return i.slideNext=I(i.slideNext.bind(d(i)),250),i.slidePrev=I(i.slidePrev.bind(d(i)),250),i.init(),t.__Carousel=d(i),i}return s(n,[{key:"init",value:function(){this.pages=[],this.page=this.pageIndex=null,this.prevPage=this.prevPageIndex=null,this.attachPlugins(n.Plugins),this.trigger("init"),this.initLayout(),this.initSlides(),this.updateMetrics(),this.$track&&this.pages.length&&(this.$track.style.transform="translate3d(".concat(-1*this.pages[this.page].left,"px, 0px, 0) scale(1)")),this.manageSlideVisiblity(),this.initPanzoom(),this.state="ready",this.trigger("ready")}},{key:"initLayout",value:function(){var t,e,i,n,o=this.option("prefix"),a=this.option("classNames");(this.$viewport=this.option("viewport")||this.$container.querySelector(".".concat(o).concat(a.viewport)),this.$viewport)||(this.$viewport=document.createElement("div"),(t=this.$viewport.classList).add.apply(t,m((o+a.viewport).split(" "))),(e=this.$viewport).append.apply(e,m(this.$container.childNodes)),this.$container.appendChild(this.$viewport));(this.$track=this.option("track")||this.$container.querySelector(".".concat(o).concat(a.track)),this.$track)||(this.$track=document.createElement("div"),(i=this.$track.classList).add.apply(i,m((o+a.track).split(" "))),(n=this.$track).append.apply(n,m(this.$viewport.childNodes)),this.$viewport.appendChild(this.$track))}},{key:"initSlides",value:function(){var t=this;this.slides=[],this.$viewport.querySelectorAll(".".concat(this.option("prefix")).concat(this.option("classNames.slide"))).forEach((function(e){var i={$el:e,isDom:!0};t.slides.push(i),t.trigger("createSlide",i,t.slides.length)})),Array.isArray(this.options.slides)&&(this.slides=k(!0,m(this.slides),this.options.slides))}},{key:"updateMetrics",value:function(){var t,e=this,n=0,o=[];this.slides.forEach((function(i,a){var s=i.$el,r=i.isDom||!t?e.getSlideMetrics(s):t;i.index=a,i.width=r,i.left=n,t=r,n+=r,o.push(a)}));var a=Math.max(this.$track.offsetWidth,S(this.$track.getBoundingClientRect().width)),s=getComputedStyle(this.$track);a-=parseFloat(s.paddingLeft)+parseFloat(s.paddingRight),this.contentWidth=n,this.viewportWidth=a;var r=[],l=this.option("slidesPerPage");if(Number.isInteger(l)&&n>a)for(var c=0;ca)&&(r.push({indexes:[],slides:[]}),h=r.length-1,d=0),d+=f.width,r[h].indexes.push(u),r[h].slides.push(f)}var v=this.option("center"),p=this.option("fill");r.forEach((function(t,i){t.index=i,t.width=t.slides.reduce((function(t,e){return t+e.width}),0),t.left=t.slides[0].left,v&&(t.left+=.5*(a-t.width)*-1),p&&!e.option("infiniteX",e.option("infinite"))&&n>a&&(t.left=Math.max(t.left,0),t.left=Math.min(t.left,n-a))}));var g,y=[];r.forEach((function(t){var e=i({},t);g&&e.left===g.left?(g.width+=e.width,g.slides=[].concat(m(g.slides),m(e.slides)),g.indexes=[].concat(m(g.indexes),m(e.indexes))):(e.index=y.length,g=e,y.push(e))})),this.pages=y;var b=this.page;if(null===b){var x=this.option("initialSlide");b=null!==x?this.findPageForSlide(x):parseInt(this.option("initialPage",0),10)||0,y[b]||(b=y.length&&b>y.length?y[y.length-1].index:0),this.page=b,this.pageIndex=b}this.updatePanzoom(),this.trigger("refresh")}},{key:"getSlideMetrics",value:function(t){if(!t){var e,i,n=this.slides[0];if((t=document.createElement("div")).dataset.isTestEl=1,t.style.visibility="hidden",(e=t.classList).add.apply(e,m((this.option("prefix")+this.option("classNames.slide")).split(" "))),n.customClass)(i=t.classList).add.apply(i,m(n.customClass.split(" ")));this.$track.prepend(t)}var o=Math.max(t.offsetWidth,S(t.getBoundingClientRect().width)),a=t.currentStyle||window.getComputedStyle(t);return o=o+(parseFloat(a.marginLeft)||0)+(parseFloat(a.marginRight)||0),t.dataset.isTestEl&&t.remove(),o}},{key:"findPageForSlide",value:function(t){t=parseInt(t,10)||0;var e=this.pages.find((function(e){return e.indexes.indexOf(t)>-1}));return e?e.index:null}},{key:"slideNext",value:function(){this.slideTo(this.pageIndex+1)}},{key:"slidePrev",value:function(){this.slideTo(this.pageIndex-1)}},{key:"slideTo",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=e.x,n=void 0===i?-1*this.setPage(t,!0):i,o=e.y,a=void 0===o?0:o,s=e.friction,r=void 0===s?this.option("friction"):s;this.Panzoom.content.x===n&&!this.Panzoom.velocity.x&&r||(this.Panzoom.panTo({x:n,y:a,friction:r,ignoreBounds:!0}),"ready"===this.state&&"ready"===this.Panzoom.state&&this.trigger("settle"))}},{key:"initPanzoom",value:function(){var t=this;this.Panzoom&&this.Panzoom.destroy();var e=k(!0,{},{content:this.$track,wrapInner:!1,resizeParent:!1,zoom:!1,click:!1,lockAxis:"x",x:this.pages.length?-1*this.pages[this.page].left:0,centerOnStart:!1,textSelection:function(){return t.option("textSelection",!1)},panOnlyZoomed:function(){return this.content.width<=this.viewport.width}},this.option("Panzoom"));this.Panzoom=new M(this.$container,e),this.Panzoom.on({"*":function(e){for(var i=arguments.length,n=new Array(i>1?i-1:0),o=1;o1&&this.option("infiniteX",this.option("infinite"))?this.Panzoom.boundX=null:this.pages.length&&(this.Panzoom.boundX={from:-1*this.pages[this.pages.length-1].left,to:-1*this.pages[0].left}),this.option("infiniteY",this.option("infinite"))?this.Panzoom.boundY=null:this.Panzoom.boundY={from:0,to:0},this.Panzoom.handleCursor())}},{key:"manageSlideVisiblity",value:function(){var t=this,e=this.contentWidth,i=this.viewportWidth,n=this.Panzoom?-1*this.Panzoom.content.x:this.pages.length?this.pages[this.page].left:0,o=this.option("preload"),a=this.option("infiniteX",this.option("infinite")),s=parseFloat(getComputedStyle(this.$viewport,null).getPropertyValue("padding-left")),r=parseFloat(getComputedStyle(this.$viewport,null).getPropertyValue("padding-right"));this.slides.forEach((function(l){var c,h,d=0;c=n-s,h=n+i+r,c-=o*(i+s+r),h+=o*(i+s+r);var u=l.left+l.width>c&&l.leftc&&l.leftc&&l.leftn&&l.left<=n+i+r&&(d=0)):t.removeSlideEl(l),l.hasDiff=d}));var l=0,c=0;this.slides.forEach((function(t,i){var n=0;t.$el?(i!==l||t.hasDiff?n=c+t.hasDiff*e:c=0,t.$el.style.left=Math.abs(n)>.1?"".concat(c+t.hasDiff*e,"px"):"",l++):c+=t.width})),this.markSelectedSlides()}},{key:"createSlideEl",value:function(t){var e;if(t){if(!t.$el){var i,n=document.createElement("div");if(n.dataset.index=t.index,(e=n.classList).add.apply(e,m((this.option("prefix")+this.option("classNames.slide")).split(" "))),t.customClass)(i=n.classList).add.apply(i,m(t.customClass.split(" ")));t.html&&(n.innerHTML=t.html);var o=[];this.slides.forEach((function(t,e){t.$el&&o.push(e)}));var a=t.index,s=null;if(o.length){var r=o.reduce((function(t,e){return Math.abs(e-a)-1?(e&&!a.classList.contains(e)&&(a.classList.add(e),t.trigger("selectSlide",n)),a.removeAttribute(i)):(e&&a.classList.contains(e)&&(a.classList.remove(e),t.trigger("unselectSlide",n)),a.setAttribute(i,!0))}}))}},{key:"updatePage",value:function(){this.updateMetrics(),this.slideTo(this.page,{friction:0})}},{key:"onBeforeTransform",value:function(){this.option("infiniteX",this.option("infinite"))&&this.manageInfiniteTrack(),this.manageSlideVisiblity()}},{key:"manageInfiniteTrack",value:function(){var t=this.contentWidth,e=this.viewportWidth;if(!(!this.option("infiniteX",this.option("infinite"))||this.pages.length<2||te&&(i.content.x-=t,this.pageIndex=this.pageIndex+this.pages.length,n=!0),n&&"pointerdown"===i.state&&i.resetDragPosition(),n}}},{key:"onTouchEnd",value:function(t,e){var i=this.option("dragFree");if(!i&&this.pages.length>1&&t.dragOffset.time<350&&Math.abs(t.dragOffset.y)<1&&Math.abs(t.dragOffset.x)>5)this[t.dragOffset.x<0?"slideNext":"slidePrev"]();else if(i){var n=g(this.getPageFromPosition(-1*t.transform.x),2)[1];this.setPage(n)}else this.slideToClosest()}},{key:"slideToClosest",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.getPageFromPosition(-1*this.Panzoom.content.x),i=g(e,2),n=i[1];this.slideTo(n,t)}},{key:"getPageFromPosition",value:function(t){var e=this.pages.length;this.option("center")&&(t+=.5*this.viewportWidth);var i=Math.floor(t/this.contentWidth);t-=i*this.contentWidth;var n=this.slides.find((function(e){return e.left<=t&&e.left+e.width>t}));if(n){var o=this.findPageForSlide(n.index);return[o,o+i*e]}return[0,0]}},{key:"setPage",value:function(t,e){var i=0,n=parseInt(t,10)||0,o=this.page,a=this.pageIndex,s=this.pages.length,r=this.contentWidth,l=this.viewportWidth;if(t=(n%s+s)%s,this.option("infiniteX",this.option("infinite"))&&r>l){var c=Math.floor(n/s)||0,h=r;if(i=this.pages[t].left+c*h,!0===e&&s>2){var d=-1*this.Panzoom.content.x,u=i-h,f=i+h,v=Math.abs(d-i),p=Math.abs(d-u),g=Math.abs(d-f);g.1&&(o="".concat(e.width*i,"px"),a="".concat(e.height*i,"px"),s="translate3d(".concat(e.offsetLeft,"px, ").concat(e.offsetTop,"px, 0) scale(").concat(1/i,")")),n.style.width=o,n.style.height=a,n.style.transform=s}}},{key:"onTouchstart",value:function(t){this.startY=t.touches?t.touches[0].screenY:t.screenY}},{key:"onTouchmove",value:function(t){var e=this.startY,i=window.innerWidth/window.document.documentElement.clientWidth;if(t.cancelable&&!(t.touches.length>1||1!==i)){var n=C(t.composedPath()[0]);if(n){var o=window.getComputedStyle(n),a=parseInt(o.getPropertyValue("height"),10),s=t.touches?t.touches[0].screenY:t.screenY,r=e<=s&&0===n.scrollTop,l=e>=s&&n.scrollHeight-n.scrollTop===a;(r||l)&&t.preventDefault()}else t.preventDefault()}}},{key:"onWheel",value:function(t){C(t.composedPath()[0])||t.preventDefault()}},{key:"cleanup",value:function(){this.pendingUpdate&&(cancelAnimationFrame(this.pendingUpdate),this.pendingUpdate=null);var t=this.viewport;t&&(t.removeEventListener("resize",this.onResize),this.viewport=null),window.removeEventListener("touchstart",this.onTouchstart,!1),window.removeEventListener("touchmove",this.onTouchmove,!1),window.removeEventListener("wheel",this.onWheel,{passive:!1})}},{key:"attach",value:function(){this.fancybox.on("initLayout",this.onReady)}},{key:"detach",value:function(){this.fancybox.off("initLayout",this.onReady),this.cleanup()}}]),t}(),Y=function(){function t(e){o(this,t),this.fancybox=e,this.$container=null,this.state="init";for(var i=0,n=["onPrepare","onClosing","onKeydown"];i=this.fancybox.option("Thumbs.minScreenHeight")&&this.build()}},{key:"onClosing",value:function(){this.Carousel&&this.Carousel.Panzoom.detachEvents()}},{key:"onKeydown",value:function(t,e){e===t.option("Thumbs.key")&&this.toggle()}},{key:"build",value:function(){var t=this;if(!this.$container){var e=document.createElement("div");e.classList.add("fancybox__thumbs"),this.fancybox.$carousel.parentNode.insertBefore(e,this.fancybox.$carousel.nextSibling),this.Carousel=new H(e,k(!0,{Dots:!1,Navigation:!1,Sync:{friction:0},infinite:!1,center:!0,fill:!0,dragFree:!0,slidesPerPage:1,preload:1},this.fancybox.option("Thumbs.Carousel"),{Sync:{target:this.fancybox.Carousel},slides:this.getSlides()})),this.Carousel.Panzoom.on("wheel",(function(e,i){i.preventDefault(),t.fancybox[i.deltaY<0?"prev":"next"]()})),this.$container=e,this.state="visible"}}},{key:"getSlides",value:function(){var t,e=[],i=x(this.fancybox.items);try{for(i.s();!(t=i.n()).done;){var n=t.value,o=n.thumb;o&&e.push({html:this.fancybox.option("Thumbs.tpl").replace(/\{\{src\}\}/gi,o),customClass:"has-thumb has-".concat(n.type||"image")})}}catch(t){i.e(t)}finally{i.f()}return e}},{key:"toggle",value:function(){"visible"===this.state?this.hide():"hidden"===this.state?this.show():this.build()}},{key:"show",value:function(){"hidden"===this.state&&(this.$container.style.display="",this.Carousel.Panzoom.attachEvents(),this.state="visible")}},{key:"hide",value:function(){"visible"===this.state&&(this.Carousel.Panzoom.detachEvents(),this.$container.style.display="none",this.state="hidden")}},{key:"cleanup",value:function(){this.Carousel&&(this.Carousel.destroy(),this.Carousel=null),this.$container&&(this.$container.remove(),this.$container=null),this.state="init"}},{key:"attach",value:function(){this.fancybox.on(this.events)}},{key:"detach",value:function(){this.fancybox.off(this.events),this.cleanup()}}]),t}();Y.defaults={minSlideCount:2,minScreenHeight:500,autoStart:!0,key:"t",Carousel:{},tpl:'
'};var V=function(t,e){for(var i=new URL(t),n=new URLSearchParams(i.search),o=new URLSearchParams,a=0,s=[].concat(m(n),m(Object.entries(e)));a\n Sorry, your browser doesn\'t support embedded videos.',format:""}},G=function(){function t(e){o(this,t),this.fancybox=e;for(var i=0,n=["onInit","onReady","onCreateSlide","onRemoveSlide","onSelectSlide","onUnselectSlide","onRefresh","onMessage"];i0?"svembed":"embed"),i="map"):(n=e.match(/(?:maps\.)?google\.([a-z]{2,3}(?:\.[a-z]{2})?)\/(?:maps\/search\/)(.*)/i))&&(t.src="//maps.google.".concat(n[1],"/maps?q=").concat(n[2].replace("query=","q=").replace("api=1",""),"&output=embed"),i="map");i||("#"===e.charAt(0)?i="inline":(n=e.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))?(i="html5video",t.format=t.format||"video/"+("ogv"===n[1]?"ogg":n[1])):e.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?i="image":e.match(/\.(pdf)((\?|#).*)?$/i)&&(i="pdf")),t.type=i||this.fancybox.option("defaultType","image"),"html5video"!==i&&"video"!==i||(t.video=k({},this.fancybox.option("Html.video"),t.video),t._width&&t._height?t.ratio=parseFloat(t._width)/parseFloat(t._height):t.ratio=t.ratio||t.video.ratio||Z.video.ratio)}}},{key:"onReady",value:function(){var t=this;this.fancybox.Carousel.slides.forEach((function(e){e.$el&&(t.setContent(e),e.index===t.fancybox.getSlide().index&&t.playVideo(e))}))}},{key:"onCreateSlide",value:function(t,e,i){"ready"===this.fancybox.state&&this.setContent(i)}},{key:"loadInlineContent",value:function(t){var e;if(t.src instanceof HTMLElement)e=t.src;else if("string"==typeof t.src){var i=t.src.split("#",2),n=2===i.length&&""===i[0]?i[1]:i[0];e=document.getElementById(n)}if(e){if("clone"===t.type||e.$placeHolder){var o=(e=e.cloneNode(!0)).getAttribute("id");o=o?"".concat(o,"--clone"):"clone-".concat(this.fancybox.id,"-").concat(t.index),e.setAttribute("id",o)}else{var a=document.createElement("div");a.classList.add("fancybox-placeholder"),e.parentNode.insertBefore(a,e),e.$placeHolder=a}this.fancybox.setContent(t,e)}else this.fancybox.setError(t,"{{ELEMENT_NOT_FOUND}}")}},{key:"loadAjaxContent",value:function(t){var e=this.fancybox,i=new XMLHttpRequest;e.showLoading(t),i.onreadystatechange=function(){i.readyState===XMLHttpRequest.DONE&&"ready"===e.state&&(e.hideLoading(t),200===i.status?e.setContent(t,i.responseText):e.setError(t,404===i.status?"{{AJAX_NOT_FOUND}}":"{{AJAX_FORBIDDEN}}"))};var n=t.ajax||null;i.open(n?"POST":"GET",t.src),i.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),i.setRequestHeader("X-Requested-With","XMLHttpRequest"),i.send(n),t.xhr=i}},{key:"loadIframeContent",value:function(t){var e=this,i=this.fancybox,n=document.createElement("iframe");if(n.className="fancybox__iframe",n.setAttribute("id","fancybox__iframe_".concat(i.id,"_").concat(t.index)),n.setAttribute("allow","autoplay; fullscreen"),n.setAttribute("scrolling","auto"),t.$iframe=n,"iframe"!==t.type||!1===t.preload)return n.setAttribute("src",t.src),this.fancybox.setContent(t,n),void this.resizeIframe(t);i.showLoading(t);var o=document.createElement("div");o.style.visibility="hidden",this.fancybox.setContent(t,o),o.appendChild(n),n.onerror=function(){i.setError(t,"{{IFRAME_ERROR}}")},n.onload=function(){i.hideLoading(t);var o=!1;n.isReady||(n.isReady=!0,o=!0),n.src.length&&(n.parentNode.style.visibility="",e.resizeIframe(t),o&&i.revealContent(t))},n.setAttribute("src",t.src)}},{key:"setAspectRatio",value:function(t){var e=t.$content,i=t.ratio;if(e){var n=t._width,o=t._height;if(i||n&&o){Object.assign(e.style,{width:n&&o?"100%":"",height:n&&o?"100%":"",maxWidth:"",maxHeight:""});var a=e.offsetWidth,s=e.offsetHeight;if(o=o||s,(n=n||a)>a||o>s){var r=Math.min(a/n,s/o);n*=r,o*=r}Math.abs(n/o-i)>.01&&(i.1),{top:r,left:l,scale:a&&i?i/a:1,opacity:c}}},{key:"canZoom",value:function(t){var e=this.fancybox,i=e.$container;if(window.visualViewport&&1!==window.visualViewport.scale)return!1;if(t.Panzoom&&!t.Panzoom.content.width)return!1;if(!e.option("Image.zoom")||"contain"!==e.option("Image.fit"))return!1;var n=t.$thumb;if(!n||"loading"===t.state)return!1;i.classList.add("fancybox__no-click");var o,a=n.getBoundingClientRect();if(this.fancybox.option("Image.ignoreCoveredThumbnail")){var s=document.elementFromPoint(a.left+1,a.top+1)===n,r=document.elementFromPoint(a.right-1,a.bottom-1)===n;o=s&&r}else o=document.elementFromPoint(a.left+.5*a.width,a.top+.5*a.height)===n;return i.classList.remove("fancybox__no-click"),o}},{key:"zoomIn",value:function(){var t=this.fancybox,e=t.getSlide(),i=e.Panzoom,n=this.getZoomInfo(e),o=n.top,a=n.left,s=n.scale,r=n.opacity;t.trigger("reveal",e),i.panTo({x:-1*a,y:-1*o,scale:s,friction:0,ignoreBounds:!0}),e.$content.style.visibility="",e.state="zoomIn",!0===r&&i.on("afterTransform",(function(t){"zoomIn"!==e.state&&"zoomOut"!==e.state||(t.$content.style.opacity=Math.min(1,1-(1-t.content.scale)/(1-s)))})),i.panTo({x:0,y:0,scale:1,friction:this.fancybox.option("Image.zoomFriction")})}},{key:"zoomOut",value:function(){var t=this,e=this.fancybox,i=e.getSlide(),n=i.Panzoom;if(n){i.state="zoomOut",e.state="customClosing",i.$caption&&(i.$caption.style.visibility="hidden");var o=this.fancybox.option("Image.zoomFriction"),a=function(e){var a=t.getZoomInfo(i),s=a.top,r=a.left,l=a.scale,c=a.opacity;e||c||(o*=.82),n.panTo({x:-1*r,y:-1*s,scale:l,friction:o,ignoreBounds:!0}),o*=.98};window.addEventListener("scroll",a),n.once("endAnimation",(function(){window.removeEventListener("scroll",a),e.destroy()})),a()}}},{key:"handleCursor",value:function(t){if("image"===t.type&&t.$el){var e=t.Panzoom,i=this.fancybox.option("Image.click",!1,t),n=this.fancybox.option("Image.touch"),o=t.$el.classList,a=this.fancybox.option("Image.canZoomInClass"),s=this.fancybox.option("Image.canZoomOutClass");if(o.remove(s),o.remove(a),e&&"toggleZoom"===i)e&&1===e.content.scale&&e.option("maxScale")-e.content.scale>.01?o.add(a):e.content.scale>1&&!n&&o.add(s);else"close"===i&&o.add(s)}}},{key:"onWheel",value:function(t,e){if("ready"===this.fancybox.state&&!1!==this.fancybox.trigger("Image.wheel",e))switch(this.fancybox.option("Image.wheel")){case"zoom":"done"===t.state&&t.Panzoom&&t.Panzoom.zoomWithWheel(e);break;case"close":this.fancybox.close();break;case"slide":this.fancybox[e.deltaY<0?"prev":"next"]()}}},{key:"onClick",value:function(t,e){var i=this;if("ready"===this.fancybox.state){var n=t.Panzoom;if(!n||!n.dragPosition.midPoint&&0===n.dragOffset.x&&0===n.dragOffset.y&&1===n.dragOffset.scale){if(this.fancybox.Carousel.Panzoom.lockAxis)return!1;var o=function(n){switch(n){case"toggleZoom":e.stopPropagation(),t.Panzoom&&t.Panzoom.zoomWithClick(e);break;case"close":i.fancybox.close();break;case"next":e.stopPropagation(),i.fancybox.next()}},a=this.fancybox.option("Image.click"),s=this.fancybox.option("Image.doubleClick");s?this.clickTimer?(clearTimeout(this.clickTimer),this.clickTimer=null,o(s)):this.clickTimer=setTimeout((function(){i.clickTimer=null,o(a)}),300):o(a)}}}},{key:"onPageChange",value:function(t,e){var i=t.getSlide();e.slides.forEach((function(t){t.Panzoom&&"done"===t.state&&t.index!==i.index&&t.Panzoom.panTo({x:0,y:0,scale:1,friction:.8})}))}},{key:"attach",value:function(){this.fancybox.on(this.events)}},{key:"detach",value:function(){this.fancybox.off(this.events)}}]),t}();K.defaults={canZoomInClass:"can-zoom_in",canZoomOutClass:"can-zoom_out",zoom:!0,zoomOpacity:"auto",zoomFriction:.82,ignoreCoveredThumbnail:!1,touch:!0,click:"toggleZoom",doubleClick:null,wheel:"zoom",fit:"contain",wrap:!1,Panzoom:{ratio:1}};var J=function(){function t(e){o(this,t),this.fancybox=e;for(var i=0,n=["onChange","onClosing"];i1?"-"+(o.index+1):""))}n&&(this.origHash=a!==s?a:""),s&&a!==s&&(this.timer=setTimeout((function(){try{window.history[n?"pushState":"replaceState"]({},document.title,window.location.pathname+window.location.search+s),n&&(e.hasCreatedHistory=!0)}catch(t){}}),300))}},{key:"onClosing",value:function(){if(this.timer&&clearTimeout(this.timer),!0!==this.hasSilentClose)try{return void window.history.replaceState({},document.title,window.location.pathname+window.location.search+(this.origHash||""))}catch(t){}}},{key:"attach",value:function(t){t.on(this.events)}},{key:"detach",value:function(t){t.off(this.events)}}],[{key:"startFromUrl",value:function(){var e=t.Fancybox;if(e&&!e.getInstance()&&!1!==e.defaults.Hash){var i=t.getParsedURL(),n=i.hash,o=i.slug,a=i.index;if(o){var s=document.querySelector('[data-slug="'.concat(n,'"]'));if(s&&s.dispatchEvent(new CustomEvent("click",{bubbles:!0,cancelable:!0})),!e.getInstance()){var r=document.querySelectorAll('[data-fancybox="'.concat(o,'"]'));r.length&&(null===a&&1===r.length?s=r[0]:a&&(s=r[a-1]),s&&s.dispatchEvent(new CustomEvent("click",{bubbles:!0,cancelable:!0})))}}}}},{key:"onHashChange",value:function(){var e=t.getParsedURL(),i=e.slug,n=e.index,o=t.Fancybox,a=o&&o.getInstance();if(a&&a.plugins.Hash){if(i){var s=a.Carousel;if(i===a.option("slug"))return s.slideTo(n-1);var r,l=x(s.slides);try{for(l.s();!(r=l.n()).done;){var c=r.value;if(c.slug&&c.slug===i)return s.slideTo(c.index)}}catch(t){l.e(t)}finally{l.f()}var h=a.getSlide(),d=h.$trigger&&h.$trigger.dataset;if(d&&d.fancybox===i)return s.slideTo(n-1)}a.plugins.Hash.hasSilentClose=!0,a.close()}t.startFromUrl()}},{key:"create",value:function(e){function i(){window.addEventListener("hashchange",t.onHashChange,!1),t.startFromUrl()}t.Fancybox=e,W&&window.requestAnimationFrame((function(){/complete|interactive|loaded/.test(document.readyState)?i():document.addEventListener("DOMContentLoaded",i)}))}},{key:"destroy",value:function(){window.removeEventListener("hashchange",t.onHashChange,!1)}},{key:"getParsedURL",value:function(){var t=window.location.hash.substr(1),e=t.split("-"),i=e.length>1&&/^\+?\d+$/.test(e[e.length-1])&&parseInt(e.pop(-1),10)||null;return{hash:t,slug:e.join("-"),index:i}}}]),t}(),Q={pageXOffset:0,pageYOffset:0,element:function(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement},activate:function(t){Q.pageXOffset=window.pageXOffset,Q.pageYOffset=window.pageYOffset,t.requestFullscreen?t.requestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():t.msRequestFullscreen&&t.msRequestFullscreen()},deactivate:function(){document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen()}},tt=function(){function t(e){o(this,t),this.fancybox=e,this.active=!1,this.handleVisibilityChange=this.handleVisibilityChange.bind(this)}return s(t,[{key:"isActive",value:function(){return this.active}},{key:"setTimer",value:function(){var t=this;if(this.active&&!this.timer){var e=this.fancybox.option("slideshow.delay",3e3);this.timer=setTimeout((function(){t.timer=null,t.fancybox.option("infinite")||t.fancybox.getSlide().index!==t.fancybox.Carousel.slides.length-1?t.fancybox.next():t.fancybox.jumpTo(0,{friction:0})}),e);var i=this.$progress;i||((i=document.createElement("div")).classList.add("fancybox__progress"),this.fancybox.$carousel.parentNode.insertBefore(i,this.fancybox.$carousel),this.$progress=i,i.offsetHeight),i.style.transitionDuration="".concat(e,"ms"),i.style.transform="scaleX(1)"}}},{key:"clearTimer",value:function(){clearTimeout(this.timer),this.timer=null,this.$progress&&(this.$progress.style.transitionDuration="",this.$progress.style.transform="",this.$progress.offsetHeight)}},{key:"activate",value:function(){this.active||(this.active=!0,this.fancybox.$container.classList.add("has-slideshow"),"done"===this.fancybox.getSlide().state&&this.setTimer(),document.addEventListener("visibilitychange",this.handleVisibilityChange,!1))}},{key:"handleVisibilityChange",value:function(){this.deactivate()}},{key:"deactivate",value:function(){this.active=!1,this.clearTimer(),this.fancybox.$container.classList.remove("has-slideshow"),document.removeEventListener("visibilitychange",this.handleVisibilityChange,!1)}},{key:"toggle",value:function(){this.active?this.deactivate():this.fancybox.Carousel.slides.length>1&&this.activate()}}]),t}(),et={display:["counter","zoom","slideshow","fullscreen","thumbs","close"],autoEnable:!0,items:{counter:{position:"left",type:"div",class:"fancybox__counter",html:' / ',attr:{tabindex:-1}},prev:{type:"button",class:"fancybox__button--prev",label:"PREV",html:'',attr:{"data-fancybox-prev":""}},next:{type:"button",class:"fancybox__button--next",label:"NEXT",html:'',attr:{"data-fancybox-next":""}},fullscreen:{type:"button",class:"fancybox__button--fullscreen",label:"TOGGLE_FULLSCREEN",html:'\n \n \n ',click:function(t){t.preventDefault(),Q.element()?Q.deactivate():Q.activate(this.fancybox.$container)}},slideshow:{type:"button",class:"fancybox__button--slideshow",label:"TOGGLE_SLIDESHOW",html:'\n \n \n ',click:function(t){t.preventDefault(),this.Slideshow.toggle()}},zoom:{type:"button",class:"fancybox__button--zoom",label:"TOGGLE_ZOOM",html:'',click:function(t){t.preventDefault();var e=this.fancybox.getSlide().Panzoom;e&&e.toggleZoom()}},download:{type:"link",label:"DOWNLOAD",class:"fancybox__button--download",html:'',click:function(t){t.stopPropagation()}},thumbs:{type:"button",label:"TOGGLE_THUMBS",class:"fancybox__button--thumbs",html:'',click:function(t){t.stopPropagation();var e=this.fancybox.plugins.Thumbs;e&&e.toggle()}},close:{type:"button",label:"CLOSE",class:"fancybox__button--close",html:'',attr:{"data-fancybox-close":"",tabindex:0}}}},it=function(){function t(e){var i=this;o(this,t),this.fancybox=e,this.$container=null,this.state="init";for(var n=0,a=["onInit","onPrepare","onDone","onKeydown","onClosing","onChange","onSettle","onRefresh"];nl.option("baseScale"),h=x(this.fancybox.$container.querySelectorAll(".fancybox__button--zoom"));try{for(h.s();!(r=h.n()).done;){var d=r.value;c?d.removeAttribute("disabled"):d.setAttribute("disabled","")}}catch(t){h.e(t)}finally{h.f()}var u,f=x(this.fancybox.$container.querySelectorAll("[data-fancybox-index]"));try{for(f.s();!(u=f.n()).done;){u.value.innerHTML=e.index+1}}catch(t){f.e(t)}finally{f.f()}var v,p=x(this.fancybox.$container.querySelectorAll("[data-fancybox-count]"));try{for(p.s();!(v=p.n()).done;){v.value.innerHTML=n}}catch(t){p.e(t)}finally{p.f()}if(!this.fancybox.option("infinite")){var g,m=x(this.fancybox.$container.querySelectorAll("[data-fancybox-prev]"));try{for(m.s();!(g=m.n()).done;){var y=g.value;0===i?y.setAttribute("disabled",""):y.removeAttribute("disabled")}}catch(t){m.e(t)}finally{m.f()}var b,w=x(this.fancybox.$container.querySelectorAll("[data-fancybox-next]"));try{for(w.s();!(b=w.n()).done;){var k=b.value;i===n-1?k.setAttribute("disabled",""):k.removeAttribute("disabled")}}catch(t){w.e(t)}finally{w.f()}}}},{key:"cleanup",value:function(){this.Slideshow&&this.Slideshow.isActive()&&this.Slideshow.clearTimer(),this.$container&&this.$container.remove(),this.$container=null}},{key:"attach",value:function(){this.fancybox.on(this.events)}},{key:"detach",value:function(){this.fancybox.off(this.events),this.cleanup()}}]),t}();it.defaults=et;var nt={ScrollLock:U,Thumbs:Y,Html:G,Toolbar:it,Image:K,Hash:J},ot={startIndex:0,preload:1,infinite:!0,showClass:"fancybox-zoomInUp",hideClass:"fancybox-fadeOut",animated:!0,hideScrollbar:!0,parentEl:null,mainClass:null,autoFocus:!0,trapFocus:!0,placeFocusBack:!0,click:"close",closeButton:"inside",dragToClose:!0,keyboard:{Escape:"close",Delete:"close",Backspace:"close",PageUp:"next",PageDown:"prev",ArrowUp:"next",ArrowDown:"prev",ArrowRight:"next",ArrowLeft:"prev"},template:{closeButton:'',spinner:'',main:null},l10n:{CLOSE:"Close",NEXT:"Next",PREV:"Previous",MODAL:"You can close this modal content with the ESC key",ERROR:"Something Went Wrong, Please Try Again Later",IMAGE_ERROR:"Image Not Found",ELEMENT_NOT_FOUND:"HTML Element Not Found",AJAX_NOT_FOUND:"Error Loading AJAX : Not Found",AJAX_FORBIDDEN:"Error Loading AJAX : Forbidden",IFRAME_ERROR:"Error Loading Page",TOGGLE_ZOOM:"Toggle zoom level",TOGGLE_THUMBS:"Toggle thumbnails",TOGGLE_SLIDESHOW:"Toggle slideshow",TOGGLE_FULLSCREEN:"Toggle full-screen mode",DOWNLOAD:"Download"}},at=new Map,st=0,rt=function(t){l(i,t);var e=f(i);function i(t){var n,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return o(this,i),t=t.map((function(t){return t.width&&(t._width=t.width),t.height&&(t._height=t.height),t})),(n=e.call(this,k(!0,{},ot,a))).bindHandlers(),n.state="init",n.setItems(t),n.attachPlugins(i.Plugins),n.trigger("init"),!0===n.option("hideScrollbar")&&n.hideScrollbar(),n.initLayout(),n.initCarousel(),n.attachEvents(),at.set(n.id,d(n)),n.trigger("prepare"),n.state="ready",n.trigger("ready"),n.$container.setAttribute("aria-hidden","false"),n.option("trapFocus")&&n.focus(),n}return s(i,[{key:"option",value:function(t){for(var e,n=this.getSlide(),o=n?n[t]:void 0,a=arguments.length,s=new Array(a>1?a-1:0),r=1;r1?i-1:0),o=1;o=150||Math.abs(e)>=35&&t.dragOffset.time<350?(this.option("hideClass")&&(this.getSlide().hideClass="fancybox-throwOut".concat(t.content.y<0?"Up":"Down")),this.close()):"y"===t.lockAxis&&t.panTo({y:0})}},{key:"onTransform",value:function(t){if(this.$backdrop){var e=Math.abs(t.content.y),i=e<1?"":Math.max(.33,Math.min(1,1-e/t.content.fitHeight*1.5));this.$container.style.setProperty("--fancybox-ts",i?"0s":""),this.$container.style.setProperty("--fancybox-opacity",i)}}},{key:"onMousedown",value:function(){"ready"===this.state&&document.body.classList.add("is-using-mouse")}},{key:"onKeydown",value:function(t){if(this.isTopmost()){document.body.classList.remove("is-using-mouse");var e=t.key,i=this.option("keyboard");if(i&&!t.ctrlKey&&!t.altKey&&!t.shiftKey){var n=t.composedPath()[0],o=document.activeElement&&document.activeElement.classList,a=o&&o.contains("carousel__button");if("Escape"!==e&&!a)if(t.target.isContentEditable||-1!==["BUTTON","TEXTAREA","OPTION","INPUT","SELECT","VIDEO"].indexOf(n.nodeName))return;if(!1!==this.trigger("keydown",e,t)){var s=i[e];"function"==typeof this[s]&&this[s]()}}}}},{key:"getSlide",value:function(){var t=this.Carousel;if(!t)return null;var e=null===t.page?t.option("initialPage"):t.page,i=t.pages||[];return i.length&&i[e]?i[e].slides[0]:null}},{key:"focus",value:function(t){if(!(i.ignoreFocusChange||["init","closing","customClosing","destroy"].indexOf(this.state)>-1)){var e=this.$container,n=this.getSlide(),o="done"===n.state?n.$el:null;if(!o||!o.contains(document.activeElement)){t&&t.preventDefault(),i.ignoreFocusChange=!0;for(var a,s=[],r=0,l=Array.from(e.querySelectorAll(X));r-1?this.lastFocus=t.target:this.lastFocus===e?q(s[s.length-1]):q(e):this.option("autoFocus")&&a?q(a):s.indexOf(document.activeElement)<0&&q(e),this.lastFocus=document.activeElement,i.ignoreFocusChange=!1}}}},{key:"hideScrollbar",value:function(){if(W){var t=window.innerWidth-document.documentElement.getBoundingClientRect().width,e="fancybox-style-noscroll",i=document.getElementById(e);i||t>0&&((i=document.createElement("style")).id=e,i.type="text/css",i.innerHTML=".compensate-for-scrollbar {padding-right: ".concat(t,"px;}"),document.getElementsByTagName("head")[0].appendChild(i),document.body.classList.add("compensate-for-scrollbar"))}}},{key:"revealScrollbar",value:function(){document.body.classList.remove("compensate-for-scrollbar");var t=document.getElementById("fancybox-style-noscroll");t&&t.remove()}},{key:"clearContent",value:function(t){this.Carousel.trigger("removeSlide",t),t.$content&&(t.$content.remove(),t.$content=null),t.$closeButton&&(t.$closeButton.remove(),t.$closeButton=null),t._className&&t.$el.classList.remove(t._className)}},{key:"setContent",value:function(t,e){var i,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=t.$el;if(e instanceof HTMLElement)["img","iframe","video","audio"].indexOf(e.nodeName.toLowerCase())>-1?(i=document.createElement("div")).appendChild(e):i=e;else{var a=document.createRange().createContextualFragment(e);(i=document.createElement("div")).appendChild(a)}if(t.filter&&!t.error&&(i=i.querySelector(t.filter)),i instanceof Element)return t._className="has-".concat(n.suffix||t.type||"unknown"),o.classList.add(t._className),i.classList.add("fancybox__content"),"none"!==i.style.display&&"none"!==getComputedStyle(i).getPropertyValue("display")||(i.style.display=t.display||this.option("defaultDisplay")||"flex"),t.id&&i.setAttribute("id",t.id),t.$content=i,o.prepend(i),this.manageCloseButton(t),"loading"!==t.state&&this.revealContent(t),i;this.setError(t,"{{ELEMENT_NOT_FOUND}}")}},{key:"manageCloseButton",value:function(t){var e=this,i=void 0===t.closeButton?this.option("closeButton"):t.closeButton;if(i&&("top"!==i||!this.$closeButton)){var n=document.createElement("button");n.classList.add("carousel__button","is-close"),n.setAttribute("title",this.options.l10n.CLOSE),n.innerHTML=this.option("template.closeButton"),n.addEventListener("click",(function(t){return e.close(t)})),"inside"===i?(t.$closeButton&&t.$closeButton.remove(),t.$closeButton=t.$content.appendChild(n)):this.$closeButton=this.$container.insertBefore(n,this.$container.firstChild)}}},{key:"revealContent",value:function(t){var e=this;this.trigger("reveal",t),t.$content.style.visibility="";var i=!1;t.error||"loading"===t.state||null!==this.Carousel.prevPage||t.index!==this.options.startIndex||(i=void 0===t.showClass?this.option("showClass"):t.showClass),i?(t.state="animating",this.animateCSS(t.$content,i,(function(){e.done(t)}))):this.done(t)}},{key:"animateCSS",value:function(t,e,i){if(t&&t.dispatchEvent(new CustomEvent("animationend",{bubbles:!0,cancelable:!0})),t&&e){t.addEventListener("animationend",(function n(o){o.currentTarget===this&&(t.removeEventListener("animationend",n),i&&i(),t.classList.remove(e))})),t.classList.add(e)}else"function"==typeof i&&i()}},{key:"done",value:function(t){t.state="done",this.trigger("done",t);var e=this.getSlide();e&&t.index===e.index&&this.option("autoFocus")&&this.focus()}},{key:"setError",value:function(t,e){t.error=e,this.hideLoading(t),this.clearContent(t);var i=document.createElement("div");i.classList.add("fancybox-error"),i.innerHTML=this.localize(e||"

{{ERROR}}

"),this.setContent(t,i,{suffix:"error"})}},{key:"showLoading",value:function(t){var e=this;t.state="loading",t.$el.classList.add("is-loading");var i=t.$el.querySelector(".fancybox__spinner");i||((i=document.createElement("div")).classList.add("fancybox__spinner"),i.innerHTML=this.option("template.spinner"),i.addEventListener("click",(function(){e.Carousel.Panzoom.velocity||e.close()})),t.$el.prepend(i))}},{key:"hideLoading",value:function(t){var e=t.$el&&t.$el.querySelector(".fancybox__spinner");e&&(e.remove(),t.$el.classList.remove("is-loading")),"loading"===t.state&&(this.trigger("load",t),t.state="ready")}},{key:"next",value:function(){var t=this.Carousel;t&&t.pages.length>1&&t.slideNext()}},{key:"prev",value:function(){var t=this.Carousel;t&&t.pages.length>1&&t.slidePrev()}},{key:"jumpTo",value:function(){var t;this.Carousel&&(t=this.Carousel).slideTo.apply(t,arguments)}},{key:"isClosing",value:function(){return["closing","customClosing","destroy"].includes(this.state)}},{key:"isTopmost",value:function(){return i.getInstance().id==this.id}},{key:"close",value:function(t){var e=this;if(t&&t.preventDefault(),!this.isClosing()&&!1!==this.trigger("shouldClose",t)&&(this.state="closing",this.Carousel.Panzoom.destroy(),this.detachEvents(),this.trigger("closing",t),"destroy"!==this.state)){this.$container.setAttribute("aria-hidden","true"),this.$container.classList.add("is-closing");var i=this.getSlide();if(this.Carousel.slides.forEach((function(t){t.$content&&t.index!==i.index&&e.Carousel.trigger("removeSlide",t)})),"closing"===this.state){var n=void 0===i.hideClass?this.option("hideClass"):i.hideClass;this.animateCSS(i.$content,n,(function(){e.destroy()}),!0)}}}},{key:"destroy",value:function(){if("destroy"!==this.state){this.state="destroy",this.trigger("destroy");var t=this.option("placeFocusBack")?this.option("triggerTarget",this.getSlide().$trigger):null;this.Carousel.destroy(),this.detachPlugins(),this.Carousel=null,this.options={},this.events={},this.$container.remove(),this.$container=this.$backdrop=this.$carousel=null,t&&q(t),at.delete(this.id);var e=i.getInstance();e?e.focus():(document.documentElement.classList.remove("with-fancybox"),document.body.classList.remove("is-using-mouse"),this.revealScrollbar())}}}],[{key:"show",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new i(t,e)}},{key:"fromEvent",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t.defaultPrevented&&!(t.button&&0!==t.button||t.ctrlKey||t.metaKey||t.shiftKey)){var n,o,a,s=t.composedPath()[0],r=s;if((r.matches("[data-fancybox-trigger]")||(r=r.closest("[data-fancybox-trigger]")))&&(e.triggerTarget=r,n=r&&r.dataset&&r.dataset.fancyboxTrigger),n){var l=document.querySelectorAll('[data-fancybox="'.concat(n,'"]')),c=parseInt(r.dataset.fancyboxIndex,10)||0;r=l.length?l[c]:r}Array.from(i.openers.keys()).reverse().some((function(e){a=r||s;var i=!1;try{a instanceof Element&&("string"==typeof e||e instanceof String)&&(i=a.matches(e)||(a=a.closest(e)))}catch(t){}return!!i&&(t.preventDefault(),o=e,!0)}));var h=!1;if(o){e.event=t,e.target=a,a.origTarget=s,h=i.fromOpener(o,e);var d=i.getInstance();d&&"ready"===d.state&&t.detail&&document.body.classList.add("is-using-mouse")}return h}}},{key:"fromOpener",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=function(t){for(var e=["false","0","no","null","undefined"],i=["true","1","yes"],n=Object.assign({},t.dataset),o={},a=0,s=Object.entries(n);a-1)o[l]=!1;else if(i.indexOf(o[l])>-1)o[l]=!0;else try{o[l]=JSON.parse(c)}catch(t){o[l]=c}else o[l]=c}return t instanceof Element&&(o.$trigger=t),o},o=[],a=e.startIndex||0,s=e.target||null,r=void 0!==(e=k({},e,i.openers.get(t))).groupAll&&e.groupAll,l=void 0===e.groupAttr?"data-fancybox":e.groupAttr,c=l&&s?s.getAttribute("".concat(l)):"";if(!s||c||r){var h=e.root||(s?s.getRootNode():document.body);o=[].slice.call(h.querySelectorAll(t))}if(s&&!r&&(o=c?o.filter((function(t){return t.getAttribute("".concat(l))===c})):[s]),!o.length)return!1;var d=i.getInstance();return!(d&&o.indexOf(d.options.$trigger)>-1)&&(a=s?o.indexOf(s):a,new i(o=o.map(n),k({},e,{startIndex:a,$trigger:s})))}},{key:"bind",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};function n(){document.body.addEventListener("click",i.fromEvent,!1)}W&&(i.openers.size||(/complete|interactive|loaded/.test(document.readyState)?n():document.addEventListener("DOMContentLoaded",n)),i.openers.set(t,e))}},{key:"unbind",value:function(t){i.openers.delete(t),i.openers.size||i.destroy()}},{key:"destroy",value:function(){for(var t;t=i.getInstance();)t.destroy();i.openers=new Map,document.body.removeEventListener("click",i.fromEvent,!1)}},{key:"getInstance",value:function(t){return t?at.get(t):Array.from(at.values()).reverse().find((function(t){return!t.isClosing()&&t}))||null}},{key:"close",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=arguments.length>1?arguments[1]:void 0;if(t){var n,o=x(at.values());try{for(o.s();!(n=o.n()).done;){var a=n.value;a.close(e)}}catch(t){o.e(t)}finally{o.f()}}else{var s=i.getInstance();s&&s.close(e)}}},{key:"next",value:function(){var t=i.getInstance();t&&t.next()}},{key:"prev",value:function(){var t=i.getInstance();t&&t.prev()}}]),i}(O);rt.version="4.0.31",rt.defaults=ot,rt.openers=new Map,rt.Plugins=nt,rt.bind("[data-fancybox]");for(var lt=0,ct=Object.entries(rt.Plugins||{});lt1,r={elements_selector:".lazy",container:e||t?document:null,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",data_bg_hidpi:"bg-hidpi",data_bg_multi:"bg-multi",data_bg_multi_hidpi:"bg-multi-hidpi",data_bg_set:"bg-set",data_poster:"poster",class_applied:"applied",class_loading:"loading",class_loaded:"loaded",class_error:"error",class_entered:"entered",class_exited:"exited",unobserve_completed:!0,unobserve_entered:!1,cancel_on_exit:!0,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1,restore_on_error:!1},c=function(t){return n({},r,t)},l=function(n,t){var e,i="LazyLoad::Initialized",o=new n(t);try{e=new CustomEvent(i,{detail:{instance:o}})}catch(n){(e=document.createEvent("CustomEvent")).initCustomEvent(i,!1,!1,{instance:o})}window.dispatchEvent(e)},u="src",s="srcset",d="sizes",f="poster",_="llOriginalAttrs",g="data",v="loading",b="loaded",m="applied",p="error",h="native",E="data-",I="ll-status",y=function(n,t){return n.getAttribute(E+t)},k=function(n){return y(n,I)},w=function(n,t){return function(n,t,e){var i="data-ll-status";null!==e?n.setAttribute(i,e):n.removeAttribute(i)}(n,0,t)},A=function(n){return w(n,null)},L=function(n){return null===k(n)},O=function(n){return k(n)===h},x=[v,b,m,p],C=function(n,t,e,i){n&&(void 0===i?void 0===e?n(t):n(t,e):n(t,e,i))},N=function(n,t){o?n.classList.add(t):n.className+=(n.className?" ":"")+t},M=function(n,t){o?n.classList.remove(t):n.className=n.className.replace(new RegExp("(^|\\s+)"+t+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")},z=function(n){return n.llTempImage},T=function(n,t){if(t){var e=t._observer;e&&e.unobserve(n)}},R=function(n,t){n&&(n.loadingCount+=t)},G=function(n,t){n&&(n.toLoadCount=t)},j=function(n){for(var t,e=[],i=0;t=n.children[i];i+=1)"SOURCE"===t.tagName&&e.push(t);return e},D=function(n,t){var e=n.parentNode;e&&"PICTURE"===e.tagName&&j(e).forEach(t)},H=function(n,t){j(n).forEach(t)},V=[u],F=[u,f],B=[u,s,d],J=[g],P=function(n){return!!n[_]},S=function(n){return n[_]},U=function(n){return delete n[_]},$=function(n,t){if(!P(n)){var e={};t.forEach((function(t){e[t]=n.getAttribute(t)})),n[_]=e}},q=function(n,t){if(P(n)){var e=S(n);t.forEach((function(t){!function(n,t,e){e?n.setAttribute(t,e):n.removeAttribute(t)}(n,t,e[t])}))}},K=function(n,t,e){N(n,t.class_applied),w(n,m),e&&(t.unobserve_completed&&T(n,t),C(t.callback_applied,n,e))},Q=function(n,t,e){N(n,t.class_loading),w(n,v),e&&(R(e,1),C(t.callback_loading,n,e))},W=function(n,t,e){e&&n.setAttribute(t,e)},X=function(n,t){W(n,d,y(n,t.data_sizes)),W(n,s,y(n,t.data_srcset)),W(n,u,y(n,t.data_src))},Y={IMG:function(n,t){D(n,(function(n){$(n,B),X(n,t)})),$(n,B),X(n,t)},IFRAME:function(n,t){$(n,V),W(n,u,y(n,t.data_src))},VIDEO:function(n,t){H(n,(function(n){$(n,V),W(n,u,y(n,t.data_src))})),$(n,F),W(n,f,y(n,t.data_poster)),W(n,u,y(n,t.data_src)),n.load()},OBJECT:function(n,t){$(n,J),W(n,g,y(n,t.data_src))}},Z=["IMG","IFRAME","VIDEO","OBJECT"],nn=function(n,t){!t||function(n){return n.loadingCount>0}(t)||function(n){return n.toLoadCount>0}(t)||C(n.callback_finish,t)},tn=function(n,t,e){n.addEventListener(t,e),n.llEvLisnrs[t]=e},en=function(n,t,e){n.removeEventListener(t,e)},on=function(n){return!!n.llEvLisnrs},an=function(n){if(on(n)){var t=n.llEvLisnrs;for(var e in t){var i=t[e];en(n,e,i)}delete n.llEvLisnrs}},rn=function(n,t,e){!function(n){delete n.llTempImage}(n),R(e,-1),function(n){n&&(n.toLoadCount-=1)}(e),M(n,t.class_loading),t.unobserve_completed&&T(n,e)},cn=function(n,t,e){var i=z(n)||n;on(i)||function(n,t,e){on(n)||(n.llEvLisnrs={});var i="VIDEO"===n.tagName?"loadeddata":"load";tn(n,i,t),tn(n,"error",e)}(i,(function(o){!function(n,t,e,i){var o=O(t);rn(t,e,i),N(t,e.class_loaded),w(t,b),C(e.callback_loaded,t,i),o||nn(e,i)}(0,n,t,e),an(i)}),(function(o){!function(n,t,e,i){var o=O(t);rn(t,e,i),N(t,e.class_error),w(t,p),C(e.callback_error,t,i),e.restore_on_error&&q(t,B),o||nn(e,i)}(0,n,t,e),an(i)}))},ln=function(n,t,e){!function(n){return Z.indexOf(n.tagName)>-1}(n)?function(n,t,e){!function(n){n.llTempImage=document.createElement("IMG")}(n),cn(n,t,e),function(n){P(n)||(n[_]={backgroundImage:n.style.backgroundImage})}(n),function(n,t,e){var i=y(n,t.data_bg),o=y(n,t.data_bg_hidpi),r=a&&o?o:i;r&&(n.style.backgroundImage='url("'.concat(r,'")'),z(n).setAttribute(u,r),Q(n,t,e))}(n,t,e),function(n,t,e){var i=y(n,t.data_bg_multi),o=y(n,t.data_bg_multi_hidpi),r=a&&o?o:i;r&&(n.style.backgroundImage=r,K(n,t,e))}(n,t,e),function(n,t,e){var i=y(n,t.data_bg_set);if(i){var o=i.split("|"),a=o.map((function(n){return"image-set(".concat(n,")")}));n.style.backgroundImage=a.join(),""===n.style.backgroundImage&&(a=o.map((function(n){return"-webkit-image-set(".concat(n,")")})),n.style.backgroundImage=a.join()),K(n,t,e)}}(n,t,e)}(n,t,e):function(n,t,e){cn(n,t,e),function(n,t,e){var i=Y[n.tagName];i&&(i(n,t),Q(n,t,e))}(n,t,e)}(n,t,e)},un=function(n){n.removeAttribute(u),n.removeAttribute(s),n.removeAttribute(d)},sn=function(n){D(n,(function(n){q(n,B)})),q(n,B)},dn={IMG:sn,IFRAME:function(n){q(n,V)},VIDEO:function(n){H(n,(function(n){q(n,V)})),q(n,F),n.load()},OBJECT:function(n){q(n,J)}},fn=function(n,t){(function(n){var t=dn[n.tagName];t?t(n):function(n){if(P(n)){var t=S(n);n.style.backgroundImage=t.backgroundImage}}(n)})(n),function(n,t){L(n)||O(n)||(M(n,t.class_entered),M(n,t.class_exited),M(n,t.class_applied),M(n,t.class_loading),M(n,t.class_loaded),M(n,t.class_error))}(n,t),A(n),U(n)},_n=["IMG","IFRAME","VIDEO"],gn=function(n){return n.use_native&&"loading"in HTMLImageElement.prototype},vn=function(n,t,e){n.forEach((function(n){return function(n){return n.isIntersecting||n.intersectionRatio>0}(n)?function(n,t,e,i){var o=function(n){return x.indexOf(k(n))>=0}(n);w(n,"entered"),N(n,e.class_entered),M(n,e.class_exited),function(n,t,e){t.unobserve_entered&&T(n,e)}(n,e,i),C(e.callback_enter,n,t,i),o||ln(n,e,i)}(n.target,n,t,e):function(n,t,e,i){L(n)||(N(n,e.class_exited),function(n,t,e,i){e.cancel_on_exit&&function(n){return k(n)===v}(n)&&"IMG"===n.tagName&&(an(n),function(n){D(n,(function(n){un(n)})),un(n)}(n),sn(n),M(n,e.class_loading),R(i,-1),A(n),C(e.callback_cancel,n,t,i))}(n,t,e,i),C(e.callback_exit,n,t,i))}(n.target,n,t,e)}))},bn=function(n){return Array.prototype.slice.call(n)},mn=function(n){return n.container.querySelectorAll(n.elements_selector)},pn=function(n){return function(n){return k(n)===p}(n)},hn=function(n,t){return function(n){return bn(n).filter(L)}(n||mn(t))},En=function(n,e){var o=c(n);this._settings=o,this.loadingCount=0,function(n,t){i&&!gn(n)&&(t._observer=new IntersectionObserver((function(e){vn(e,n,t)}),function(n){return{root:n.container===document?null:n.container,rootMargin:n.thresholds||n.threshold+"px"}}(n)))}(o,this),function(n,e){t&&(e._onlineHandler=function(){!function(n,t){var e;(e=mn(n),bn(e).filter(pn)).forEach((function(t){M(t,n.class_error),A(t)})),t.update()}(n,e)},window.addEventListener("online",e._onlineHandler))}(o,this),this.update(e)};return En.prototype={update:function(n){var t,o,a=this._settings,r=hn(n,a);G(this,r.length),!e&&i?gn(a)?function(n,t,e){n.forEach((function(n){-1!==_n.indexOf(n.tagName)&&function(n,t,e){n.setAttribute("loading","lazy"),cn(n,t,e),function(n,t){var e=Y[n.tagName];e&&e(n,t)}(n,t),w(n,h)}(n,t,e)})),G(e,0)}(r,a,this):(o=r,function(n){n.disconnect()}(t=this._observer),function(n,t){t.forEach((function(t){n.observe(t)}))}(t,o)):this.loadAll(r)},destroy:function(){this._observer&&this._observer.disconnect(),t&&window.removeEventListener("online",this._onlineHandler),mn(this._settings).forEach((function(n){U(n)})),delete this._observer,delete this._settings,delete this._onlineHandler,delete this.loadingCount,delete this.toLoadCount},loadAll:function(n){var t=this,e=this._settings;hn(n,e).forEach((function(n){T(n,t),ln(n,e,t)}))},restoreAll:function(){var n=this._settings;mn(n).forEach((function(t){fn(t,n)}))}},En.load=function(n,t){var e=c(t);ln(n,e)},En.resetStatus=function(n){A(n)},t&&function(n,t){if(t)if(t.length)for(var e,i=0;e=t[i];i+=1)l(n,e);else l(n,t)}(En,window.lazyLoadOptions),En})); + + +function debounce(func, wait, immediate) { + var timeout; + return function() { + var context = this, args = arguments; + var later = function() { + timeout = null; + if (!immediate) func.apply(context, args); + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); + }; +}; + +function showCartSummary(display_node) { + var $status_container = $(display_node); + $status_container.html('...'); + Hura.Cart.getSummary().then(summary => { + $status_container.html(summary.total_item); + }); +} + +function formatCurrency(a) { + var b = parseFloat(a).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1.").toString(); + var len = b.length; + b = b.substring(0, len - 3); + return b; +} + +function strToNumber(str) { + str += ''; //convert to str incase it's already a number + while(str.indexOf(".") > 0){ + str = str.replace('.',''); + } + var result = parseFloat(str); + return isNaN(result) ? 0 : result; +} + +function writeStringToPrice(str){ + str = (str+'').replace(/\./g, ""); + var first_group = str.substr(0,str.length % 3); + var remain_group = str.replace(first_group,""); + var num_group = remain_group.length/3; + var result = "", group_of_three; + + for(var i=0;i < num_group;i++){ + group_of_three = remain_group.substr(i*3,3); + result += group_of_three; + if(i !== (num_group-1)) result += "."; + } + + if(first_group.length > 0) { + return (result !== "") ? first_group + "." + result : first_group; + } + + return result; +} diff --git a/Chico/Mobile/producDetail.js b/Chico/Mobile/producDetail.js new file mode 100644 index 0000000..e626e5b --- /dev/null +++ b/Chico/Mobile/producDetail.js @@ -0,0 +1,869 @@ + + //FANCYBOX + // SWIPER GALLERY - PRODUCT + function swiperThumbnails() { + const galleryThumbs = new Swiper(".gallery-thumbs", { + spaceBetween: 8, + slidesPerView: 5, + slideToClickedSlide: true, + freeMode: true, + watchSlidesProgress: true, + centerInsufficientSlides: true, + navigation: { + nextEl: ".swiper-button-next-gallery", + prevEl: ".swiper-button-prev-gallery", + }, + }); + + const galleryTop = new Swiper(".gallery-top", { + spaceBetween: 16, + slidesPerView: 1, + thumbs: { + swiper: galleryThumbs, + }, + // AUTO SILDED AT FISRT AND END + on: { + slideChange: function () { + let activeIndex = this.activeIndex + 1; + + let activeSlide = document.querySelector( + `.gallery-thumbs .swiper-slide:nth-child(${activeIndex})` + ); + let nextSlide = document.querySelector( + `.gallery-thumbs .swiper-slide:nth-child(${activeIndex + 1})` + ); + let prevSlide = document.querySelector( + `.gallery-thumbs .swiper-slide:nth-child(${activeIndex - 1})` + ); + + if ( + nextSlide && + !nextSlide.classList.contains("swiper-slide-visible") + ) { + this.thumbs.swiper.slideNext(); + } else if ( + prevSlide && + !prevSlide.classList.contains("swiper-slide-visible") + ) { + this.thumbs.swiper.slidePrev(); + } + }, + }, + }); + } + swiperThumbnails() + + + function fancyBox() { + Fancybox.bind('[data-fancybox="gallery"]', { + Toolbar: { + display: [ + { + id: "counter", + position: "center", + }, + "zoom", + "slideshow", + "fullscreen", + "thumbs", + "close", + ], + }, + //click: "unset", + on: { + initLayout: (fancybox) => { + // Create left column + const $leftCol = document.createElement("div"); + $leftCol.classList.add("fancybox__leftCol"); + + while (fancybox.$container.firstChild) { + $leftCol.appendChild(fancybox.$container.firstChild); + } + + // Add elements to DOM + fancybox.$container.appendChild(fancybox.$backdrop); + fancybox.$container.appendChild($leftCol); + fancybox.$leftCol = $leftCol; + }, + "Carousel.ready Carousel.change": (fancybox, carousel, slideIndex) => { + // Get index of the current gallery item + slideIndex = + slideIndex === undefined + ? carousel.options.initialPage + : slideIndex; + + // console.log(slideIndex); + // Get link related to current item + const $trigger = fancybox.items[slideIndex].$trigger; + + // Get data from `data-info` attribute + const data = $trigger.dataset.info || ""; + }, + }, + }); + } + fancyBox(); + + + + + function callForMe(){ + var error = ""; + var number_regex1 = /^[0]\d{9}$/i; + var number_regex2 = /^[0]\d{10}$/i; + var glPro = "{{ page.product_info.productName}}"; + var check_name = 'Khách hàng yêu cầu gọi lại'; + var check_email = ''; + var check_tel = document.getElementById('phone-now').value; + var check_message = "Khách hàng yêu cầu gọi lại sản phẩm: " + glPro; + if(check_tel.length < 8) error += "- Bạn chưa nhập số điện thoại\n"; + else{ + if(number_regex1.test(check_tel) == false && number_regex2.test(check_tel) == false) error += "- Số điện thoại chưa chính xác\n"; + } + + if (error == "") { + var params = { + action : "customer", + action_type: "contact", + type: "contact", + info: { + name: check_name, + email: check_email, + tel: check_tel, + title : 'Khách hàng yêu cầu gọi lại sản phẩm: ' + glPro, + message: check_message, + }, + }; + Hura.Ajax.post("customer", params).then(function (data) { + alert( + "Bạn đã gửi liên hệ thành công\nChúng tôi đã nhận được thông tin và sẽ liên hệ với quý khách trong thời gian sớm nhất" + ); + location.reload(); + }); + } else alert(error); + return false; + } + + + + + $("#js-showmore").click(function(){ + $("#js-summary").toggleClass("active"); + var text = $(this).find("span").html(); + + if (text == 'Xem thêm') { + $(this).find("span").text("Thu gọn"); + } else if (text == 'Thu gọn') { + $(this).find("span").text("Xem thêm"); + } + }) + + + + + + function _showProductDescription() { + let height_container = $("#js-product-desc").height(); + + $("#js-desc-showmore").css("display","block"); + + $("#js-desc-showmore").click(function(){ + $("#js-product-desc").addClass("active"); + $("#js-desc-showless").css("display","block"); + $(this).hide(); + }); + $("#js-desc-showless").click(function(){ + $("#js-product-desc").removeClass("active"); + $("#js-desc-showmore").css("display","block"); + $(this).hide(); + $('html, body').animate({ + scrollTop: $("#js-product-desc").offset().top - 140 + },800); + }); + } + _showProductDescription(); + + + + // ADD PRODUCT TO CART - PRODUCT DETAILS + function addProductToCart(product_id, variant_id_fake, props) { + const props_quantity = parseInt($(".js-buy-quantity-temp").attr("value")); + const stockQuantity = parseInt($(".bk-check-out-of-stock").attr("value")); + //console.log(props_quantity); + + var variant_id = 0; + var data = $('.js-variant-option-container input[type="hidden"]').val(); + if (data) { + var newData = JSON.parse(data) + variant_id = newData.variant_id; + } + + if (stockQuantity) { + var product_props = { + quantity: props_quantity, + buyer_note: "", + }; + + Hura.Cart.Product.add(product_id, variant_id, product_props).then(function ( + response + ) { + // Error response + if (response.status === "error") { + if (response.error_type == "item-in-cart") { + alert("Sản phẩm đã trong giỏ hàng"); + } else if (response.error_type == "invalid-item-id") + alert("ID sản phẩm không đúng"); + else alert(response.message); + } + // Success response + else { + modalSuccess(); + change_cart_amount(); + } + }); + } else { + alert("Sản phẩm không có sẵn. Vui lòng liên hệ. Xin cảm ơn!") + } + } + + // BUY NOW + function buyNow(product_id, variant_id_fake, props) { + addProductToCart(product_id, variant_id_fake, props); + const stockQuantityCheck = parseInt($(".bk-check-out-of-stock").attr("value")); + if (stockQuantityCheck) { + setTimeout(function () { + window.location.href = "./cart"; + }, 1500); + } + } + + + // BUY NOW + function buyPayInstall(product_id, variant_id_fake, props) { + addProductToCart(product_id, variant_id_fake, props); + const stockQuantityCheck = parseInt($(".bk-check-out-of-stock").attr("value")); + if (stockQuantityCheck) { + setTimeout(function () { + window.location.href = "./cart?show=tragop"; + }, 1500); + } + } + + // LANG NGHE THAY DOI SO LUONG SP + function listenQuantityBuy() { + const $track_change = $(".js-quantity-change"); + + //thay doi so luong sp mua, neu nhap so luong + $track_change.on("change", function (e) { + $(".js-buy-quantity-temp").attr("value", e.target.value); + }); + + //thay doi so luong sp theo - hoac + + $track_change.on("click", function (e) { + if (e.target.nodeName === "INPUT") return; + + let quantity_change = parseInt(this.getAttribute("data-value")); + let $row = $(this).closest(".cart-quantity-select"); + let current_quantity = parseInt($row.find(".js-buy-quantity").val()); + + //loai bo so luong vo ly + if (current_quantity < 0) { + $row.find(".js-buy-quantity").val(0); + return; + } + + let totalQuantity = current_quantity + quantity_change; + + $row.find(".js-buy-quantity").val(totalQuantity); + $(".js-buy-quantity-temp").attr("value", totalQuantity); + }); + } + listenQuantityBuy(); + + + + + + function renReplyReview(new_replies){ + var html = ''; + + new_replies.forEach(function(value,item){ + var check_user = ` + `+value.user_name+` + + `+value.user_name+``; + if (value.is_user_admin == 1) { + check_user = ` + `+value.user_name+` + QTV` + } + + if(value.is_user_admin == 1 || value.approved == 1){ + html += ` +
+
+
+ `+check_user+` +
+ +
`+value.content+`
+
+
+ `; + } + }) + + return html; + } + + + // COMMENT KHÁCH HÀNG + +const is_admin_login = "no"; +const customer_info = 0; + +$(document).ready(function () { + + getRatingComment(); + + $(".comment-form textarea").focus(function(){ + $(this).parent().find(".form-input").show(); + }); + + layComment({{ page.product_info.productId }}, "product", "", "", "new"); + $("#js-show-comment").click(function(){ + $("#js-box-review").fadeIn(); + $("#js-show-comment").addClass("hide"); + $("#js-hide-comment").removeClass("hide"); + }); + + $("#js-hide-comment").click(function(){ + $("#js-box-review").fadeOut(); + $("#js-hide-comment").addClass("hide"); + $("#js-show-comment").removeClass("hide"); + }); + + $("#comment_keyword").keydown(function(e){ + if(e.keyCode==13){ + var search_field = $(".search-comment select").val(); + var keyword = $("#comment_keyword").val(); + //console.log(search_field +"---"+keyword); + } + }); + + $(".comment-action-list .sort a").click(function(){ + $(".comment-action-list .sort a").removeClass("current"); + $(this).addClass("current"); + }); + +}); + + + +function checkReply(is_admin_login, customer_info, replyTo) { + var formReply = ""; + if (is_admin_login == "yes") { + formReply =` +
+

Bạn đang đăng nhập là Admin

+ + + + Gửi bình luận +
+ `; + } else if (is_admin_login == "no" && customer_info.length > 0) { + formReply = + ` + + `; + } else + formReply = + ` +
+ + +
`; + + return formReply; +} + +function checkReplyReview(is_admin_login, customer_info , replyTo) { + var formReply = ''; + if( is_admin_login == 'yes') { + formReply = ` +

Bạn đang đăng nhập là Admin

+ + + + `; + } else if ( is_admin_login == 'no' && customer_info.length > 0 ) { + formReply = ` + + + + `; + } else + formReply = ` +
+
+ + + +
+
`; + + return formReply ; +} + +function layComment(productId, item_type, searchText, searchField, sort) { + var params = { + action_type: "get", + item_type: "product", + item_id: productId, + search: searchText, + search_field: searchField, + order_by: "new", + }; + + Hura.Ajax.get("comment", params).then(function (data) { + //console.log("comment - ", data); + var html = Hura.Template.parse(commentTpl, data); + Hura.Template.render("#comment-list", html); + + $(".js-avatar-user").each(function () { + var name = $(this).html().substring(0, 1); + $(this).html(name); + }); + }); +} + +function getReply(commentId) { + var replyParams = { + action_type: "get-reply", + item_id: commentId, + }; + + var target = "#reply_list_" + commentId; + Hura.Ajax.get("comment", replyParams).then(function (data) { + // console.log("getReply - ", data); + var html = Hura.Template.parse(replyTpl, data); + Hura.Template.render(target, html); + $(".js-avatar-user").each(function () { + var name = $(this).html().substring(0, 1); + $(this).html(name); + }); + }); +} + +function send_vote(){ + var error = ""; + var idUpload = $('#js-file-upload-id').val(); + + if($("#rating-content").val() == '') error+="Bạn chưa nhập nội dung đánh giá\n"; + if($("#rating-name").val() == '') error+="Bạn chưa nhập tên\n"; + if($("#rating-email").val() == '') error+="Bạn chưa nhập email\n"; + if($("#rating-tel").val() == '') error+="Bạn chưa nhập số điện thoại\n"; + + if(error!=''){ + alert(error); + return false; + } + + var reviewParams = { + action_type: "review", + info : { + item_type : 'product', + item_title : `{{ page.product_info.productName }}`, + user_name : $("#rating-name").val(), + user_email : $("#rating-email").val(), + user_tel : $("#rating-tel").val(), + user_avatar : '', + user_note : '', + rate : $("#select-rate-pro input:checked").val(), + title : `Đánh giá sản phẩm {{ page.product_info.productName }}`, + content : $("#rating-content").val(), + files : idUpload + } + } + + Hura.Ajax.post('customer', reviewParams).then(function (data) { + //console.log("data",data); + alert('Bạn đã gửi thành công!'); location.reload(); + }) +} + +function getRatingComment() { + var params = { + action_type: "list", + search : '', + search_field :'', + order_by :'new', + numPerPage :20, + item_type : 'product' + }; + + + Hura.Ajax.get("review", params).then(function (data) { + //console.log(data); + var html = Hura.Template.parse(rating_tpl, data); + Hura.Template.render("#js-review-holder", html); + }) +} + +function postComment(id, reply) { + if (check_field(id) == false) return false; + + + if (reply == "") { + var item_type = $(".form-post [name='user_post[item_type]']").val(); + var item_id = $(".form-post [name='user_post[item_id]']").val(); + var item_title = $(".form-post [name='user_post[item_title]']").val(); + var title = $(".form-post [name='user_post[title]']").val(); + var avatar = $(".form-post [name='user_post[user_avatar]']").val(); + var user_name = $("#name" + id).val(); + var user_email = $("#email" + id).val(); + var content = $("#content" + id).val(); + var rate = $("#rating-review0 input:checked").val(); + var idUpload = $('#js-file-upload-id').val(); + + var params = { + action_type: "comment", + type :"ajax", + info: { + item_type : 'product', + item_id : '{{ page.product_info.productId }}', + item_title : `{{ page.product_info.productName }}`, + reply_to : reply_to, + user_email : user_email, + user_name : user_name, + user_avatar : '', + user_note : '', + rate : 5, + title : `{{ page.product_info.productName }}`, + content : content, + files : '' + }, + }; + + // console.log(params); + + Hura.Ajax.post("customer", params).then(function (data) { + alert("Bạn đã gửi thành công"); + location.reload(); + }); + } else { + var reply_to = id; + var item_type = $(".form-reply" + id + "[name='user_post[item_type]']").val(); + var item_id = $(".form-reply" + id + "[name='user_post[item_id]']").val(); + var item_title = $(".form-reply" + id + "[name='user_post[item_title]']").val(); + var title = $(".form-reply" + id + "[name='user_post[title]']").val(); + var avatar = $(".form-reply" + id + "[name='user_post[user_avatar]']").val(); + var user_name = $("#name" + id).val(); + var user_email = $("#email" + id).val(); + var content = $("#content" + id).val(); + + var params = { + action_type: "comment-reply", + info: { + item_type: item_type, + item_id: item_id, + item_title: item_title, + reply_to: reply_to, + user_email: user_email, + user_name: user_name, + user_avatar: "", + user_note: "", + rate: 5, + title: title, + content: content, + files: "", + }, + }; + + Hura.Ajax.post("customer", params).then(function (data) { + alert("Bạn đã gửi thành công"); + location.reload(); + }); + } +} + + function closeCommentBox() { + $('#newCommentBox').fadeOut(); + + } + + function showCommentBox(id) { + + var error = ""; + var content = document.getElementById("content"+id).value; + if(content=='') error+= "Bạn chưa nhập nội dung\n"; + if(error==''){ + $('#newCommentBox').fadeIn(); + } + else { + alert(error); + return false; + } + } + +function check_field(id) { + var error = ""; + var name = document.getElementById("name"+id).value; + var email = document.getElementById("email"+id).value; + + if(name=='') error+= "Bạn chưa nhập tên\n"; + if(email=='') error+= "Bạn chưa nhập email\n"; + + + if(error==''){ + return true; + } + else { + alert(error); + return false; + } +}; + +function check_field_review(id) { + var error = ""; + var name = document.getElementById("review-name"+id).value; + var email = document.getElementById("review-email"+id).value; + var content = document.getElementById("review-content"+id).value; + + if(name=='') error+= "Bạn chưa nhập tên\n"; + if(email=='') error+= "Bạn chưa nhập email\n"; + if(content=='') error+= "Bạn chưa nhập nội dung\n"; + + if(error==''){ + return true; + } + else { + alert(error); + return false; + } +}; + +function postReview(id,reply) { + if(check_field_review(id)==false) return false; + var reply_to = id; + var user_name = $("#review-name"+id).val(); + var user_email = $("#review-email"+id).val(); + var content = $("#review-content"+id).val(); + + var params = { + action_type: "review-reply", + type :"ajax", + info : { + item_type : 'product', + item_id : '{{ page.product_info.productId }}', + item_title : `{{ page.product_info.productName }}`, + reply_to : reply_to, + user_email : user_email, + user_name : user_name, + user_avatar : '', + user_note : '', + rate : 5, + title : `{{ page.product_info.productName }}`, + content : content, + files : '' + } + } + + Hura.Ajax.post('customer', params).then(function (data) { + alert("Bạn đã gửi thành công"); + location.reload(); + }) +}; + +function formatDate(a) { + var a = new Date(parseInt(a) * 1000); + + var year = a.getFullYear(); + var month = a.getMonth() + 1; + var date = a.getDate(); + var hour = a.getHours(); + var min = a.getMinutes(); + var sec = a.getSeconds(); + // var time = date + '/' + month + '/' + year + ' ' + hour + ':' + min + ':' + sec ; + var time = date + "/" + month + "/" + year; + return time; +} + +function closeFormCommentInput() { + $(".form-input").hide(); +} + +function showFormReply(a) { + $("#" + a).show(); +} + + function showReplyForm(id){ + var element = $("#reply-comment-"+id); + $("#reply-comment-"+id).toggle(); + } + + function closeCommentFormInput(a){ + $(a).hide(); + } + + + + + + + + // POST PRODUCT HISTORY + var ITEM_TYPE = 'product'; + var ITEM_ID = '{{ page.product_info.productId }}'; + var ITEM_NAME = `{{ page.product_info.productName }}`; + var VARIANT_SELECTED = {}; + + + + // GET PRODUCT RELATIVE + function getRelativeProduct() { + var categoryID = parseInt($('.section-details').attr('data-item_category-id')); + var params = { + action_type: "product-list", + category: categoryID, + }; + + var target = "#js-bottom-product-box"; + + Hura.Ajax.get("product", params).then(function (data) { + //console.log(data.list) + var currentProductID = parseInt($('.section-details').attr('data-item_id')); + var newDataList = data.list.filter(item => item.id !== currentProductID); + + if (data.list.length > 0) { + var html = Hura.Template.parse(productTpl, newDataList); + Hura.Template.render(target, html); + } else { + $("#js-bottom-product-box").html(`

Sản phẩm đang cập nhập

`) + } + + resetBottomBoxDetails(); + }); + } + getRelativeProduct(); + + // GET PRODUCT HISTORY + function getProductHistory() { + Hura.Ajax.post('user', { action_type: 'product-view-history' }).then(function (data) { + + var target = '#js-bottom-product-history'; + + var html = Hura.Template.parse(productTpl, data.list); + Hura.Template.render(target, html); + + resetBottomBoxDetails(); + }) + } + + + function resetBottomBoxDetails() { + $(".swiper-wrapper").css("display", "none"); + + setTimeout(function () { + $(".swiper-wrapper").css("display", "flex"); + }, 100) + } + + resetBottomBoxDetails(); + // SWIPER BOTTOM PRODUCT BOX + function productBottomBoxSwiper() { + new Swiper(".bottom-product-box-swiper", { + slidesPerView: 2, + spaceBetween: 10, + rewind: true, + + }); + } + + productBottomBoxSwiper(); + + + + // CẤU HÌNH : KÍCH THƯỚC, DUNG LƯỢNG, MÀU SẮC + + function _setVariantColor() { + $('#js-variant-holder .js-variant-option-value').each(function () { + var variant_key = $(this).attr('data-key'); + if (variant_key === 'mau-sac') { + $(this).addClass('js-variant-color'); + } + }); + + $('.js-variant-color').each(function () { + var data_color = $(this).attr('data-value').substring(0, 7); + $(this).css('background', data_color) + }); + } + + _setVariantColor(); + function _changePriceVariant() { + $('.js-variant-option-value').click(function () { + setTimeout(function () { + + var data = JSON.parse($('#js-variant-holder input[type="hidden"]').val()); + var price = parseInt(data.current_price); + var marketPrice = parseInt($('.bk-product-marketPrice').attr("value")); + var variantStock = data.current_stock; + var variantValue = data.label; + + //console.log(data, price, marketPrice, variantValue) + + $('.js-variant-label').attr("data-label", variantValue); + getVariantLabel(); + + var variantName = $('.js-variant-label').html(); + $('.bk-check-out-of-stock').attr("value", variantStock); + + if (variantStock > 0) { + $('.js-variant-price').html(formatCurrency(price) + ' đ'); + $('.bk-product-price').html(price); + } else { + $('.js-variant-price').html("Hết hàng"); + } + + $('.bk-product-property').val(variantName) + $('.js-variant-name').html(' - (' + variantName + ')'); + + if (marketPrice > price && price > 0) { + var price_off = 100 - price / marketPrice * 100; + $('.js-price-off').html('(-' + formatCurrency(price_off) + '%)'); + $('.js-variant-marketPrice').show(); + } else { + $('.js-variant-marketPrice').hide(); + $('.js-price-off').hide(); + } + + // change image + let variant_image = data.image; + //console.log(variant_image); + if (variant_image != '') { + $('.gallery-thumbs .swiper-slide').each(function (index) { + var slideThumbsSrc = $(this).children().attr("src"); + if (variant_image === slideThumbsSrc) { + //console.log(index); + galleryTop.slideTo(index, 500, true); + } + }); + } + }, 100); + }); + //$('.js-variant-option-value:first-child').click(); + } + _changePriceVariant(); \ No newline at end of file diff --git a/Chico/Mobile/styles.css b/Chico/Mobile/styles.css new file mode 100644 index 0000000..e014f74 --- /dev/null +++ b/Chico/Mobile/styles.css @@ -0,0 +1,4233 @@ +*, +::after, +::before { + margin: 0; + padding: 0; + -webkit-box-sizing: inherit; + box-sizing: inherit; +} + +.red{color:#DA251C;} + +html { + font-size: 14px; + scroll-behavior: smooth; +} + +.text-center { + width: 100%; + text-align: center !important; +} + +body { + -webkit-box-sizing: border-box; + box-sizing: border-box; + font-family: Inter, sans-serif; + line-height: 1.2; + font-weight: 400; + color: #000; + background-color: #f7f7f7; +} + +a { + color: inherit; + font-size: inherit; + text-decoration: none; +} + +li{ + list-style: none; +} + +.gap-12{ + gap: 12px; +} + +.container{ + padding:0 10px +} + +img { + display: block; + max-width: 100%; +} + +.list-style-none { + list-style: none; +} + +.list-style-cricle { + list-style: circle; +} + +input::-webkit-input-placeholder, +textarea::-webkit-input-placeholder { + font-family: Inter, sans-serif; +} + +input::-moz-placeholder, +textarea::-moz-placeholder { + font-family: Inter, sans-serif; +} + +input:-ms-input-placeholder, +textarea:-ms-input-placeholder { + font-family: Inter, sans-serif; +} + +input::-ms-input-placeholder, +textarea::-ms-input-placeholder { + font-family: Inter, sans-serif; +} + +input, +input::placeholder, +select, +textarea, +textarea::placeholder { + font-family: Inter, sans-serif; +} + +.font-weight-700 { + font-weight: 700; +} + +.font-weight-600 { + font-weight: 600; +} + +.font-weight-500 { + font-weight: 500; +} + +.font-weight-light { + font-weight: 300; +} + +.line-clamp { + -webkit-line-clamp: 1; + -webkit-box-orient: vertical; + overflow: hidden; + display: -webkit-box; +} + +.line-clamp-2 { + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + display: -webkit-box; +} + +.line-clamp-3 { + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + overflow: hidden; + display: -webkit-box; +} + +.line-clamp-4 { + -webkit-line-clamp: 4; + -webkit-box-orient: vertical; + overflow: hidden; + display: -webkit-box; +} + +.line-clamp-6 { + -webkit-line-clamp: 6; + -webkit-box-orient: vertical; + overflow: hidden; + display: -webkit-box; +} + +.boder-radius-15 { + border-radius: 15px; +} + +.text-20 { + font-size: 20px; +} + +.text-12 { + font-size: 12px; +} + +/*FIXED HEADER*/ +.fixed-nav { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 5; + background: #fff; + -webkit-box-shadow: 0 1px 6px rgb(0 0 0 / 30%); + box-shadow: 0 1px 6px rgb(0 0 0 / 30%); + z-index: 10; +} + +.fixed-nav .header-logo{display:none;} + +.fixed-nav .header-search-group { + padding: 0; + position: absolute; + top: 7px; + left: 55px; + width: calc(100% - 111px); + margin-bottom: 10px; + display: block; + +} + +/* GRID */ +.grid { + display: -ms-grid; + display: grid; + gap: 10px; +} + +.grid--6-cols { + -ms-grid-columns: (1fr) [6]; + grid-template-columns: repeat(6, 1fr); +} + +.grid--5-cols { + -ms-grid-columns: (1fr) [5]; + grid-template-columns: repeat(5, 1fr); +} + +.grid--4-cols { + -ms-grid-columns: (1fr) [4]; + grid-template-columns: repeat(4, 1fr); +} + +.grid--2-cols { + -ms-grid-columns: (1fr) [2]; + grid-template-columns: repeat(2, 1fr); +} + +.grid--3-cols { + -ms-grid-columns: (1fr) [3]; + grid-template-columns: repeat(3, 1fr); +} +.grid--product-info { + -ms-grid-columns: 2fr 1fr; + grid-template-columns: 2fr 1fr; +} +.grid--product-details { + -ms-grid-columns: 3fr 1fr; + grid-template-columns: 3fr 1fr; +} +.grid--product-details-inside { + -ms-grid-columns: 5.13fr 6.48fr; + grid-template-columns: 7fr 5.76fr; +} + +.align-items-start { + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; +} + + +/* FLEX */ +.d-flex { + display: -webkit-box; + display: -ms-flexbox; + display: flex; +} + +.align-items-center { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} + +.justify-content-center { + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} + +.justify-content-between { + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.justify-content-around{ + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-around; +} + +.flex-around { + justify-content: space-around; +} + +.flex-column { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +.flex-row { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; +} + +.flex-wrap { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-wrap: row; + flex-wrap: wrap; +} + +/* RESET BLOG CONTENT CSS */ +.info-description-content p, +.info-description-content a, +.info-description-content span, +.info-description-content h1, +.info-description-content h2, +.info-description-content h3, +.info-description-content h4, +.info-description-content h5, +.info-description-content h6, +.info-description-content ol, +.info-description-content ul, +.info-description-content li { + margin: revert; + padding: revert; +} + +/* UTILITIES */ +.mb-15px { + margin-bottom: 15px !important; +} + +.min-width-0 { + min-width: 0; +} + +.d-block { + display: block !important; +} + +.d-none, .hide { + display: none !important; +} + +.gap-4 { + gap: 4px; +} + +.gap-8 { + gap: 8px; +} + +.gap-10 { + gap: 10px; +} + +.gap-16 { + gap: 16px; +} + +body.active::before { + content: ''; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0,0,0,0.2); + z-index: 2; +} + +/*Success Form */ +.success-form-svg { + display: block; + height: 50px; + width: 50px; + color: #CB2026; /* SVG path use currentColor to inherit this */ +} + +.circle { + stroke-dasharray: 76; + stroke-dashoffset: 76; + -webkit-animation: draw 0.5s forwards; + animation: draw 0.5s forwards; +} + +.tick { + stroke-dasharray: 18; + stroke-dashoffset: 18; + -webkit-animation: draw 0.5s forwards 0.6s; + animation: draw 0.5s forwards 0.6s; +} + +@-webkit-keyframes draw { + to { stroke-dashoffset: 0 } +} + +@keyframes draw { + to { stroke-dashoffset: 0 } +} + +.cart-success{ + width: 300px; + height: 183px; + background: #ffffff; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + position: fixed; + +} + +.text-cart-success{ + font-size: 20px; + font-weight: 600; + line-height: 1.6; + padding-top: 30px; + text-align: center; +} + +.ease-015s{ + -webkit-transition: all ease .15s; + -o-transition: all ease .15s; + transition: all ease .15s +} +.success-form{ + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 99999; + background: rgba(0,0,0,0.5); + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + +} + + +/* SWIPER */ +.swiper-button-next, +.swiper-button-prev { + width: 30px; + height: 50px; + background: rgba(0, 0, 0, 0.15); +} +.swiper-button-prev { + border-radius: 0px 10px 10px 0px; + transform: translateX(-10px); +} +.swiper-button-next { + border-radius: 10px 0 0 10px; + transform: translateX(10px); +} +.swiper-button-next::after, +.swiper-button-prev::after { + font-size: 14px; + color: var(--white); +} + +.swiper { + width: 100%; + height: 100%; + margin-left: auto; + margin-right: auto; +} + +.swiperShowcase { + border-radius: 15px +} + +.swiper-slide img { + display: block; + width: 100%; + border-radius: 10px; + +} + +.swiper-pagination-bullet{ + width: 10px !important; + height: 10px !important; + border-radius: 5px !important; + background: rgba(0, 0, 0, 0.5) !important; +} + +.swiper-pagination-bullet-active{ + background: #CC0001!important; + border-radius: 5px !important; + width: 42px !important; + height: 10px !important; +} + +.swiper-slide-product { + height: auto; + background: #fff; + border-radius: 15px; +} +.swiper-slide-product:hover { + box-shadow: var(--box-shadow); +} +.swiper-slide-product:hover .card-img img { + transition: all 0.4s; + transform: translateY(-5px); +} + +.section-showcase .swiper-pagination{position: unset!important;margin-top: 8px !important;} + +/*BRAK CRUMB*/ +.global-breadcrumb ol{ + padding-bottom: 10px; + text-transform: uppercase; + color: #797979; + font-size: 12px; +} +.global-breadcrumb li:first-child span{ + margin-right: 5px; +} + + +/* ANIMATION */ +@-webkit-keyframes shake { + 0% { + -webkit-transform: rotate(0) scale(1) skew(1deg); + } + 10% { + -webkit-transform: rotate(-25deg) scale(1) skew(1deg); + } + 20% { + -webkit-transform: rotate(25deg) scale(1) skew(1deg); + } + 30% { + -webkit-transform: rotate(-25deg) scale(1) skew(1deg); + } + 40% { + -webkit-transform: rotate(25deg) scale(1) skew(1deg); + } + 50% { + -webkit-transform: rotate(0) scale(1) skew(1deg); + } + 100% { + -webkit-transform: rotate(0) scale(1) skew(1deg); + } +} +@keyframes shake { + 0% { + -webkit-transform: rotate(0) scale(1) skew(1deg); + } + 10% { + -webkit-transform: rotate(-25deg) scale(1) skew(1deg); + } + 20% { + -webkit-transform: rotate(25deg) scale(1) skew(1deg); + } + 30% { + -webkit-transform: rotate(-25deg) scale(1) skew(1deg); + } + 40% { + -webkit-transform: rotate(25deg) scale(1) skew(1deg); + } + 50% { + -webkit-transform: rotate(0) scale(1) skew(1deg); + } + 100% { + -webkit-transform: rotate(0) scale(1) skew(1deg); + } +} + +/* SEARCH RESULT BOX */ +.search-results { + display: none; + border: 1px solid #ddd; + background: #fff; + position: absolute; + left: 0; + width: 100%; + z-index: 999; + +} +.search-results-list { + max-height: 300px; + overflow: auto; + z-index: 999; +} +.search-results .item { + background: #fff; + display: flex; + gap: 10px; + padding: 10px; + width: 100%; + position: relative; + text-decoration: none; + font-weight: 400; +} +.search-results a.item:hover { + background-color: #f5f5f5; +} + +.search-results img { + width: 60px; +} + +.search-results .title { + font-size: 14px; + color: #333; + width: calc(100% - 60px); +} + +.search-results .price { + color: #CB2026; + font-weight: 700; + margin-top: 4px; + display: block; +} + +::-webkit-scrollbar { + width: 9px; +} +::-webkit-scrollbar-track { + background: transparent; +} +::-webkit-scrollbar-thumb { + background-color: rgba(155, 155, 155, 0.5); + border-radius: 20px; + border: transparent; +} + +/*SPRITE*/ +.sprite { + background-image: url(./img/sprite.png); + background-repeat: no-repeat; + display: block; +} + +.sprite-bct-footer { + width: 192px; + height: 73px; + background-position: -10px -10px; +} + +.sprite-cart-header { + width: 23px; + height: 22px; + background-position: -222px -10px; +} + +.sprite-cart-sp { + width: 18px; + height: 18px; + background-position: -265px -10px; +} + +.sprite-credit1-footer { + width: 394px; + height: 31px; + background-position: -10px -103px; +} + +.sprite-credit2-footer { + width: 352px; + height: 32px; + background-position: -10px -154px; +} + +.sprite-doi-tra-footer { + width: 66px; + height: 67px; + background-position: -303px -10px; +} + +.sprite-giao-hang-footer { + width: 66px; + height: 67px; + background-position: -10px -206px; +} + +.sprite-gift-detail { + width: 17px; + height: 16px; + background-position: -382px -154px; +} + +.sprite-ho-tro-footer { + width: 55px; + height: 63px; + background-position: -96px -206px; +} + +.sprite-hotline-detail { + width: 19px; + height: 19px; + background-position: -382px -190px; +} + +.sprite-menu-header { + width: 21px; + height: 17px; + background-position: -171px -229px; +} + +.sprite-newsletter-footer { + width: 40px; + height: 40px; + background-position: -212px -206px; +} + +.sprite-search-header { + width: 20px; + height: 20px; + background-position: -272px -229px; +} + +.sprite-showroom-home { + width: 23px; + height: 27px; + background-position: -312px -206px; +} + +.sprite-thanh-toan-footer { + width: 66px; + height: 67px; + background-position: -312px -253px; +} + +.sprite-tin-cong-nghe-home { + width: 32px; + height: 26px; + background-position: -389px -10px; +} + +.sprite-tin-khuyen-mai-home { + width: 36px; + height: 34px; + background-position: -398px -229px; +} + +.sprite-tu-van-detail { + width: 52px; + height: 52px; + background-position: -171px -283px; +} + +.sprite-tuyen-dung-home { + width: 32px; + height: 32px; + background-position: -424px -56px; +} + +.sprite-star{ + background-image: url(/static/assets/default/images/star_mb.png); + width: 76px; + height: 16px; + vertical-align: text-bottom; + display: inline-block; + background-repeat: no-repeat; +} + +.sprite-1star{background:url(/static/assets/default/images/star_rating.png);display:block} + + +.star0{ background-position: -3px -87px!important} +.star1{background-position: -3px -70px!important} +.star2{background-position: -3px -53px!important} +.star3{background-position: -3px -36px!important} +.star4{background-position: -3px -19px!important} +.star5{background-position: -3px -1px!important} + + +/*HEADER*/ +header .header-top-group { + background: #CB2026; + height: 50px; + padding: 14px 16px 14px 10px; +} + + +.box-cart-header { + position: relative; +} + +.header-features-cart-amount { + position: absolute; + top: -5px; + right: -7px; + width: 16px; + height: 16px; + border-radius: 50%; + font-size: 12px; + color: #000; + font-weight: 700; + background: #FFB800; +} + +.header-search-group { + padding: 10px; + +} + + + +header .search-form-group { + display: block; + background: #fff; + border: 1px solid #D9D9D9; + border-radius: 30px; + height: 36px; + position: relative; +} + +header .search-input { + width: calc(100% - 40px); + color: #797979; + padding-left: 14px; + background: transparent; + border: 0; + height: 100%; + outline: none; + font-size: 12px; + font-style: italic; +} + +header .search-submit { + width: 30px; + height: 30px; + border-radius: 50%; + background: url(./img/sprite.png) no-repeat; + background-color: #DA251C; + background-position: -267px -224px; + border: 0; + position: absolute; + right: 3px; + top: 2px; +} + +.home-slider img{ border-radius:10px; -webkit-border-radius:10px; -moz-border-radius:10px; -ms-border-radius:10px; -o-border-radius:10px; } +.home-icon-list{ + margin: 18px 0; +} + +.home-icon-list .box-icon{ + width: 48px; + height: 48px; + background-color: #DA251C; + border-radius: 50%; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + -o-border-radius: 50%; +} + +.home-icon-list a{ + font-size: 14px; + line-height: 16px; + + text-align: center; + width: calc(100% / 4 - 8px); +} + +.home-icon-list .text{display: block;margin-top: 10px;height: 32px;} + + +.bg-menu { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 7; + display: none; +} + +.top-menu{ + padding: 30px 10px 0 20px; +} + +.global-menu-container { + position: fixed; + top: 0; + left: -100%; + bottom: 0; + background: #fff; + z-index: 99; + width: 79%; + -webkit-box-shadow: 4px 0px 6px 2px rgba(0, 0, 0, 0.3); + box-shadow: 4px 0px 6px 2px rgba(0, 0, 0, 0.3); + overflow: auto; + -webkit-transition: .4s all; + transition: .4s all; +} + +.global-menu-container.show { + -webkit-transition: .4s all; + transition: .4s all; + left: 0; +} + +.global-menu-container .header-user { + position: relative; + padding-left: 70px; + font-size: 16px; + line-height: 55px; + color: #9b9b9b; +} + + +.global-menu-container .header-user::before { + content: ''; + background: url(./img/lock\ \(1\).png) no-repeat; + background-color: #d0d0d0; + background-position: 10px 8px; + width: 55px; + height: 55px; + border-radius: 50%; + position: absolute; + top: 0; + left: 0; +} + +.global-menu-container .header-user a { + color: #797979; +} + +.global-menu-container .icon-close { + width: 26px; + height: 26px; + background-position: -97px -2px; +} + +.icon-mb { + background: url(/static/assets/default/images/mobile_splice_2021.png) no-repeat; +} + +.global-menu-container .global-menu-list { + margin-top: 18px; +} + +.global-menu-container .title { + font-weight: 700; + font-size: 20px; + margin-bottom: 20px; + padding: 0 10px 0 20px; +} + +.global-menu-container .title::before { + content: ''; + background: url(./img/menu-dm.png) no-repeat; + width: 25px; + height: 22px; + display: inline-block; + vertical-align: bottom; + margin-right: 10px; +} + +.cat-list-group .cat-item { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + border-bottom: 1px solid #E4E4E4; + padding: 0 10px 0 20px; +} + +.global-menu-container .cat-list-group a { + border: 0; +} + +.global-menu-container .cat-list-group a { + padding: 5px 0; + font-weight: lighter; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + font-size: 15px; +} + +.global-menu-container .cat-thum { + width: 30px; + margin-right: 10px; + height: 25px; + background-position: center; + background-repeat: no-repeat; + background-size: contain; +} + +.global-menu-container .cat-title { + width: calc(100% - 40px); + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + text-transform: capitalize; +} + +.cat-list-group .cat-item .fa-angle-right { + display: block; + padding: 15px 0; + text-align: center; + font-size: 16px; +} + +.cat-list-group .cat-item .sub-menu { + width: 100%; + border-top: 1px solid #f3f3f3; + background: #f3f3f3; + padding: 0 8px 0 18px; + display: none; +} + + +.collection-tab-container{ + background: url(./img/background_collection-mb.png); + background-repeat: no-repeat; + background-size: 100% 100%; + overflow: hidden; + padding: 20px 0 10px 10px; +} + +.collection-tab-container .collection-tab-title a{ + padding: 6px 12px; + border: 1px solid #FFFFFF; + border-radius: 5px; + text-transform: uppercase; + text-align: center; + line-height: 16px; + color: #fff; + margin-right: 8px; +} + +.collection-tab-container .collection-tab-title a.active, .collection-tab-container .collection-tab-title a:hover{ + background: #FFFFFF; + color: #000; +} + +.collection-tab-title{ + overflow-x: auto; + white-space: nowrap; + width: 100%; + margin-bottom: 14px; +} + +.p-item {background:#fff;padding: 13px 8px;border-radius: 10px;} + +.p-item .p-img { + display: block; + position: relative; + margin-bottom: 10px; + padding-bottom: 100%; +} + +.p-item .p-img img { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + max-width: 100%; + max-height: 100%; + margin: auto; + display: block; +} + +.p-item .box-sku { + margin-bottom: 8px; + height: 28px; +} + +.p-item .p-name { + font-weight: 600; + height: 32px; + overflow: hidden; + line-height: 16px; + margin-bottom: 6px; + font-size:12px; +} + +.p-item .p-price { + margin-bottom: 4px; + font-size: 13px; + display: block; + color: #EE1B25; + font-weight: 800; +} + +.p-item .market-price { + display: block; + color: #777777; + font-weight: 500; + font-size:10px +} + +.p-item .p-button { + height: 20px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.p-item .title-amout-sku { + color: #008A0E; + font-size: 10px; + line-height: 18px; +} + +.p-item .p-buy { + width: 26px; + height: 26px; + border-radius: 50px; + background: #B0B0B0; + color: #262626; + font-size: 13px; + font-weight: 800; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: center; + -webkit-transition: .1s all; + transition: .1s all; +} + +.p-item .p-sku{font-size:10px;} + + +.text-bottom{ + margin-top: 10px; + text-align: center; + color: #fff; + font-size: 12px; +} + +.box-product-holder{ + padding-top: 20px; + background: #fff; +} + +.text-bottom i{font-size:10px;} + +.box-title-group{ + background: #F9F9F9; + padding: 13px 10px 0; + margin: 10px 0; +} + +.box-product-container .cat-title{ + font-size:16px; + text-transform: uppercase; + line-height:20px; + +} + +.box-product-container .cat-list-right a{ + display: block; + color: #3A3A3A; + text-align: center; + font-size:13px; + line-height: 18px; +} + + +/*CATEGORY*/ +.product-list-container .p-item{ + border: 1px solid #D9D9D9; + border-radius: 10px; + padding: 10px; +} + +.list-filter-category .cat-child-list{ + margin-bottom:12px; + +} + +.list-filter-category .cat-child-list a{ + border: 1px solid #D9D9D9; + border-radius: 15px; + width: max-content; + padding: 2px 20px; + color: #797979; + font-size: 12px; + margin-right: 6px; + margin-bottom: 6px; +} + +.list-filter select{ + display: block; + margin: 0 10px 10px 0; + width: calc(100% / 2 - 5px); + color: #fff; + background: #797979; + border-radius: 3px; + padding: 0 18px; + position: relative; + height: 32px; + font-weight: 500; + font-size: 14px; + border: 0; + text-align: center; +} + +.list-filter select:nth-child(2n){ + margin-right: 0; +} + +.sort-by-group { + background: #DA251C; + border-radius: 3px; + margin-bottom: 10px; + position: relative; +} + +.sort-by-group > a { + width: 25%; + color: #fff; + text-align: center; + line-height: 40px; + position: relative; + font-size: 14px; +} + + + +.sort-by-group > a::after { + content: ''; + width: 1px; + height: 15px; + background: #fff; + position: absolute; + right: 0; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} + +.sort-by-group > a.current::before { + content: ''; + width: 80px; + height: 4px; + background: #fff; + position: absolute; + bottom: 0; + left: 50%; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); + margin-bottom: 5px; +} + +.sort-by-group > a:last-child::after{ + display: none; +} + +/*FOOTER*/ +.footer-policy{ + padding: 20px 10px 15px; + background: #f7f7f7; +} + +footer .footer-policy .icon-container{ + width: 55px; +} + +.footer-policy .item{ + margin-bottom: 30px; +} + +.footer-policy .item:last-child{ + margin-bottom: 0; +} + +.footer-policy .text{ + margin-left: 30px; + font-size: 14px; +} + +.footer-policy .text span{ + margin-top: 4px; +} + +.footer-article{ + padding: 20px 10px 10px; + background: #fff; +} + +.footer-article .box-title h3{ + font-size: 16px; + line-height: 18px; + text-transform: uppercase; +} + +.footer-article .box-title .footer-link{ + font-size: 12px; + color: #fff; + padding: 5px 7px; + background: #DA251C; + border-radius: 20px; + text-align: center; +} + +.footer-article .box-title{ + padding-bottom: 10px; + text-transform: uppercase; + border-bottom: 1px solid #CC0001; +} + +.footer-article .list-item{ + margin-top: 10px; + gap: 12px; +} + +.footer-article .list-item .box-item{width:50%;} + +.footer-article .box-item .box-img{ + margin-bottom: 10px; + border-radius: 10px; + display: block; + overflow: hidden; + -webkit-border-radius: 10px; + -moz-border-radius: 10px; + -ms-border-radius: 10px; + -o-border-radius: 10px; + position: relative; +} + +.footer-article .box-item time { + padding: 6px 2px; + margin-right: 8px; + position: relative; + background: #d81e23; + color: #fff; + font-size: 10px; + border-radius: 3px; + text-align: center; + display: block; + width: 33px; + height: 33px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + -ms-border-radius: 3px; + -o-border-radius: 3px; +} + +.footer-article .box-item time::after{ + content: ''; + position: absolute; + right: -4px; + height: 15px; + width: 4px; + border-radius: 0 8px 8px 0; + background: #bbc0c7; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} + +.footer-article .box-item .text h3{ + font-size: 12px; +} + +.footer-video-container{ + background-color: #ECECEC; +} + +.footer-article .box-title h2{ + font-size: 16px; +} + +.footer-video-container .box-title h2{ + color: #DA251C; +} + +.footer-video-container .box-img::before{ + content: '\f04b'; + font-family: FontAwesome; + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + line-height: 1; + font-size: 46px; + color: #fff; + opacity: .6; + z-index: 2; + -webkit-transition: .2s all; + transition: .2s all; +} + +.box-newsletter { + background: #DA251C; +} + +.footer-newsletter { + max-width: 100%; + padding: 21px 0; +} + +.footer-newsletter .newsletter-form { + width: 100%; + background: #a6171b; + border-radius: 43px; + padding: 4px 6px 4px 17px; + position: relative; + color: #fff!important; + -webkit-border-radius: 43px; + -moz-border-radius: 43px; + -ms-border-radius: 43px; + -o-border-radius: 43px; +} + +.footer-newsletter .newsletter-form input { + font-style: italic; + margin: 0; + padding: 0; + border: 0; + background: transparent; + height: 40px; + width: calc(100% - 45px); + color: #fff; + border: none; + outline: none; + font-size: 12px; +} + +.footer-newsletter .newsletter-form input::placeholder{color:#fff;font-weight: 700;font-size: 12px;} + +.footer-info-container{ + color: #3A3A3A; + font-size: 15px; + padding: 10px 10px 14px; + background: #fff; +} + +.footer-info-container .logo-footer img{ + width: auto; +} + +.footer-info-container .info-left p { + margin: 8px 0; + position: relative; + font-size: 13px; + padding-left: 14px; +} + +.footer-info-container .info-left p::before { + content: ''; + width: 4px; + height: 4px; + border-radius: 50%; + background: #5d5d5d; + position: absolute; + top: 6px; + left: 3px; +} + +.footer-info-container .map { + background: #d81e23; + border-radius: 7px; + display: inline-block; + text-align: center; + margin-top: 5px; + padding: 6px 12px; + color: #fff; +} + +.footer-info-container .social-media{ + margin-top: 20px; +} + +.footer-info-container .social-media a { + width: 43px; + height: 43px; + line-height: 1.8; + margin-right: 8px; + font-size: 26px; + display: inline-block; + border-radius: 50%; + background: #4b69b0; + color: #fff; + text-align: center; +} + +.footer-info-container .social-media a:nth-child(2) { + background: linear-gradient(88deg, #fbcb7a, #f48d4e, #e32943, #c03771, #964494, #67529f, #6b66aa); +} + +.footer-info-container .social-media a:nth-child(3) { + background: #e83f3a; +} + +.footer-info-container .info-item .current .fa-angle-down { + -webkit-transform: rotate(-180deg); + transform: rotate(-180deg); +} + +.credit-footer{margin: 0 auto;} + +.footer-info-container .info-item .box-title { + padding: 12px 6px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + margin-bottom: 8px; + color: #3a3a3a; + font-size: 13px; + background: #F1F1F1; + border-radius: 5px; + font-weight: 700; +} + +.footer-info-container .info-item .fa-angle-down { + font-size: 13px; + font-weight: 700; +} + +.footer-info-container .support-list { + padding-left: 25px; + display: none; + margin-bottom: 12px; +} + +.footer-info-container .support-list p { + margin-bottom: 10px; + position: relative; +} + +.footer-info-container .support-list p::before { + content: ''; + background: url(/static/assets/default/images/hot-line-footer.png) no-repeat; + width: 16px; + height: 16px; + position: absolute; + top: 0; + left: -22px; + background-size: 100%; +} + +.footer-info-container .info-item ul{ + display: none; + margin-bottom: 12px; +} + +.footer-info-container .info-item li { + margin: 0 0 10px 17px; + list-style: disc; +} + +.credit-1{ + margin: 10px 0 20px; +} + +.footer-right{ + margin-top: 20px; + display: block; +} + +.scroll-top-btn { + font-size: 32px; + width: 50px; + height: 50px; + position: fixed; + bottom: 80px; + right: 10px; + background: #DA251C; + border-radius: 50%; + z-index: 999; + -webkit-box-shadow: 0 1px 5px #000; + box-shadow: 0 1px 5px #000; + color: #fff; +} + +.title-policy{ + line-height: 24px; + background: #D9D9D9; + padding: 4px 10px; + font-size: 16px; + margin-bottom:20px; +} + +/*PRODUCT DETAIL*/ +/*DETAIL*/ + + +.product-detail-page .product-name { + font-size: 20px; + line-height: 24px; + margin-bottom: 10px; + margin-top: 20px; + text-transform: uppercase; +} + + + +.product-detail-page .product-info-image { + margin-bottom: 20px; + border: 1px solid #e8e8e8; + padding: 10px; +} + +.product-detail-page .product-info-middle { + font-size: 13px; + line-height: 16px; +} + +.product-info-middle .product-visit{ + margin-bottom: 17px; +} + +.product-detail-page .product-info-price { + margin: 25px 0 10px; +} + +.product-detail-page .product-info-price .price{ + margin-right: 10px; + font-size: 24px; + line-height: 28px; + color: #DA251C; + +} + +.price-vat{ + background: #D9D9D9; + border-radius: 3px; + width: max-content; + padding: 5px 10px; + margin-bottom: 21px; + font-size: 12px; +} + +.product-info-sku span{padding: 0 5px;} +.product-info-sku span:first-child{padding-left: 0 !important;} + +.product-detail-page .product-info-price .market-price{ + font-size: 13px; + line-height: 16px; + color: #FFB800; + text-decoration: line-through; +} + +.product-info-summary .product-info-summary-title{ + margin-bottom: 8px; + display: block; + background: #F1F1F1; + border: 1px solid #D9D9D9; + border-radius: 2px; + line-height: 32px; + padding: 0 8px; + +} + +.product-detail-page .product-info-summary ul{ + margin-left:10px; +} + +.product-detail-page .product-info-summary li{ + margin: 0; + position: relative; + padding-left: 15px; + margin-bottom: 6px; +} + +.product-detail-page .product-info-summary li::after { + content: ''; + background: #000; + width: 4px; + height: 4px; + border-radius: 50%; + position: absolute; + left: 0; + top: 7px; +} + +.product-detail-page .product-info-summary .list-summary li:nth-child(n+4) { + display: none; +} + +.product-detail-page .product-info-summary .list-summary.active li:nth-child(n+4) { + display: block; +} + + +.product-detail-page .button-showmore { + color: #DA251C; + margin-top: 10px; + display: block; +} + +.sp-con-hang{margin-top:25px;} + +.product-info-offer{ + margin-top:17px; + border: 1px solid #D9D9D9; + border-radius: 10px; +} + +.product-info-offer .offer-title{padding: 0 8px;padding-bottom:10px;} + +.product-info-offer .title-gift-detail{ + background: #DA251C; + border-radius: 10px 0px; + width: 180px; + padding: 6px 12px; + color: #fff; + margin-bottom: 8px; +} + +.product-info-offer .title-gift-detail span{ + margin-left: 6px; +} + +.product-info-offer .offer-title li{ + list-style: disc; + margin-left: 19px; + line-height: 24px; + color: #3A3A3A; +} + +.hotline-tuvan{ + margin: 10px 0 14px; + padding: 0 15px; + height: 36px; + width: 100%; + border: 1px solid #DA251C; + border-radius: 42px; + font-size:14px; +} + +.hotline-tuvan span{margin-left: 4px;} + +.product-buy-quantity{ + margin: 13px 0 ; +} + +.product-buy-quantity .title{ + line-height: 18px; + color: #3A3A3A; + font-size:14px; +} + +.cart-quantity-select{ + display: inline-flex; +} + +.product-buy-now{width:100%;gap:10px;} + +.cart-quantity-select .js-quantity-change { + padding: 6px 13px; + text-decoration: none; + font-size: 16px; + line-height: 14px; + color: #000; + border: 1px solid #e1e1e1; + font-weight: 700; + text-align: center; + border-radius: unset; +} + +.cart-quantity-select input { + border: none; + outline: 0; + width: 80px; + text-align: center; + color: #000; + border: 1px solid #e1e1e1; + font-size: 13px !important; +} + +.button-type-1 a { + margin: 0 0 10px 0; + padding: 10px 0; + border-radius: 5px; + border: 1px solid #DA251C; + text-align: center; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + -ms-border-radius: 5px; + -o-border-radius: 5px; +} + +.button-type-1 a:first-child{ + background: linear-gradient(0deg, #F24040 10.84%, #E30B0B 104.56%);; + color: #fff; +} + +.button-type-1 a:last-child{ + margin-right: 0 !important; +} + +.button-type-1 a b{ + font-size: 16px; + line-height: 20px; + margin-bottom: 4px; + text-transform: uppercase; +} + +.button-type-1 a span{ + font-size: 12px; + line-height: 16px; + font-weight: 400; +} + + +.product-info-support .form-holder{ + width: 100%; + border-radius: 90px; + padding: 3px 2px 3px 22px; + position: relative; + border: 1px solid #D9D9D9; + color: #fff!important; + margin-bottom: 14px; +} + +.product-info-support .form-holder input{ + font-style: italic; + margin: 0; + padding: 0; + border: 0; + background: transparent; + height: 30px; + width: calc(100% - 55px); + color: #797979; + border: none; + outline: none; + font-size: 14px; +} + +.product-info-support .form-holder .call-for-me{ + border-radius: 50%; + width: 51px; + height: 51px; + background: #D9D9D9; +} + +.icon-support-group{ + background: #DA251C; + border-radius: 69px; + width: calc(100% - 470px); + padding: 4px 20px 4px 4px; + color: #fff; +} + +.icon-support-group .group-left{ + width: 52px; + height: 52px; + border-radius: 50%; + background: #fff; + margin-right: 15px; +} + +.group-right .text{ + font-size: 18px; + line-height: 20px; + margin: 2px 0; + display: block; +} + +.group-right .hotline{ + font-size: 22px; + line-height: 28px; +} + + + +.product-info-right .item-blog { + border: 1px solid #DA251C; + border-radius: 10px; + overflow: hidden; + margin-bottom: 12px; + font-size: 14px; + line-height: 16px; +} + +.product-info-right .item-blog .title { + text-align: center; + line-height: 32px; + font-weight: bold; + background: #DA251C; + color: #fff; + border-bottom: 1px solid #d0cbcb; + margin: 0; + font-size: 16px; + text-transform: uppercase; +} + +.product-info-right .content { + font-size: 14px; + padding: 15px 4px 8px 8px; +} + +.product-info-right .box-list a{ + margin-left: 8px; + font-weight: 600; +} + +.product-info-right .box-list a:hover{color: #DA251C;} + +.product-info-right .box-list{ + margin-bottom: 12px; +} + + +.product-info-box .box-left .box-item .product-desc{margin-top:16px;position: relative;max-height: 625px;overflow: hidden;} +.product-info-box .box-left .box-item .product-desc::after{ + content: ''; + position: absolute; + left: 0; + bottom: 0; + right: 0; + background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(#fff)); + background: linear-gradient(transparent, #fff); + height: 150px; +} + +.product-info-box .box-left .box-item .product-desc.active::after{position: relative!important;} + +.product-info-box .button-desc a { + display: none; + text-align: center; + color: #DA251C; + margin: 20px auto auto auto; +} +.product-info-box .product-desc.active { + max-height: 100% !important; +} + +.box-thong-so{margin-top:13px;} + +.product-info-box .button-desc a:hover{background:#DA251C; color: #fff;} + +.product-info-box .box-title{ + margin-bottom: 13px; + display: block; + background: #F1F1F1; + border: 1px solid #D9D9D9; + border-radius: 2px; + line-height: 32px; + padding: 0 8px; + font-size:16px; +} + +.product-info-comment-rating .title{ + margin-bottom: 12px; + line-height: 36px; + background: #F9F9F9; + font-size: 16px; + padding: 4px 8px; +} + +#newCommentBox { + overflow: hidden; + position: fixed; + left: 0; + right: 0; + bottom: 0; + height: 100vh; + background: rgba(0,0,0,.5); + z-index: 9; +} + +#newCommentBox .comment-box-container { + display: block; + overflow: hidden; + position: relative; + width: 100%; + max-width: 520px; + margin: 50% auto auto; + background: #fff; + border-radius: 5px; +} + +#newCommentBox .comment-box-container .title { + display: block; + overflow: hidden; + padding: 10px; + font-size: 17px; + color: #161616; + border-bottom: 1px solid #f2f2f2; + font-weight: 700; +} + +#newCommentBox .comment-box-container .back-btn { + float: right; + width: 30px; + height: 30px; + position: absolute; + top: 5px; + right: 5px; + color: #161616; + font-size: 18px; +} + +#newCommentBox .comment-box-container .form-wrap { + display: block; + overflow: hidden; + background: #fff; + padding: 10px; +} + +#newCommentBox .comment-box-container .sex label { + margin-bottom: 0; + margin-right: 30px; +} + +#newCommentBox .comment-box-container .sex .radio { + display: inline-block; +} + +#newCommentBox .comment-box-container .sex .radio input { + display: none; +} + +#newCommentBox .comment-box-container .form-wrap input { + display: block; + padding: 8px; + width: 100%; + margin: 10px 0; + height: 35px; + border: 1px solid #dadada; + background: #fff; + border-radius: 4px; + font-size: 14px; +} + +#newCommentBox .comment-box-container .sex .radio .icon { + height: 13px; + width: 13px; + display: inline-block; + vertical-align: middle; + margin-right: 4px; + position: relative; + margin-top: -3px; + border-radius: 50%!important; + background: #fff; + border: 2px solid #e20505; + overflow: hidden; +} + +#newCommentBox .comment-box-container .sex .radio input:checked~.icon::before { + background-color: #e20505; + content: ""; + display: block; + width: 5px; + height: 5px; + border-radius: 100%; + left: 2px; + top: 2px; + font-size: 11px; + color: #fff; + position: absolute; +} + +#newCommentBox .comment-box-container .form-wrap input { + display: block; + padding: 8px; + width: 100%; + margin: 10px 0; + height: 35px; + border: 1px solid #dadada; + background: #fff; + border-radius: 4px; + font-size: 14px; +} + +#newCommentBox .comment-box-container .btn-send-form-cmt { + display: block; + width: 100%; + margin: 0 auto 10px; + padding: 8px; + height: 40px; + font-size: 14px; + color: #fff; + text-transform: uppercase; + border: 1px solid #e20505; + border-radius: 4px; + background: #e20505; + cursor: pointer; + text-align: center; +} + + +.product-select-option .product-select-option-title{ + font-weight: 700; + line-height: 26px; + color: #3A3A3A; + margin: 18px 0 10px; + font-size:14px; +} + + +.product-select-option .btn-select-option{ + position: relative; + color: #797979; + display: flex; + align-items: center; + justify-content: center; + flex-wrap: wrap; + text-align: center; + border-radius: 5px; + padding: 8px; + box-shadow: 0px 1px 6px rgba(0, 0, 0, 0.25); + + -webkit-transition: .1s all; + transition: .1s all; +} + +.product-select-option .btn-select-option:hover{ + border: 1px solid #009E2A; +} + +.product-select-option .btn-select-option.active::before{ + content: '\f058'; + font-family: FontAwesome; + color: #008A0E; + line-height: 1; + position: absolute; + top: 5px; + left: 8px; + font-size: 13px; + +} + +.product-select-option .btn-select-option.active{ + border: 1px solid #009E2A; + padding-left:22px; +} + +.product-select-option .price-variant{ + width: 100%; + display: block; + font-size: 14px; + color: #DA251C; +} + +.video-unbox .title{font-size: 20px;line-height: 18px;padding: 10px 0 22px;} + +.video-unbox iframe { + display: block; + height: 501px; + width: 100%; + border-radius: 5px; +} + +.product-info-box .box-right .box-item{box-shadow: 0px 1px 6px rgba(0, 0, 0, 0.25);border-radius: 20px;background: #fff;padding: 14px 12px;} +.product-info-box .box-right .box-right-title { + font-size: 20px; + padding: 18px 10px; + background: #F3F3F3; +} + +.info-tech-list{padding-bottom: 10px;font-size:14px;max-height: 663px;} +table{border-collapse:collapse;width:100%!important;background:#fff} +.info-tech-list td {padding: 10px;} + +.button-box-spec{ + display: block; + text-align: center; + color: #000; + width: 100%; + margin: 20px auto; + border: 1px solid #D9D9D9; + border-radius: 81px; + line-height: 50px; + background: #F3F3F3; +} + +.button-box-spec:hover{background: #e6e6e6;} +#product-spec table { + max-width: 100%; +} +#product-spec{padding:15px;} +.spec-table td { + padding: 10px; +} + +.box-aritlce-product-detail{margin-top:20px;} + +.box-aritlce-product-detail .title{ + padding: 15px 0 20px; + font-size: 20px; + line-height: 22px; +} + +.box-aritlce-product-detail .item-article{border-bottom: 1px solid #D9D9D9;padding:10px 0;} +.box-aritlce-product-detail .item-article:last-child{border-bottom:none;} +.box-aritlce-product-detail .item-article .img-artice {width:161px;margin-right: 12px;} +.box-aritlce-product-detail .item-article .text-article{width: calc(100% - 161px - 12px);} + +.product-info-detail-bottom{ + margin-bottom: 16px; + background: #fff; + margin-top: 10px; +} + +.product-info-detail-bottom .box-title{ + line-height: 36px; + background: #F9F9F9; + font-size: 16px; + padding: 4px 8px; + +} + +.content-product-detail-title{font-size:20px; line-height:28px;margin-bottom:43px;} + + +.content-product-detail-title .related-products{ + padding: 12px 40px; + width: max-content; + font-weight: 700; + background: #fff; + display: block; + color: #000; +} + +.content-product-detail-title .related.current{background: #DA251C;border-radius: 20px 0px 0px 0px;color:#fff} +.content-product-detail-title .history.current{background: #DA251C;color:#fff} +.related-product-content .swiper-button-prev, .related-product-content .swiper-button-next{background: #fff !important;box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.25);} +.related-product-content .swiper-button-prev::after, .related-product-content .swiper-button-next::after{color: #000 !important;} + +/*REVIEW DETAIL*/ +.box-info-review{ + border: 1px solid #D9D9D9; + border-radius: 10px; + padding: 14px 6px; +} + + + +.title-avgRate{ + font-size: 14px; + line-height: 20px; + color: #000000; + margin-bottom: 12px; + text-transform: uppercase; + +} + +.review-info .avgRate{text-align: center;width: 35%;margin-right: 6px;} + +.review-info .avgRate span{font-size:24px;color: #FF8A00;} + +.avg-rate-count { + font-weight: 400; + font-size: 12px; + line-height: 18px; + color: #000; + padding-left: 10px; + border-left: 1px solid #797979; + width:calc(100% - 35% - 6px); +} + +.rate-number i { + padding-left: 3px; + color: #FF8A00; +} + +.nhan-xet-bar { + width: 72%; + height: 8px; + background: #d9d9d9; + margin: 0 10px; + position: relative; +} + +.nhan-xet-bar .percent { + position: absolute; + left: 0; + top: 0; + bottom: 0; + background: #DA251C;; +} + +.total-avg-rate { + color: #000; +} + +.button-review{ + max-width: 160px; + width: 100%; + margin: 10px auto 0; +} +.button-review a{ + width: 100%; + text-align: center; + background: #DA251C; + line-height: 30px; + border-radius: 5px; + font-size: 12px; + color: #fff; + display: block; +} + + +.rating-selection{display:inline-block} +.rating-selection input{opacity:0;float:right;width:17px;height:17px;padding:0;margin:0 0 0 -16px} +.rating-selection label:hover,.rating-selection label:hover~label{background-position:-16px -57px!important} +.rating-input:checked~.rating-star,.rating-input:checked~.rating-star:hover{background-position:-16px -57px!important} +.rating-selection label{position:relative;float:right;display:block;width:17px;height:17px;margin:0 3px;background-position:-16px -28px!important} +.btn-green{background:#DA251C;color:#fff;padding:7px 20px;font-size:15px;border-radius:5px;-moz-border-radius:5px;display:inline-block} +.box-review { + width: 100%; + margin-top: 20px; + padding-top: 20px; + border-top: dashed 1px #acacac; +} + +.box-list-star .rating{margin-left: 20px;} +.box-list-star{margin-bottom: 10px;} + +.rating-form-left textarea{width:100%;height: 92px;resize: none;padding: 12px;outline: none;} + +.rating-form-right input, .rating-form-right a{ + width: 100%; + height: 50px; + padding: 10px; + border-radius: 5px; + outline: none; + border: 1px solid #acacac; + color: #161616; + margin-top: 10px; +} + +.rating-form-right a{color: #fff;background: #e31212;} + +.list-review{margin-top:20px;} +.list-review .item{padding:12px 0;} +.list-review .item:last-child{margin:0;} + +.list-review .item-name{margin-bottom:13px;} + +.review-reply{margin-top:12px;} +.review-reply .text{margin-left:4px;} +.review-reply .text:hover{color:#DA251C;} + + +.comment-list{margin:0 12px} +.item-comment{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:20px} +.item-comment .comment-form-left .avatar-user{display:flex;justify-content:center;align-items:center;text-align:center;width:34px;height:34px;line-height:34px;margin-right:12px;border-radius:5px;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;background:#d9d9d9;text-transform:uppercase;font-weight:700;font-size:17px} +.item-comment .comment-form-left .avatar-user img{display:block;margin:auto;padding:6px;max-width:100%;height:auto} +#js-review-holder .item{margin-bottom:12px} +.item-comment .comment-form-right{width:calc(100% - 46px)} +.item-comment .comment-form-right .comment-name{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap} +.item-comment .comment-form-right .comment-name .user-name{text-transform:capitalize;margin:0 10px 0 0} +.item-comment .comment-form-right .comment-name i{background:#DA251C;color:#fff;font-size:10px;padding:3px;border-radius:3px} +.item-comment .comment-form-right .comment-content{font-size:16px;margin:8px 0} +.item-comment .comment-form-right .info_feeback{margin-bottom:10px} +.item-comment .comment-form-right .info_feeback a{color:#DA251C;position:relative} +.reply-form-group{border:1px solid #d9d9d9;border-radius:12px;overflow:hidden;margin:15px 0} +.reply-list-container .item_reply:last-child{border-radius:0 0 12px 12px;border:0} +.item_reply{border-bottom:1px solid #e1e1e1;background:#f9f9f9;padding:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap} +.reply-form-group textarea{display:block;padding:14px;resize:none;outline:0;height:122px;-webkit-box-shadow:none;box-shadow:none;border-radius:0;border:0;border-bottom:1px solid #d9d9d9;width:100%} +.reply-form-group .form-input{padding:12px} +.inputText{border:1px solid #d9d9d9;height:38px;padding:0 0 0 10px;margin-right:10px;min-width:250px;border-radius:5px} +.comment-form-input .btn-send-comment{color:#fff;font-weight:500;font-size:14px;background:#DA251C;border-radius:5px;padding:10px} +.p-comment-group .content-holder{outline:0;width:100%;border:0;padding:10px;height:122px;border-bottom:1px solid #e1e1e1} +.reply-template textarea{display:block;padding:14px;resize:none;outline:0;height:122px;-webkit-box-shadow:none;box-shadow:none;border-radius:0;border:0;border-bottom:1px solid #d9d9d9;width:100%} +.p-comment-group .cmt-form-group{border:1px solid #e1e1e1;border-radius:7px;overflow:hidden;margin-bottom:15px} +.p-comment-group .inputText{float:left;border:1px solid #e1e1e1;margin-right:10px;height:30px;padding-left:10px;border-radius:4px} +.reply-template .form-input{padding:12px} +.p-comment-group .form-group{margin:0} +.p-comment-group .inputText{float:left;border:1px solid #e1e1e1;margin-right:10px;height:30px;padding-left:10px;border-radius:4px} +.p-comment-group .btn-send-comment{background:#DA251C;color:#fff;text-decoration:underline;border:0;width:128px;height:38px;border-radius:4px;float:right;text-decoration:none;font-weight:700;font-size:14px} + + + +.p-comment-group .content-holder { + display: block; + resize: none; + outline: 0; + width: 100%; + border: 0; + padding: 10px; + height: 122px; + border-bottom: 1px solid #e1e1e1; + border-radius: 0; +} + +.reply-template .form-input { + padding: 12px; +} + +.p-comment-group .form-group { + margin: 0; +} + +.p-comment-group .inputText { + float: left; + border: 1px solid #e1e1e1; + margin-right: 10px; + height: 38px; + padding-left: 10px; + border-radius: 4px; +} +.p-comment-group .btn-send-comment { + background: #DA251C; + color: #fff; + text-decoration: underline; + border: 0; + width: 128px; + height: 38px; + border-radius: 4px; + float: right; + text-decoration: none; + font-weight: 700; + font-size: 14px; + margin-bottom:12px; + cursor:pointer; +} + +.p-comment-group .cmt-form-group { + border: 1px solid #e1e1e1; + border-radius: 7px; + overflow: hidden; + margin-bottom: 15px; + margin-top:10px; +} + +.box-comment{margin-top:30px;} +.box-comment-title{ + font-size: 20px; + line-height: 38px; + margin-bottom:12px; +} + +.form-comment { + width: 100%; +} + +.form-comment textarea { + font-size: 14px; + color: #999; + padding: 5px; + margin: 0px; + width: 100%; + height: 70px; + resize: none; + border: 1px solid #D9D9D9; + outline: 0; + border-radius: 10px 10px 0px 0px; + display: block; + padding:10px; +} + +.form-comment .send-comment { + width: 100%; + padding: 8px 10px; + border: 1px solid #D9D9D9; + border-radius: 0px 0px 10px 10px; + border-top: none; + justify-content: flex-end; +} + +.form-comment .send-comment a.qd-cmt { + float: left; + font-size: 14px; + color: #e31212; + line-height: 27px; +} + +.form-comment .send-comment a.btn-send-form-cmt { + width: 60px; + text-align: center; + font-size: 14px; + font-weight: 500; + color: #fff; + padding:0 16px; + background: #e31212; + line-height: 23px; + border-radius: 5px; +} + + +/*FANCYBOX*/ +a[data-fancybox] img { + cursor: -webkit-zoom-in; + cursor: zoom-in; +} +.fancybox__container { + --fancybox-color: #fff; + --fancybox-accent-color: red; + --carousel-button-svg-filter: none; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + justify-content: center; +} +.fancybox__content { + padding: 12px; + border-radius: 15px; +} +.product-detail-page .fancybox__toolbar { + position: relative; + padding: 0; + background: rgba(255, 255, 255, 0.8); + -webkit-backdrop-filter: blur(30px); + backdrop-filter: blur(30px); + border-bottom: 1px solid #edeef0; + text-shadow: none; + font-weight: 400; + --carousel-button-svg-stroke-width: 1.75; + --carousel-button-svg-width: 22px; + --carousel-button-svg-height: 22px; +} +.product-detail-page .fancybox__slide { + padding-top: 8px; + padding-bottom: 8px; +} +.product-detail-page .fancybox__nav { + --carousel-button-bg: #e5e7eb; + --carousel-button-border-radius: 6px; + --carousel-button-svg-width: 20px; + --carousel-button-svg-height: 20px; + --carousel-button-svg-stroke-width: 2.5; +} +.product-detail-page .fancybox__leftCol { + width: 100vw; + min-height: 1px; + height: 100%; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + overflow: hidden; + position: relative; +} + +.thumb-img{border: 1px solid #D9D9D9;border-radius: 5px;cursor:pointer;} +/*END*/ + + + +/*CART*/ +.cart-header{width:100%;padding:0 10px;font-size:12px;padding-bottom: 6px;border-bottom: 1px solid #DA251C;} +.cart-header-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;line-height:52px;text-transform:uppercase;border-bottom:1px solid #D9D9D9} +.cart-item-info{ + overflow: unset; + font-size: 12px; + font-weight: lighter; + color: #3A3A3A; + display: flex; + flex-wrap: wrap; + padding: 20px 10px 16px; + border-bottom: 1px solid #D9D9D9; +} + +.box-cart-item-list .cart-item-left{ + width: 100px; + margin-right: 14px; +} + +.cart-col-1{ + display:block; +} + +.cart-col-1-img{ + width: 100%; + height: auto; + border: 1px solid #D9D9D9; + border-radius: 5px; + display: block; + padding: 6px; +} + +.cart-col-1-img img{ + width: 100%; + border-radius: 8px; + height: auto; +} + +.box-cart-item-list .cart-item-right{ + width: calc(100% - 100px - 14px); +} + +.cart-item-name{ + color: #3A3A3A; + font-size: 14px; +} + +.cart-item-price{ + font-size: 18px; + font-weight: 700; + color: #DA251C; + line-height: 24px; +} + +.cart-item-info .p-info{ + position: relative; + color: #797979; + line-height: 20px; +} + +.item-offer .title{ + color:#0d699e; + font-weight:400; + position:relative; + cursor:pointer; + margin:0; + font-size: 12px; +} + +.item-offer .title::before{ + content:''; + width:12px; + height:12px; + background:url(../images/sprite_2021.png) no-repeat; + background-position:-308px -322px; + position:absolute; + left:0; + top:3px +} + +.item-offer-content{ + padding:4px 0; +} + +.item-offer-content b{ + color: #DA251C; +} + +.item-offer-content span,.item-offer-content p{ + display:block; + position:relative; + padding-left:15px; + margin:0; +} + +.item-offer-content span::before,.item-offer-content p::before{ + content:''; + position:absolute; + left:0; + top:8px; + width:8px; + height:8px; + border-radius:50%; + background:#a5a5a5 +} + +.item-offer-content span li span::before{ + display:none!important +} + +.blue{ + color: #0060AF; +} + +.item-offer li{ + list-style: none; +} + +.cart-item-marketPrice{ + font-size: 14px; + line-height: 18px; + color: #999; + text-decoration: line-through; +} + +.cart-item-info .cart-col-2{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.cart-item-info .cart-col-3{ + margin: 6px 0; +} + +.price-cart-item{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 8px; + margin: 4px 0 10px; + flex-wrap: wrap; +} + +.global-cart .product-info-offer{margin-top: 0 !important;border: 1px solid #DA251C !important;} +.global-cart .cart-customer-infomation{border-top:0 !important;} + +.quantity-change{ + display: block; + float: left; + width: 38px; + height: 28px; + line-height: 28px; + font-size: 16px; + color: #000; + cursor: pointer; + text-align: center; + border: 1px solid #D9D9D9; +} + +.quantity-buy{ + width: 80px; + float: left; + border: 1px solid #D9D9D9; + text-align: center; + line-height: 28px; + font-size: 20px; + color: #3A3A3A; + font-weight: 700; + height: 28px; + outline: none; +} + + + +.cart-item-text{ + margin-top: 10px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +.cart-item-info .cart-col-4{ + margin-top: 10px; + color: #D91605; + font-weight: 600; + display: flex; + justify-content: flex-end; +} + +.cart-item-info .cart-col-5{ + font-size: 16px; + color: #DA251C; + margin-left: 15px; +} + +.customer-info p{ + padding-left: 6px; + background: #F1F1F1; +} + +.cart-customer-infomation{ + width: 100%; + border-radius: 10px; + overflow: hidden; + background: #fff; + padding: 6px 10px 0; + position: relative; + border-top: 8px solid #DA251C; + +} + +.cart-customer-infomation::before{ + content: ''; + background-image: url(./image/cart/cart-border.jpg) ; + background-position: -55px 0px; + height: 4px; + position: absolute; + left: 0; + right: 0; + top: 0; + +} + +.cart-customer-left{ + width: 100%; + margin-right: 68px; +} + +.customer-info{ + border: 1px solid #D9D9D9; + border-radius: 2px; + color: #3A3A3A; + font-size: 16px; + font-weight: 700; + line-height: 32px; + margin-bottom: 10px; +} + +.cart-customer-upload-file, .receipt-info{ + margin-top: 16px; +} + +.cart-customer-group-info .item-group .title{margin-bottom:6px;} + +.cart-customer-group-info input, .cart-customer-group-info select, .cart-customer-group-info input, .cart-customer-group-info select, .cart-customer-group-info textarea, .cart-customer-upload-file input{ + margin-bottom: 12px; + background: #FFFFFF; + border: 1px solid #D9D9D9; + border-radius: 5px; + padding: 0 16px; + height: 40px; + color: #818181; + outline: none; + resize: none; + width: 100%; +} +.cart-customer-group-info textarea::-webkit-input-placeholder { + font-size: 14px; +} +.cart-customer-group-info textarea::-moz-placeholder { + font-size: 14px; +} +.cart-customer-group-info textarea:-ms-input-placeholder { + font-size: 14px; +} +.cart-customer-group-info textarea::-ms-input-placeholder { + font-size: 14px; +} +.cart-customer-group-info textarea::placeholder { + font-size: 14px; +} +.cart-customer-upload-file input{ + width: 100%; +} + +.cart-customer-group-info input:nth-child(2), .cart-customer-group-info input:last-child{ + width: 100%; +} + +.cart-customer-group-info input:nth-child(3){ + margin-right: 7px; +} + +.cart-customer-group-info input:nth-child(7){ + width: 100%; +} + +.cart-customer-group-info select{ + width: 100%; + outline: none; +} + +.label-container input{ + width: 12px !important; + height: 12px; +} + +.cart-sex-user{ + margin-bottom: 17px; +} + +.label-container:first-child{ + margin-right: 12px; +} + +.cart-customer-group-info textarea{ + height: 130px; + padding: 15px; + width: 100%; + font-family: 'Roboto'; + resize: unset; +} + +.cart-btn-group{ + width: 100%; +} + +.cart-btn-group a{ + font-size: 16px; + background: #DA251C; + border-radius: 5px; + line-height: 40px; + color: #fff !important; + display: block; + text-align: center; + width: 100%; + text-transform: uppercase; + float: left; + margin-bottom: 8px; +} + + +.cart-btn-img{ + margin-right: 12px; +} + +.cart-customer-right{ + width :100%; +} + +.cart-customer-title-pay{ + background: #F1F1F1; + border: 1px solid #D9D9D9; + border-radius: 2px; + line-height: 32px; + color: #3A3A3A; + font-size: 16px; + font-weight: 700; + margin-bottom: 12px; +} + + +.cart-customer-title i{ + margin-right: 8px; +} + +.cart-customer-right .label-container{ + margin-bottom: 8px; + display:block; +} + +.cart-customer-right .label-container input{ + margin-right: 8px; + width: 14px !important; + height: 14px !important; +} + +.cart-customer-right .label-container input, .cart-customer-left .label-container input{ + border:2px solid white; + -webkit-box-shadow:0 0 0 1px #EE1B25; + box-shadow:0 0 0 1px #EE1B25; + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + border-radius:50%; + background-color:#fff; + -webkit-transition:all ease-in 0.2s; + -o-transition:all ease-in 0.2s; + transition:all ease-in 0.2s; + cursor: pointer; +} + +.cart-customer-left .label-container input{ + padding: 0 !important; + margin-bottom: 0px !important; + +} + +.cart-customer-right .label-container input:checked, .cart-customer-left .label-container input:checked{ + background-color: #EE1B25; +} + +.infomation-customer-detail{ + margin-left: 35px; +} + +.infomation-customer-detail p{ + margin-bottom: 13px; +} + + + +.total-title{ + margin: 20px 0; +} + +.cart-customer-total{ + display: flex; + justify-content: space-between; + padding: 12px 10px; + font-size: 13px; + align-items: center; + color: #797979; +} + + +.cart-customer-total-price{ + font-size: 14px; +} + +.cart-btn-buy{ + margin-top: 15px; +} + +.total-product span{ + font-weight: 600; +} + +.total-product p{ + font-size: 18px; + font-weight: 700; + color: #DA251C; +} + +.cart-btn-buy button{ + width: 100%; + line-height: 46px; + background: #DA251C; + border-radius: 5px; + font-size: 20px; + border: none; + color: #fff; + text-transform: uppercase; + cursor: pointer; + margin-bottom: 10px; + +} + +.cart-go-pro a{color:#DA251C} + +.cart-btn-buy button:hover{ + background: #ba1e22; +} + +.none-product-cart{ + margin: 60px 0; + text-align: center; +} + +.none-product-cart p{ + font-size: 24px; + font-weight: 700!important; + margin-bottom: 16px; + line-height: 36px; +} + +.none-product-cart a{ + font-size: 16px; + font-weight: 600!important; + color: #d91605; +} + +.cart-voucher-group{ + padding: 12px; + background: #f5f5f5; + margin-bottom: 12px; +} + +.cart-voucher-form{ + position: relative; + overflow: hidden; + border-radius: 6px; + margin-bottom: 6px; +} + +.voucher-input{ + width: 100%; + font-size: 14px; + height: 40px; + padding: 0 2px 0 12px; + border: none; + outline: none; +} + +.btn-check-voucher{ + top: 0; + bottom: 0; + right: 0; + background: #DA251C; + color: #fff !important; + width: 140px; + position: absolute; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + font-size: 14px; +} + +.btn-check-voucher i{ + margin-right: 10px; +} + +.voucher-message{ + display: none; +} + +.cart-btn-pay{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.cart-pay{ + width: calc(100% / 2 - 5px); + margin: 10px 10px 0 0; + line-height: 1.5; + padding: 5px; + background-color: #e90707 !important; + color: #ffffff !important; + border: none; + outline: none; + border-radius: 5px; +} + +.cart-pay p{ + font-size: 18px; + font-weight: 700; + text-transform: uppercase; +} + +.cart-pay span{ + font-size: 12px; +} + +.card-pay-bank{ + background-color: #288ad6 !important; +} + +/* SEND CART */ +.send-cart-success, .send-cart-error{ + max-width: 824px; + margin: auto; +} + +.send-cart-title{ + padding: 20px 10px; + text-align: center; +} + +.send-cart-title-name{ + font-weight: 600; + color: #DA251C; + font-size: 24px; + font-size: 24px; + margin-bottom: 8px; + line-height: 30px; +} + +.send-cart-title-descreption{ + font-weight: 300; + font-size: 15px; + line-height: 20px; + text-align: center; +} + +.red-text{ + color: var(--red); +} + +.send-cart-title-descreption a{ + font-weight: 700; + text-decoration: none; +} + +.send-cart-info{ + padding: 20px 15px; + margin-top: 12px; + background: #f2f2f2; + font-weight: 300; + font-size: 14px; +} + +.send-cart-info p{ + margin-bottom: 16px; + width: 100%; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.send-cart-info b{ + font-weight: 700; + width: 50%; + display: inline-block; +} + +.send-cart-info span{ + width: 50%; +} + +.send-cart-detail-product{ + margin-top: 15px; + -webkit-box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 20%); + box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 20%); + border: 1px solid #dee2e6!important; +} + +.send-cart-product-title{ + padding: 15px; + font-size: 18px; + font-weight: 600; + text-transform: uppercase; + border-bottom: 1px solid #dee2e6; +} + +.send-cart-product-info{ + padding: 10px; + display: block; + width: 100%; + border-bottom: 1px solid #dee2e6; + +} + +.send-cart-item-left{ + width: 84px; + margin-right: 10px; + float: left; + height: 100%; +} + +.send-cart-item-left img{ + width: 100%; + height: 100%; +} + +.send-cart-item-center a{ + float: left; + width: calc(100% - 94px); + margin-bottom: 14px; +} + + + +.send-cart-item-right{ + text-align: right; + line-height: 20px; + margin-top: 10px; + font-size: 14px; +} + +.new-price, .total-price{ + font-size: 18px; + color: #D60000; + font-weight: 800; +} + +.new-price{ + color: #000 !important; +} + +.old-price{ + font-size: 16px; + color: #888; + text-decoration: line-through; +} + +.number-item{ + font-weight: 700; + font-size: 12px; +} + +.total-item{ + color: #D91605; + font-size: 16px; + font-weight: 800; +} + +.send-cart-total{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 15px; +} + +.send-cart-total p:first-child{ + font-size: 16px; + font-weight: 700; +} + +.again-cart{ + display: block; + text-decoration: none; + padding: 22px 0 50px; + text-align: center; + color: #DA251C; + font-weight: 600; + font-size: 22px; + text-transform: uppercase; +} + +.send-cart-item-center a:hover{ + color: #D60000; +} + +.send-cart-error-descreption{ + text-align: center; +} + +.send-cart-error-title{ + color: #DA251C; + font-size: 28px; + font-weight: 700; + margin: 15px 0; + line-height: 36px; +} + +.send-cart-error-descreption p:nth-child(3){ + font-size: 15px; + margin-bottom: 15px; + padding: 0 10px; +} + + +.send-cart-error-descreption p:last-child{ + font-size: 15px; + margin-bottom: 48px; +} + + +.sprite-send-cart-face { + background-position: -103px -96.5px !important; + width: 30px; + height: 30px; + background-size: 155px 131.5px !important; + margin: 0 auto; + -webkit-filter: invert(34%) sepia(83%) saturate(2123%) hue-rotate(131deg) brightness(97%) contrast(101%); + filter: invert(34%) sepia(83%) saturate(2123%) hue-rotate(131deg) brightness(97%) contrast(101%); +} + + +/*ARTICLE*/ +.article-category { + padding:10px; + background: #f7f7f7; + color: #000; + font-weight: 600; +} + +.article-category ul{ + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + font-size: 16px; +} + +.article-category ul li img{ + width: 28px; + margin-right:10px; +} + + +.article-page .article-content { + background-color: #fff; +} + +.article-page .section-hero { + border-bottom: 2px solid #e1e1e1; + padding-bottom: 20px; +} + +.article-page .section-hero .sprite-article-icon-eye { + -webkit-filter: brightness(0) invert(1); + filter: brightness(0) invert(1); +} + + +.article-page .section-hero .col-left { + min-width: 0; + border-radius: 25px; + overflow: hidden; +} + +.article-page .section-hero .col-right { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + gap: 38px; +} +.article-page .article-hero { + position: relative; + border-radius: 20px; + overflow: hidden; + height: 100%; +} + +.article-page .article-hero img { + height: 100%; +} + +.article-page .article-hero-content { + position: absolute; + bottom: 10%; + left: 16px; + max-width: 357px; +} + +.article-page .article-hero-content .wrapper { + gap: 30px; + margin-top: 16px; +} + +.article-page .swiper-article-category { + background: linear-gradient(90deg, #FF5C00 0%, #FFA800 100%); + border-radius: 20px; + padding: 2px; + display: inline-block; + color: #fff; + font-size: 14px; + padding: 6px; +} + +.article-page .swiper-article-slider { + position: relative; +} + +.article-page .swiper-article-slider h2 { + font-size: 18px; + line-height: 40px; + font-weight: 600; + max-width: 740px; +} + +.article-page .swiper-article-slider .wrapper { + position: absolute; + left: 10px; + bottom: 30px; +} + +.article-page .swiper-button-next, +.article-page .swiper-button-prev { + background: rgba(202, 202, 202, 0.15); +} + + + +.article-page .section-main-content { + padding-top: 20px; +} + +.article-page .article-box { + margin-bottom: 24px; + font-size: 16px; +} + +.article-category li:hover, .article-category li.active{ + color: #DA251C; +} + +a.font-weight-bold.text-artilce-right.box-content-right.line-clamp-2 { + width: calc(100% - 105px - 10px); + margin-left: 10px; + margin-top: 10px; +} + +.article-page .article-item .sprite-article-icon-clock, +.article-page .article-newest .sprite-article-icon-clock-small, .sprite-article-icon-clock { + -webkit-filter: brightness(0%); + filter: brightness(0%); +} + + + +.article-page .article-box .grid { + gap: 10px; +} + +.article-page .article-box .article-image { + position: relative; + border-radius: 5px; + overflow: hidden; + display: block; + margin-bottom: 10px; +} + +.article-page .article-box .article-image img{ + border-radius: 5px; + height: 100%; +} + +.article-page .article-box .article-image h4 { + position: absolute; + left: 10px; + bottom: 20px; +} + +.article-page .article-box .article-text { + margin: 10px 0; + font-size: 19px; + line-height: 25px; +} + +.article-hero-features{ + font-size: 16px; +} + +.article-hero-features p{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + word-break: break-all; +} + +.article-hero-features p i{ + margin-right: 8px; +} + +.article-page .article-box-heading { + font-size: 20px; + line-height: 24px; + font-weight: 700; + border-bottom: 2px solid #DA251C; + text-transform: uppercase; + margin-bottom: 10px; + display: inline-block; +} + +.article-page .article-box-heading-category, .article-box-heading-detail{ + border-bottom:none !important; +} + +.article-box-heading-detail{ + margin-bottom: 21px !important; +} + +.article-hero-features-detail{ + padding-bottom: 14px; + border-bottom: 1px solid #D9D9D9; + gap: 10px; + flex-wrap: wrap; +} + +.article-page .article-box-btn { + padding-top: 20px; + text-align: center; + position: relative; +} + +.article-page .article-box-btn a { + display: inline-block; + color: #939393; + padding: 9px 25px 7px; + border: 1px solid #999999; +} + +.article-newest ul{ + margin-top: 10px; +} + +.article-page .article-newest-heading { + font-size: 20px; + line-height: 26px; +} + +.article-page .article-newest { + padding-bottom: 20px; +} + +.article-page .article-newest .wrapper { + margin-top: 8px; +} + +.article-page .article-newest li { + margin-bottom: 20px; + list-style: none; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + font-size: 16px; +} + +.article-page .article-newest li .box-img{ + width: 40%; + margin-right: 10px; +} + +.article-page .article-newest li .text-artilce-right{ + width: calc(100% - 40% - 10px); +} + +.new-artilce-text{ + width: 50%; +} + +.new-artilce-name{ + width: 100% !important; +} + +.gap-10 { + gap: 10px; +} + +.article-page .article-newest img { + border-radius: 8px; +} + +.article-page .article-newest .wrapper { + margin-top: 8px; +} + +.article-page .product-sale img { + max-width: 120px; + margin-right: 10px; +} + +.article-page .product-sale .article-box-heading { + margin-bottom: 8px; +} + +.article-page .product-sale li { + padding: 12px 0; + border-bottom: 2px solid #f6f6f6; +} + +.article-page .product-sale li:last-child{ + padding-bottom:0!important; + border-bottom:unset !important; +} + +.article-page .article-banner { + padding-top: 20px; +} + +.product-sale .price{ + font-size: 16px; + color:#DA251C; + font-weight: 700; + margin-top: 4px; +} + + +.product-hot-text{ + width: calc(100% - 105px - 10px); + margin-left: 10px; + margin-top: 10px; +} + + +.article-page .section-promotional .article-box-btn::after { + right: 18%; +} + +.article-page .section-promotional .article-box-btn::before { + left: 18%; +} + +.article-page .section-videos { + background-color: #DA251C; + padding: 16px 10px; + border-radius: 5px; +} + +.article-page .section-videos .article-box-heading { + margin-bottom: 10px; + font-size: 25px !important; + color: var(--white); + font-style: normal; +} + +.article-page .section-videos .header-global-item { + display: inline-block; + margin-top: 20px; +} + +.article-page .section-videos .article-box { + margin-bottom: 0; +} + +.article-page .section-videos .text-video-artilce { + font-size: 18px; + line-height: 26px; + color: var(--white); +} + +.article-page .section-videos i, .col-left ul .article-image i { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); +} + +/* ARTICLE CATEGORY */ +.article-content-category{ + padding-top: 0 !important; +} + +.article-box-title{ + margin-bottom: 12px; +} + +.article-box-title span::before{ + content: '\f111'; + font-family: 'Font Awesome 5 Free'; + color: #000; + font-size: 6px; + margin-right: 5px; + font-weight: 900; +} + +.pagingViewed{ + padding: 8px 14px; + background-color: #DA251C; + border-radius: 5px; + color: #fff; +} + +.pagingIntact{ + padding: 8px 14px; + border-radius: 5px; +} + +.box-article-paging{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + margin-bottom: 30px; +} + +.article-box-detail{ + margin-top: 18px; +} + +.article-box-detail p{ + line-height: 32px; +} + +.article-box-detail h2, +.article-box-detail h3{ + margin: 12px 0; + display: block; + font-size: 20px; + line-height: 26px; +} + +.article-box-detail img{ + height: auto; + margin: 0 auto; + padding: 8px 0; +} + +.toc_title img{ + width: 28px; + margin: 12px 12px 12px 0; +} + +#js-outp{margin-left:21px} + +#js-outp li{list-style: auto;line-height: 26px;} + +.article-image-detail{ + height: unset !important; + width: 50%; +} + +.article-item{ + margin-bottom: 25px; +} + +.article-item-detail{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + gap: 10px; +} + +.list-item-artilce-detail{ + gap: 10px !important; +} + + +.article-image-detail h4{ + bottom: 10px !important; +} + +.article-detail-text{ + width: calc(50% - 18px); +} + + + +.article-detail{ + margin-bottom: 0 !important; +} + +.article-box-detail .archor-text-group { + background-color: #F6F5F5; + border-radius: 25px; + padding: 0 20px; + width: -webkit-fit-content; + width: -moz-fit-content; + width: fit-content; + margin: 10px 0; +} + +.article-box-detail .archor-text-group ol { + padding-bottom: 20px; +} + +.text-ship { + background: #DA251C; + color: #fff; + padding: 6px; + margin-top: 10px; + font-size: 13px; +} + +.text-ship a{ + color: yellow; + font-size: 16px; + font-weight: 700; +} + +/* ICON MAP ARTICLE */ +.sprite-article { + background-image: url(/static/assets/default/images/sprite-article.png); + background-repeat: no-repeat; + background-size: 120.5px 99px; + display: block; +} + +.sprite-article-icon-clock { + width: 20px; + height: 20px; + background-position: -2.5px -2.5px !important; +} + +.sprite-article-icon-clock-small { + width: 18px; + height: 18px; + background-position: -1.875px -1.875px !important; + background-size: 90.375px 74.25px !important; +} + +.sprite-article-icon-eye { + width: 20px; + height: 20px; + background-position: -27.5px -2.5px !important; +} + +.sprite-article-icon-gamepad { + width: 28px; + height: 28px; + background-position: -52.5px -2.5px !important; +} + +.sprite-article-icon-list { + width: 25px; + height: 25px; + background-position: -2px -35px !important; +} + +.sprite-article-icon-play { + width: 53.5px; + height: 53.5px; + background-position: -31.5px -35.5px !important; +} + +.sprite-article-icon-play-btn { + width: 28px; + height: 28px; + background-position: -85.1px -2.5px !important; +} + +.sprite-article-icon-tag { + width: 28px; + height: 28px; + background-position: -90px -35.5px !important; +} + +.sprite-article-icon-write { + width: 26px; + height: 28px; + background-position: -90px -68.5px !important; +} + + +/* CUSTOMER */ +.customer-content-group { + max-width: 825px; + margin: 20px auto; + -webkit-box-shadow: 0px 0px 7px 0px rgb(0 0 0 / 20%); + box-shadow: 0px 0px 7px 0px rgb(0 0 0 / 20%); + background: #fff; + padding: 20px 10px; +} + +.customer-content-title { + text-align: center; + font-size: 18px; + font-weight: 600; +} +.customer-content-title a { + color: #222; +} +.customer-content-title a:first-child { + margin-right: 16px; +} +.customer-content-title a.current, +.customer-content-title a:hover { + color: #DA251C; + border-bottom: 1px solid #DA251C; +} + +.customer-form { + margin: auto; + max-width: 616px; +} +.customer-form .item { + margin-top: 20px; + font-weight: 300; +} +.customer-form .item input { + display: block; + width: 100%; + border: 1px solid #d7d7d7; + padding: 0 12px; + height: 42px; + border-radius: 5px; + margin-top: 5px; + font-size: 16px; + outline: none; +} +.customer-form .item span { + color: #d91605; +} +.customer-form .item p { + font-size: 14px; + font-weight: 400; +} +.btn-customer { + width: 100%; + height: 46px; + border: 0; + border-radius: 6px; + background-color: #DA251C; + font-size: 18px; + font-weight: 600; + color: #fff; + margin-top: 30px; + cursor: pointer; +} +.password-input { + position: relative; +} +.show-pass { + position: absolute; + top: 50%; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); + right: 10px; +} + +.forgot-password { + display: block; + text-align: right; + color: #208ce8; + margin: 8px 0 0; + font-size: 14px; +} + +.forgot-password-content { + max-width: 800px; + padding-top: 50px; + margin: 0 auto; +} +.forgot-password-content h2 { + font-size: 26px; + font-weight: 600; + margin-bottom: 8px; +} +.forgot-password-content p { + font-size: 16px; + margin-bottom: 20px; +} +.forgot-password-content table { + width: 100%; +} +.forgot-password-content input { + width: 100%; + padding: 10px 8px; + font-size: 18px; + border-radius: 5px; + outline: none; + border: 1px solid var(--color-primary); +} +.forgot-password-content td:first-child { + font-size: 18px; +} +.btn-forgot-password { + display: block; + width: 50%; + margin: 30px auto; +} + +.js-alert-mess { + font-size: 16px; + font-weight: 500; + color: #d91605; +} + +/* ACCOUNT */ +.section-account .account { + padding: 30px 0; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + gap: 10px; + font-size: 16px; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +.section-account .account .left-title { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + margin: 0 60px 20px 0; + width: 220px; +} + +.section-account .account .left-title span { + font-size: 16px; + font-weight: 400; +} + +.section-account .account .left-title p { + font-size: 18px; + margin-top: 4px; +} + +.section-account .account .title-list { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + gap: 8px; +} + +.section-account .account .title-list a { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + gap: 8px; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding: 10px 0px; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + text-align: center; + width: 95px; +} +.section-account .account .title-list a:hover { + background-color: #f5f5f5; +} + +.section-account .account .col-right { + padding: 10px; + -webkit-box-shadow: 0 0 5px rgb(0 0 0 / 20%); + box-shadow: 0 0 5px rgb(0 0 0 / 20%); +} + +.section-account .account .col-right h2 { + font-size: 22px; + font-weight: 600; + margin-bottom: 16px; +} + +.section-account .col-right table { + width: 100%; +} + +.section-account .account .col-right .form-input { + width: 100%; + padding-left: 13px; + border-radius: 5px; + border: 1px solid #e1e1e1; + height: 38px; + margin-bottom: 8px; + outline-color: var(--color-primary); +} + +.section-account .btn-change { + padding: 10px 20px; + border: none; + background-color: #ee2d24; + color: #fff; + border-radius: 5px; + font-size: 16px; + cursor: pointer; + margin-top: 10px; +} + +.section-account .order-page table { + font-size: 16px; +} + +.section-account .order-page td { + padding: 4px; + border: 1px solid #ccc; +} + +.section-account .red-bold { + color: #d91605; + font-weight: 600; +} + +.section-account .send-cart-info{ + padding: 20px 15px; + margin-top: 12px; + background: #f2f2f2; + font-weight: 300; +} + +.section-account .send-cart-info p{ + margin-bottom: 16px; + width: 100%; +} + +.section-account .send-cart-info b{ + font-weight: 700; + width: 145px; + display: inline-block; +} + +.section-account .send-cart-info span{ + width: calc(100% - 200px); +} + +.section-account .send-cart-detail-product{ + margin-top: 15px; + -webkit-box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 20%); + box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 20%); + border: 1px solid #dee2e6!important; +} + +.section-account .send-cart-product-title{ + padding: 20px 15px; + font-size: 18px; + font-weight: 600; + text-transform: uppercase; + border-bottom: 1px solid #dee2e6; +} + +.section-account .send-cart-product-info{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; + padding: 15px; + width: 100%; + border-bottom: 1px solid #dee2e6; + +} + +.section-account .send-cart-item-left{ + margin-right: 8px; + text-align: center; +} + +.section-account .send-cart-item-left img{ + width: 100%; +} + +.section-account .send-cart-item-center a{ + font-size: 14px; + font-weight: 600; + color: #222; + text-decoration: none ; +} + +.section-account .send-cart-item-right{ + line-height: 20px; + margin-top: 8px; +} + +.section-account .new-price, .total-price{ + font-size: 18px; + color: #D60000; + font-weight: 800; +} + +.section-account .new-price{ + color: #000 !important; + font-size: 17px; +} + +.section-account .old-price{ + font-size: 16px; + color: #888; + text-decoration: line-through; +} + +.section-account .number-item{ + font-weight: 700; + font-size: 13px; + margin: 3px 0; +} + +.section-account .total-item{ + color: #D91605; + font-size: 17px; + font-weight: 800; +} + +.section-account .send-cart-total{ + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 15px; +} + +.section-account .send-cart-total p:first-child{ + font-size: 16px; + font-weight: 700; +} + +.section-account .again-cart{ + display: block; + text-decoration: none; + padding: 22px 0 50px ; + text-align: center; + color: #D60000; + font-weight: 600; + font-size: 22px; + text-transform: uppercase; +} +