.aplus-v2 .aplus-content-wrapper { position: relative; overflow: hidden; } .aplus-v2 .container-with-background-image { width: 100%; height: 100%; background-repeat: no-repeat; background-size: cover; } .aplus-v2 .aplus-module-csa-wrapper { display: flow-root; } function logShoppableMetrics(moduleName, showsAddToCart) { if (window.ue && window.ue.count) { window.ue.count("aplus:shoppable:" + moduleName + ":addToCart", showsAddToCart ? 1 : 0); } } Product description .aplus-v2 .premium-aplus-module-13 .aplus-carousel-container { position: relative; } .aplus-v2 .premium-aplus-module-13 .aplus-carousel-element { position: relative; width: 100%; } .aplus-v2 .premium-aplus-module-13 .aplus-card-link-button { text-align: center; padding-top: 20px; } .aplus-v2 .premium-aplus-module-13 .aplus-text-background, .aplus-v2 .premium-aplus-module-13 .aplus-text-background h1, .aplus-v2 .premium-aplus-module-13 .aplus-text-background h5, .aplus-v2 .premium-aplus-module-13 .aplus-text-background ol, .aplus-v2 .premium-aplus-module-13 .aplus-text-background ul, .aplus-v2 .premium-aplus-module-13 .aplus-text-background ol .a-list-item, .aplus-v2 .premium-aplus-module-13 .aplus-text-background ul .a-list-item { color: #fff; } /** * Premium-module 11: FAQs - Common Styles (All Devices) */ .aplus-v2 .premium-aplus-module-11 { background: #fff; position: relative; } .aplus-v2 .premium-aplus-module-11.aplus-secondary-color { background: #000; } .aplus-v2 .premium-aplus-module-11 .aplus-question, .aplus-v2 .premium-aplus-module-11 .aplus-answer { display: block; width: 100%; margin: 0; } .aplus-v2 .premium-aplus-module-11 .aplus-answer { visibility: hidden; opacity: 0; height: 0; transition: display 0.1s linear, opacity 0.1s linear, height 0.1s linear; transition-behavior: allow-discrete; } .aplus-v2 .premium-aplus-module-11 .aplus-active .aplus-answer { visibility: visible; opacity: 1; height: auto; height: calc-size(auto); min-height: 40px; } .aplus-v2 .premium-aplus-module-11 .faq-list { margin: 0; } .aplus-v2 .premium-aplus-module-11 .faq-block { position: relative; list-style-type: none; cursor: pointer; border: 2px solid #E6E6E6; background: #fff; border-radius: 3px; margin-bottom: 10px; } .aplus-v2 .premium-aplus-module-11.aplus-secondary-color .faq-block { border: none; } .aplus-v2 .premium-aplus-module-11 .aplus-question::before, .aplus-v2 .premium-aplus-module-11 .aplus-answer::before { text-align: center; border-radius: 3px; display: inline-block; font-weight: 500; position: absolute; color: #fff; top: 10px; left: 10px; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-11 .aplus-question::before, html[dir="rtl"] .aplus-v2 .premium-aplus-module-11 .aplus-answer::before { right: 10px; } .aplus-v2 .premium-aplus-module-11 .aplus-question::before { content: "Q"; background: #505050; transition: background 0.1s linear; z-index: 2; } .aplus-v2 .premium-aplus-module-11 .aplus-answer::before { content: "A"; background: #DF7600; color: #000000; z-index: 1; transform: translateY(0px); transition: transform 0.1s linear; } .aplus-v2 .premium-aplus-module-11 .faq-block.aplus-active .aplus-question::before { background: #404040; } .aplus-v2 .premium-aplus-module-11 .faq-block.aplus-active .aplus-answer::before { transform: translateY(40px); } .aplus-v2 .premium-aplus-module-11 .faq-arrow { position: absolute; top: 25px; border: 10px solid transparent; border-top-color: #505050; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-11 .faq-arrow { right: auto; } .aplus-v2 .premium-aplus-module-11 .aplus-active .faq-arrow { top: 15px; border-top-color: transparent; border-bottom-color: #404040; } .aplus-v2 .premium-aplus-module-2 .premium-background-wrapper { position: relative; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper { position: absolute; width: 50%; height: 100%; top: 0; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right { left: 50%; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right { left: auto; right: 50%; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.secondary-color { color: #fff; } .aplus-v2 .premium-aplus-module-2 .premium-intro-background { padding: 20px; } .aplus-v2 .premium-aplus-module-2 .aplus-module-2-topic { padding-bottom: 10px; } .aplus-v2 .premium-aplus-module-2 .aplus-module-2-heading { padding-bottom: 20px; } .aplus-v2 .premium-aplus-module-2 .aplus-module-2-description { line-height: 1.5em; } .aplus-v2 .premium-aplus-module-2 .premium-intro-background.white-background { background: rgba(255,255,255,0.5); } .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background { background: rgba(0,0,0,0.5); } .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background h1, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background h5, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ol, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ul, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ol .a-list-item, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ul .a-list-item { color: #fff; } .aplus-v2 .premium-aplus-module-2 .premium-intro-content-container { display: table; height: 100%; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.left .premium-intro-content-container { padding-left: 40px; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.left .premium-intro-content-container { padding-left: 0px; padding-right: 40px; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right .premium-intro-content-container { padding-right: 40px; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right .premium-intro-content-container { padding-right: 0px; padding-left: 40px; } .aplus-v2 .premium-aplus-module-2 .premium-intro-content-column { display: table-cell; vertical-align: middle; } /** * Common event handler for click and keydown events. * @param {Event} event - The event object. * @param {Function} handleClickOrEnter - Function to handle click or Enter key events. * @param {Function} handleEsc - Function to handle Esc key events. */ // [TODO][AplusMantle-8064] Create common event handler util(key events, click events) in AplusModuleResources function handleClickAndKeyEvents(event, handleClickOrEnterOrSpace) { const ENTER_KEY_CODE = 13; const ESCAPE_KEY_CODE = 27; const SPACE_KEY_CODE = 32; const isClick = event.type === 'click'; const isKeydown = event.type === 'keydown'; const isEnter = isKeydown && event.keyCode === ENTER_KEY_CODE; const isSpace = isKeydown && event.keyCode === SPACE_KEY_CODE; const isEsc = isKeydown && event.keyCode === ESCAPE_KEY_CODE; if (isClick || isEnter || isSpace) { handleClickOrEnterOrSpace(); } else if (isEsc) { handleEsc(event); } } /** * Function to handle esc key event. * @param {Event} event - The event object. */ function handleEsc(event) { event.target.blur() // force remove focus } /** * Premium modules global styles */ .aplus-v2.desktop { max-width: 1464px; min-width: 800px; margin-left: auto; margin-right: auto; word-wrap: break-word; overflow-wrap: break-word; word-break: break-word; } /* Undo this for tech-specs because it breaks table layout */ .aplus-v2.desktop .premium-aplus .aplus-tech-spec-table { word-break: initial; } .aplus-v2 .premium-aplus, .aplus-v2 .premium-aplus .aplus-h1, .aplus-v2 .premium-aplus .aplus-h2, .aplus-v2 .premium-aplus .aplus-p1, .aplus-v2 .premium-aplus .aplus-p2, .aplus-v2 .premium-aplus .aplus-p3, .aplus-v2 .premium-aplus .aplus-accent1, .aplus-v2 .premium-aplus .aplus-accent2 { font-family: Arial, sans-serif; } .aplus-v2 .premium-aplus, .aplus-v2 .premium-aplus .aplus-h1, .aplus-v2 .premium-aplus .aplus-h2, .aplus-v2 .premium-aplus .aplus-p1, .aplus-v2 .premium-aplus .aplus-p2, .aplus-v2 .premium-aplus .aplus-p3, .aplus-v2 .premium-aplus .aplus-accent1, .aplus-v2 .premium-aplus .aplus-accent2 { font-family: inherit; } /* type */ .aplus-v2 .premium-aplus .aplus-h1 { font-size: 32px; line-height: 1.2em; font-weight: 500; } .aplus-v2 .premium-aplus .aplus-h2 { font-size: 26px; line-height: 1.25em; font-weight: 500; } .aplus-v2 .premium-aplus .aplus-h3 { font-size: 18px; line-height: 1.25em; font-weight: 500; } .aplus-v2 .premium-aplus .aplus-p1 { font-size: 20px; line-height: 1.3em; font-weight: 300; } .aplus-v2 .premium-aplus .aplus-p2 { font-size: 16px; line-height: 1.4em; font-weight: 300; } .aplus-v2 .premium-aplus .aplus-p3 { font-size: 14px; line-height: 1.4em; font-weight: 300; } .aplus-v2 .premium-aplus .aplus-accent1 { font-size: 16px; line-height: 1.4em; font-weight: 600; } .aplus-v2 .premium-aplus .aplus-accent2 { font-size: 14px; line-height: 1.4em; font-weight: 600; } /* spacing */ .aplus-v2 .aplus-container-1 { padding: 40px; } .aplus-v2 .aplus-container-1-2 { padding: 40px 80px; } .aplus-v2 .aplus-container-2 { padding: 80px; } .aplus-v2 .aplus-container-3 { padding: 40px 0; } /* Display */ .aplus-v2 .premium-aplus .aplus-display-table { display: table; } .aplus-v2 .premium-aplus .aplus-display-table-cell { display: table-cell; } .aplus-v2 .premium-aplus .aplus-display-inline-block { display: inline-block; } /* Aplus display table with min-width 1000px and fill remaining space inside parent */ .aplus-v2.desktop .premium-aplus .aplus-display-table-width { min-width: 1000px; width: 100% } /** * Padding and margin for element should be 10, 20, 40, or 80 px. Considering mini 10, small 20, medium 40, large 80. */ /** * Premium-module 11: FAQs */ .aplus-v2 .premium-aplus-module-11 .aplus-question { line-height: 25px; padding-bottom: 10px; } .aplus-v2 .premium-aplus-module-11 .faq-block { padding: 10px 80px 15px 100px; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-11 .faq-block { padding-left: 80px; padding-right: 100px; } .aplus-v2 .premium-aplus-module-11 .faq-block.aplus-active { padding-bottom: 35px; } .aplus-v2 .premium-aplus-module-11 .aplus-question::before, .aplus-v2 .premium-aplus-module-11 .aplus-answer::before { width: 80px; line-height: 40px; font-size: 25px; } .aplus-v2 .premium-aplus-module-11 .faq-arrow { right: 40px; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-11 .faq-arrow { left: 40px; } (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.now('premium-module-11-faq').execute('init-premium-module-11-faq', function(init) { if (init) { return; } P.register('premium-module-11-faq', function() { return function() { P.when('A', 'jQuery', 'ready').execute('premium-11-faq', function(A, $){ function initFaq(module) { const MODULE_CLASS_NAME = 'premium-aplus-module-11'; const FAQ_CONTAINER_CLASS_NAME = 'faqs-container'; const FAQ_BLOCK_CLASS_NAME = 'faq-block'; const moduleId = $(module).data('faq-block'); const $faqBlocks = $('.aplus-v2 .' + MODULE_CLASS_NAME + ' .' + FAQ_CONTAINER_CLASS_NAME + '.' + moduleId + ' .' + FAQ_BLOCK_CLASS_NAME); /** * Function to handle click or Enter or Space key events. * @param {Element} element - The this object from which the event is dispatched * @param {faqBlocks} faqBlocks - List of all the Question and Answer blocks. */ function handleClickOrEnterOrSpace(element, faqBlocks) { const $element = $(element); const isActive = $element.hasClass('aplus-active'); faqBlocks.removeClass('aplus-active'); faqBlocks.find('[data-faq-question]').attr('aria-expanded', 'false'); if (!isActive) { $element.addClass('aplus-active'); $element.find('[data-faq-question]').attr('aria-expanded', 'true'); } } /* Using jQuery event namespace for preventing duplicate binding on twister refresh */ $faqBlocks.unbind('click keydown.premiumAplusModule11ClickHandler').bind('click keydown.premiumAplusModule11ClickHandler', function(event) { handleClickAndKeyEvents(event, () => handleClickOrEnterOrSpace(this, $faqBlocks)); }); } $(".aplus-v2 .premium-aplus-module-11 .faqs-container").each(function(index, module) { initFaq(module); }); }); }; }); }); })); /** * Premium-module 13: Carousel */ .aplus-v2 .premium-aplus-module-13 .aplus-card-description-wrapper { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .aplus-v2 .premium-aplus-module-13 .aplus-card-description { display: table; width: 50%; height: 100%; color: #fff; } .aplus-v2 .premium-aplus-module-13 .aplus-card-table-cell { display: table-cell; vertical-align: middle; text-align: left; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-13 .aplus-card-table-cell { text-align: right; } .aplus-v2 .premium-aplus-module-13 .aplus-text-background { background: rgba(0, 0, 0, 0.6); } .aplus-v2 .premium-aplus-module-13 .aplus-card-body { padding: 20px 40px 0 0; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-13 .aplus-card-body { padding: 20px 0 0 40px; } .aplus-v2 .premium-aplus-module-13 .aplus-pagination-wrapper { position: absolute; top: 92%; width: 100%; } Previous page Next page .aplus-mantle.aplus-module .aplus-pagination-dots { margin: 0; } .aplus-mantle.aplus-module .aplus-pagination-dot { display: inline-block; list-style: none; } .aplus-mantle.aplus-module .aplus-carousel-nav { text-align:center; } .aplus-mantle.aplus-module .carousel-slider-circle { display: inline-block; cursor: pointer; height: 15px; width: 15px; border: 1px solid #000; border-radius: 20px; background-color: #fff; margin-left: 5px; } .aplus-mantle.aplus-module .carousel-slider-circle.aplus-carousel-active { background-color: #DE7921; } .aplus-mantle.aplus-module .aplus-pagination-dot--display-none { display: none; } P.now("premium-aplus-13-carousel-1").execute("init-pagination-carousel", function(init) { if (init) { return; } P.register("premium-aplus-13-carousel-1", function() { return function() { P.when("A", "jQuery", "a-carousel-framework", "ready").execute("paginate-carousel", function (A, $, framework) { const ENTER_KEY_CODE = 13; const ESCAPE_KEY_CODE = 27; const LEFT_ARROW_KEY = 37; const RIGHT_ARROW_KEY = 39; const HOME_KEY = 36; const END_KEY = 35; var moduleId = "1"; var carouselName = "premium-aplus-13-carousel-1"; var paginationAction = "aplus-pagination-dot-action-" + moduleId + "-" + carouselName; var paginationGroup = "#aplus-pagination-group-" + moduleId + "-" + carouselName; /* If the carousel goes to a new page */ A.on("a:carousel:"+carouselName+":change:pageNumber", function (data) { A.$(paginationGroup+" .carousel-slider-circle").removeClass("aplus-carousel-active").attr('aria-selected', 'false').attr('tabindex', -1) .eq(data.newValue - 1).addClass("aplus-carousel-active").attr('aria-selected', 'true').attr('tabindex', 0); }); function syncPaginationDotsWithCarouselPages(numPages) { const parentElement = document.querySelector(paginationGroup); if (parentElement && parentElement.children) { const children = parentElement.children; for (let i = 0; i < children.length; i++) { if (i >= numPages) { // If number of dots > num of pages, we should hide other dots children[i].classList.add('aplus-pagination-dot--display-none'); } else if (children[i].classList.contains('aplus-pagination-dot--display-none')) { // Reset display of dots if it was hidden before children[i].classList.remove('aplus-pagination-dot--display-none'); } } } } framework.onInit(carouselName, function (carousel) { try { var totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); /* Resize event handler to re-calculate the pagination dots count based on orientation */ window.addEventListener('resize', function() { carousel.resize(); totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); }); A.declarative(paginationAction, 'click keydown', function(event){ var isClick = event.type === 'click'; var isKeydown = event.type === 'keydown'; var isEnter = isKeydown && event.$event.keyCode === ENTER_KEY_CODE; var isEsc = isKeydown && event.$event.keyCode === ESCAPE_KEY_CODE; var isLeftArrow = isKeydown && event.$event.keyCode === LEFT_ARROW_KEY; var isRightArrow = isKeydown && event.$event.keyCode === RIGHT_ARROW_KEY; var isHome = isKeydown && event.$event.keyCode === HOME_KEY; var isEnd = isKeydown && event.$event.keyCode === END_KEY; if (isClick || isEnter) { var data = event.data; carousel.gotoPage(data.page); } else if (isEsc) { event.$target.blur(); } else if (isLeftArrow || isRightArrow || isHome || isEnd) { event.$event.preventDefault(); const dots = A.$(paginationGroup + " .carousel-slider-circle"); const currentIndex = dots.index(event.$target); let nextIndex; if (isLeftArrow) { nextIndex = currentIndex > 0 ? currentIndex - 1 : dots.length - 1; } else if (isRightArrow) { nextIndex = currentIndex < dots.length - 1 ? currentIndex + 1 : 0; } else if (isHome) { nextIndex = 0; } else if (isEnd) { nextIndex = dots.length - 1; } dots.eq(nextIndex).focus(); carousel.gotoPage(nextIndex + 1); } }); } catch (e) { P.log('Failed to init ' + carouselName + '. Error: ' + e.message, 'FATAL', 'AplusModuleResources'); } }); }); } }); }); (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when("premium-aplus-13-carousel-1").execute('invoke-premium-13-carousel-desktop', function(init){init();}); })); Previous page Next page .aplus-mantle.aplus-module .aplus-pagination-dots { margin: 0; } .aplus-mantle.aplus-module .aplus-pagination-dot { display: inline-block; list-style: none; } .aplus-mantle.aplus-module .aplus-carousel-nav { text-align:center; } .aplus-mantle.aplus-module .carousel-slider-circle { display: inline-block; cursor: pointer; height: 15px; width: 15px; border: 1px solid #000; border-radius: 20px; background-color: #fff; margin-left: 5px; } .aplus-mantle.aplus-module .carousel-slider-circle.aplus-carousel-active { background-color: #DE7921; } .aplus-mantle.aplus-module .aplus-pagination-dot--display-none { display: none; } P.now("premium-aplus-13-carousel-2").execute("init-pagination-carousel", function(init) { if (init) { return; } P.register("premium-aplus-13-carousel-2", function() { return function() { P.when("A", "jQuery", "a-carousel-framework", "ready").execute("paginate-carousel", function (A, $, framework) { const ENTER_KEY_CODE = 13; const ESCAPE_KEY_CODE = 27; const LEFT_ARROW_KEY = 37; const RIGHT_ARROW_KEY = 39; const HOME_KEY = 36; const END_KEY = 35; var moduleId = "2"; var carouselName = "premium-aplus-13-carousel-2"; var paginationAction = "aplus-pagination-dot-action-" + moduleId + "-" + carouselName; var paginationGroup = "#aplus-pagination-group-" + moduleId + "-" + carouselName; /* If the carousel goes to a new page */ A.on("a:carousel:"+carouselName+":change:pageNumber", function (data) { A.$(paginationGroup+" .carousel-slider-circle").removeClass("aplus-carousel-active").attr('aria-selected', 'false').attr('tabindex', -1) .eq(data.newValue - 1).addClass("aplus-carousel-active").attr('aria-selected', 'true').attr('tabindex', 0); }); function syncPaginationDotsWithCarouselPages(numPages) { const parentElement = document.querySelector(paginationGroup); if (parentElement && parentElement.children) { const children = parentElement.children; for (let i = 0; i < children.length; i++) { if (i >= numPages) { // If number of dots > num of pages, we should hide other dots children[i].classList.add('aplus-pagination-dot--display-none'); } else if (children[i].classList.contains('aplus-pagination-dot--display-none')) { // Reset display of dots if it was hidden before children[i].classList.remove('aplus-pagination-dot--display-none'); } } } } framework.onInit(carouselName, function (carousel) { try { var totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); /* Resize event handler to re-calculate the pagination dots count based on orientation */ window.addEventListener('resize', function() { carousel.resize(); totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); }); A.declarative(paginationAction, 'click keydown', function(event){ var isClick = event.type === 'click'; var isKeydown = event.type === 'keydown'; var isEnter = isKeydown && event.$event.keyCode === ENTER_KEY_CODE; var isEsc = isKeydown && event.$event.keyCode === ESCAPE_KEY_CODE; var isLeftArrow = isKeydown && event.$event.keyCode === LEFT_ARROW_KEY; var isRightArrow = isKeydown && event.$event.keyCode === RIGHT_ARROW_KEY; var isHome = isKeydown && event.$event.keyCode === HOME_KEY; var isEnd = isKeydown && event.$event.keyCode === END_KEY; if (isClick || isEnter) { var data = event.data; carousel.gotoPage(data.page); } else if (isEsc) { event.$target.blur(); } else if (isLeftArrow || isRightArrow || isHome || isEnd) { event.$event.preventDefault(); const dots = A.$(paginationGroup + " .carousel-slider-circle"); const currentIndex = dots.index(event.$target); let nextIndex; if (isLeftArrow) { nextIndex = currentIndex > 0 ? currentIndex - 1 : dots.length - 1; } else if (isRightArrow) { nextIndex = currentIndex < dots.length - 1 ? currentIndex + 1 : 0; } else if (isHome) { nextIndex = 0; } else if (isEnd) { nextIndex = dots.length - 1; } dots.eq(nextIndex).focus(); carousel.gotoPage(nextIndex + 1); } }); } catch (e) { P.log('Failed to init ' + carouselName + '. Error: ' + e.message, 'FATAL', 'AplusModuleResources'); } }); }); } }); }); (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when("premium-aplus-13-carousel-2").execute('invoke-premium-13-carousel-desktop', function(init){init();}); })); Previous page Next page .aplus-mantle.aplus-module .aplus-pagination-dots { margin: 0; } .aplus-mantle.aplus-module .aplus-pagination-dot { display: inline-block; list-style: none; } .aplus-mantle.aplus-module .aplus-carousel-nav { text-align:center; } .aplus-mantle.aplus-module .carousel-slider-circle { display: inline-block; cursor: pointer; height: 15px; width: 15px; border: 1px solid #000; border-radius: 20px; background-color: #fff; margin-left: 5px; } .aplus-mantle.aplus-module .carousel-slider-circle.aplus-carousel-active { background-color: #DE7921; } .aplus-mantle.aplus-module .aplus-pagination-dot--display-none { display: none; } P.now("premium-aplus-13-carousel-3").execute("init-pagination-carousel", function(init) { if (init) { return; } P.register("premium-aplus-13-carousel-3", function() { return function() { P.when("A", "jQuery", "a-carousel-framework", "ready").execute("paginate-carousel", function (A, $, framework) { const ENTER_KEY_CODE = 13; const ESCAPE_KEY_CODE = 27; const LEFT_ARROW_KEY = 37; const RIGHT_ARROW_KEY = 39; const HOME_KEY = 36; const END_KEY = 35; var moduleId = "3"; var carouselName = "premium-aplus-13-carousel-3"; var paginationAction = "aplus-pagination-dot-action-" + moduleId + "-" + carouselName; var paginationGroup = "#aplus-pagination-group-" + moduleId + "-" + carouselName; /* If the carousel goes to a new page */ A.on("a:carousel:"+carouselName+":change:pageNumber", function (data) { A.$(paginationGroup+" .carousel-slider-circle").removeClass("aplus-carousel-active").attr('aria-selected', 'false').attr('tabindex', -1) .eq(data.newValue - 1).addClass("aplus-carousel-active").attr('aria-selected', 'true').attr('tabindex', 0); }); function syncPaginationDotsWithCarouselPages(numPages) { const parentElement = document.querySelector(paginationGroup); if (parentElement && parentElement.children) { const children = parentElement.children; for (let i = 0; i < children.length; i++) { if (i >= numPages) { // If number of dots > num of pages, we should hide other dots children[i].classList.add('aplus-pagination-dot--display-none'); } else if (children[i].classList.contains('aplus-pagination-dot--display-none')) { // Reset display of dots if it was hidden before children[i].classList.remove('aplus-pagination-dot--display-none'); } } } } framework.onInit(carouselName, function (carousel) { try { var totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); /* Resize event handler to re-calculate the pagination dots count based on orientation */ window.addEventListener('resize', function() { carousel.resize(); totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); }); A.declarative(paginationAction, 'click keydown', function(event){ var isClick = event.type === 'click'; var isKeydown = event.type === 'keydown'; var isEnter = isKeydown && event.$event.keyCode === ENTER_KEY_CODE; var isEsc = isKeydown && event.$event.keyCode === ESCAPE_KEY_CODE; var isLeftArrow = isKeydown && event.$event.keyCode === LEFT_ARROW_KEY; var isRightArrow = isKeydown && event.$event.keyCode === RIGHT_ARROW_KEY; var isHome = isKeydown && event.$event.keyCode === HOME_KEY; var isEnd = isKeydown && event.$event.keyCode === END_KEY; if (isClick || isEnter) { var data = event.data; carousel.gotoPage(data.page); } else if (isEsc) { event.$target.blur(); } else if (isLeftArrow || isRightArrow || isHome || isEnd) { event.$event.preventDefault(); const dots = A.$(paginationGroup + " .carousel-slider-circle"); const currentIndex = dots.index(event.$target); let nextIndex; if (isLeftArrow) { nextIndex = currentIndex > 0 ? currentIndex - 1 : dots.length - 1; } else if (isRightArrow) { nextIndex = currentIndex < dots.length - 1 ? currentIndex + 1 : 0; } else if (isHome) { nextIndex = 0; } else if (isEnd) { nextIndex = dots.length - 1; } dots.eq(nextIndex).focus(); carousel.gotoPage(nextIndex + 1); } }); } catch (e) { P.log('Failed to init ' + carouselName + '. Error: ' + e.message, 'FATAL', 'AplusModuleResources'); } }); }); } }); }); (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when("premium-aplus-13-carousel-3").execute('invoke-premium-13-carousel-desktop', function(init){init();}); })); Previous page Next page .aplus-mantle.aplus-module .aplus-pagination-dots { margin: 0; } .aplus-mantle.aplus-module .aplus-pagination-dot { display: inline-block; list-style: none; } .aplus-mantle.aplus-module .aplus-carousel-nav { text-align:center; } .aplus-mantle.aplus-module .carousel-slider-circle { display: inline-block; cursor: pointer; height: 15px; width: 15px; border: 1px solid #000; border-radius: 20px; background-color: #fff; margin-left: 5px; } .aplus-mantle.aplus-module .carousel-slider-circle.aplus-carousel-active { background-color: #DE7921; } .aplus-mantle.aplus-module .aplus-pagination-dot--display-none { display: none; } P.now("premium-aplus-13-carousel-4").execute("init-pagination-carousel", function(init) { if (init) { return; } P.register("premium-aplus-13-carousel-4", function() { return function() { P.when("A", "jQuery", "a-carousel-framework", "ready").execute("paginate-carousel", function (A, $, framework) { const ENTER_KEY_CODE = 13; const ESCAPE_KEY_CODE = 27; const LEFT_ARROW_KEY = 37; const RIGHT_ARROW_KEY = 39; const HOME_KEY = 36; const END_KEY = 35; var moduleId = "4"; var carouselName = "premium-aplus-13-carousel-4"; var paginationAction = "aplus-pagination-dot-action-" + moduleId + "-" + carouselName; var paginationGroup = "#aplus-pagination-group-" + moduleId + "-" + carouselName; /* If the carousel goes to a new page */ A.on("a:carousel:"+carouselName+":change:pageNumber", function (data) { A.$(paginationGroup+" .carousel-slider-circle").removeClass("aplus-carousel-active").attr('aria-selected', 'false').attr('tabindex', -1) .eq(data.newValue - 1).addClass("aplus-carousel-active").attr('aria-selected', 'true').attr('tabindex', 0); }); function syncPaginationDotsWithCarouselPages(numPages) { const parentElement = document.querySelector(paginationGroup); if (parentElement && parentElement.children) { const children = parentElement.children; for (let i = 0; i < children.length; i++) { if (i >= numPages) { // If number of dots > num of pages, we should hide other dots children[i].classList.add('aplus-pagination-dot--display-none'); } else if (children[i].classList.contains('aplus-pagination-dot--display-none')) { // Reset display of dots if it was hidden before children[i].classList.remove('aplus-pagination-dot--display-none'); } } } } framework.onInit(carouselName, function (carousel) { try { var totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); /* Resize event handler to re-calculate the pagination dots count based on orientation */ window.addEventListener('resize', function() { carousel.resize(); totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); }); A.declarative(paginationAction, 'click keydown', function(event){ var isClick = event.type === 'click'; var isKeydown = event.type === 'keydown'; var isEnter = isKeydown && event.$event.keyCode === ENTER_KEY_CODE; var isEsc = isKeydown && event.$event.keyCode === ESCAPE_KEY_CODE; var isLeftArrow = isKeydown && event.$event.keyCode === LEFT_ARROW_KEY; var isRightArrow = isKeydown && event.$event.keyCode === RIGHT_ARROW_KEY; var isHome = isKeydown && event.$event.keyCode === HOME_KEY; var isEnd = isKeydown && event.$event.keyCode === END_KEY; if (isClick || isEnter) { var data = event.data; carousel.gotoPage(data.page); } else if (isEsc) { event.$target.blur(); } else if (isLeftArrow || isRightArrow || isHome || isEnd) { event.$event.preventDefault(); const dots = A.$(paginationGroup + " .carousel-slider-circle"); const currentIndex = dots.index(event.$target); let nextIndex; if (isLeftArrow) { nextIndex = currentIndex > 0 ? currentIndex - 1 : dots.length - 1; } else if (isRightArrow) { nextIndex = currentIndex < dots.length - 1 ? currentIndex + 1 : 0; } else if (isHome) { nextIndex = 0; } else if (isEnd) { nextIndex = dots.length - 1; } dots.eq(nextIndex).focus(); carousel.gotoPage(nextIndex + 1); } }); } catch (e) { P.log('Failed to init ' + carouselName + '. Error: ' + e.message, 'FATAL', 'AplusModuleResources'); } }); }); } }); }); (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when("premium-aplus-13-carousel-4").execute('invoke-premium-13-carousel-desktop', function(init){init();}); })); Previous page Next page .aplus-mantle.aplus-module .aplus-pagination-dots { margin: 0; } .aplus-mantle.aplus-module .aplus-pagination-dot { display: inline-block; list-style: none; } .aplus-mantle.aplus-module .aplus-carousel-nav { text-align:center; } .aplus-mantle.aplus-module .carousel-slider-circle { display: inline-block; cursor: pointer; height: 15px; width: 15px; border: 1px solid #000; border-radius: 20px; background-color: #fff; margin-left: 5px; } .aplus-mantle.aplus-module .carousel-slider-circle.aplus-carousel-active { background-color: #DE7921; } .aplus-mantle.aplus-module .aplus-pagination-dot--display-none { display: none; } P.now("premium-aplus-13-carousel-5").execute("init-pagination-carousel", function(init) { if (init) { return; } P.register("premium-aplus-13-carousel-5", function() { return function() { P.when("A", "jQuery", "a-carousel-framework", "ready").execute("paginate-carousel", function (A, $, framework) { const ENTER_KEY_CODE = 13; const ESCAPE_KEY_CODE = 27; const LEFT_ARROW_KEY = 37; const RIGHT_ARROW_KEY = 39; const HOME_KEY = 36; const END_KEY = 35; var moduleId = "5"; var carouselName = "premium-aplus-13-carousel-5"; var paginationAction = "aplus-pagination-dot-action-" + moduleId + "-" + carouselName; var paginationGroup = "#aplus-pagination-group-" + moduleId + "-" + carouselName; /* If the carousel goes to a new page */ A.on("a:carousel:"+carouselName+":change:pageNumber", function (data) { A.$(paginationGroup+" .carousel-slider-circle").removeClass("aplus-carousel-active").attr('aria-selected', 'false').attr('tabindex', -1) .eq(data.newValue - 1).addClass("aplus-carousel-active").attr('aria-selected', 'true').attr('tabindex', 0); }); function syncPaginationDotsWithCarouselPages(numPages) { const parentElement = document.querySelector(paginationGroup); if (parentElement && parentElement.children) { const children = parentElement.children; for (let i = 0; i < children.length; i++) { if (i >= numPages) { // If number of dots > num of pages, we should hide other dots children[i].classList.add('aplus-pagination-dot--display-none'); } else if (children[i].classList.contains('aplus-pagination-dot--display-none')) { // Reset display of dots if it was hidden before children[i].classList.remove('aplus-pagination-dot--display-none'); } } } } framework.onInit(carouselName, function (carousel) { try { var totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); /* Resize event handler to re-calculate the pagination dots count based on orientation */ window.addEventListener('resize', function() { carousel.resize(); totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); }); A.declarative(paginationAction, 'click keydown', function(event){ var isClick = event.type === 'click'; var isKeydown = event.type === 'keydown'; var isEnter = isKeydown && event.$event.keyCode === ENTER_KEY_CODE; var isEsc = isKeydown && event.$event.keyCode === ESCAPE_KEY_CODE; var isLeftArrow = isKeydown && event.$event.keyCode === LEFT_ARROW_KEY; var isRightArrow = isKeydown && event.$event.keyCode === RIGHT_ARROW_KEY; var isHome = isKeydown && event.$event.keyCode === HOME_KEY; var isEnd = isKeydown && event.$event.keyCode === END_KEY; if (isClick || isEnter) { var data = event.data; carousel.gotoPage(data.page); } else if (isEsc) { event.$target.blur(); } else if (isLeftArrow || isRightArrow || isHome || isEnd) { event.$event.preventDefault(); const dots = A.$(paginationGroup + " .carousel-slider-circle"); const currentIndex = dots.index(event.$target); let nextIndex; if (isLeftArrow) { nextIndex = currentIndex > 0 ? currentIndex - 1 : dots.length - 1; } else if (isRightArrow) { nextIndex = currentIndex < dots.length - 1 ? currentIndex + 1 : 0; } else if (isHome) { nextIndex = 0; } else if (isEnd) { nextIndex = dots.length - 1; } dots.eq(nextIndex).focus(); carousel.gotoPage(nextIndex + 1); } }); } catch (e) { P.log('Failed to init ' + carouselName + '. Error: ' + e.message, 'FATAL', 'AplusModuleResources'); } }); }); } }); }); (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when("premium-aplus-13-carousel-5").execute('invoke-premium-13-carousel-desktop', function(init){init();}); })); Why does the interface of the downloaded "BagiBagi" app look different? The app has been updated; to better protect user privacy, the new version no longer displays conversation logs with the AI. Since the previous version included this feature, the app interface may appear different. How to activate AI? After connecting the Z01 device via Bluetooth, simply double-press the power button to activate the AI. How do I enter translation mode on the Z01 electronic badge? After activating the AI conversation feature on the Z01, you can simply say "Enter translation mode" to the AI, and it will prompt you to select the two languages for translation. How do I exit translation mode on the Z01? Simply say "Exit translation mode" to the AI; if the AI fails to understand your command, you can exit translation mode by pressing the power button on the digital badge to end the conversation. Do the AI features require an internet connection? Yes. The AI conversation feature can only be unlocked by connecting the device to your phone via Bluetooth using the "BagiBagi" app. The paired phone requires a mobile network connection for the AI chat function to operate correctly. (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when('premium-module-11-faq').execute('invoke-premium-11-faq', function(init){ init(); }); }));
Brand / provider: ZNP
Source domain: www.amazon.com
Detected source type: product
Source category: Office Products > Office Electronics > Electronic Dictionaries, Thesauri & Translators > Foreign Language Translators
Chrome source: https://www.amazon.com/dp/B0GZNM6NVD
Source image: https://m.media-amazon.com/images/I/61oUpB7sQSL.jpg