Keto Done Right™ Digital Recipe eBook
/* ========================================================== KETO DONE RIGHT FULL-WIDTH SHOPIFY SALES PAGE INTERACTIVE RECIPE PREVIEW WITH REAL PHOTOS ============================ ============================== */ html, body { overflow-x: hidden !important; } /* STOP SHOPIFY PRODUCT IMAGE FROM FOLLOWING THE SCROLL */ .product__media-wrapper, .product__media-container, .product-media-container, .product__column-sticky, .product__media-wrapper .sticky, .product__media-list, .product__media, media-gallery, .slider-mobile-gutter { position: static !important; top: auto !important; bottom: auto !important; transform: none !important; height: auto !important; max-height: none !important; min-height: 0 !important; overflow: visible !important; align-self: flex-start !important; } /* WIDEN SHOPIFY PRODUCT AREA */ body.template-product .page-width, .template-product .page-width { width: min(96%, 1500px) !important; max-width: 1500px !important; padding-left: 20px !important; padding-right: 20px !important; } /* FORCE SALES PAGE TO FULL BROWSER WIDTH */ #kdr-full-page { position: relative !important; left: 50% !important; display: block !important; width: 100vw !important; max-width: 100vw !important; min-width: 100vw !important; margin: 0 0 0 -50vw !important; padding: 0 !important; clear: both !important; overflow: hidden !important; background: #faf6ee !important; z-index: 1 !important; } #kdr-full-page, #kdr-full-page * { box-sizing: border-box; } #kdr-full-page .kdr-wrap { width: 100% !important; max-width: 1240px !important; min-width: 0 !important; margin: 0 auto !important; padding: 0 !important; background: #faf6ee; color: #33402e; font-family: "Karla", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; } .shopify-section:has(#kdr-full-page), .shopify-section:has(#kdr-full-page) .page-width, .shopify-section:has(#kdr-full-page) .custom-liquid, .shopify-section:has(#kdr-full-page) .rte { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; } .kdr-wrap h1, .kdr-wrap h2, .kdr-wrap h3 { margin: 0 0 12px; color: #23301f; font-family: "Fraunces", Georgia, serif; line-height: 1.12; writing-mode: horizontal-tb !important; word-break: normal !important; overflow-wrap: normal !important; white-space: normal !important; } .kdr-section { padding: 60px clamp(20px, 5vw, 72px); } .kdr-eyebrow { display: inline-block; margin-bottom: 12px; color: #b54a2c; font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; } /* BUTTONS */ .kdr-btn, .kdr-btn:link, .kdr-btn:visited, .kdr-btn:hover, .kdr-btn:active { display: inline-block; padding: 16px 34px; border: 0; border-radius: 5px; background: #b54a2c; box-shadow: 0 4px 0 #8e3a20; color: #ffffff !important; font-family: "Karla", sans-serif; font-size: 16px; font-weight: 700; text-decoration: none; text-align: center; cursor: pointer; transition: transform 0.15s ease, box-shadow 0.15s ease; } .kdr-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 0 #8e3a20; } .kdr-price-line { margin: 16px 0 5px; font-family: "Fraunces", Georgia, serif; } .kdr-price-old { margin-right: 9px; color: #9c9483; font-size: 17px; text-decoration: line-through; } .kdr-price-new { color: #b54a2c; font-size: 29px; font-weight: 700; } .kdr-microtrust { margin-top: 11px; color: #748067; font-size: 12px; } /* ========================================================== RECIPE PREVIEW HERO ========================================================== */ .kdr-preview-hero { width: 100%; padding: 64px clamp(20px, 5vw, 70px) 58px; border-bottom: 1px dashed #d9cfb4; background: radial-gradient( circle at 10% 20%, rgba(232, 199, 126, 0.24), transparent 28% ), radial-gradient( circle at 90% 75%, rgba(181, 74, 44, 0.1), transparent 25% ), #faf6ee; } .kdr-preview-heading { width: 100%; max-width: 850px; margin: 0 auto 34px; text-align: center; } .kdr-preview-heading h1 { max-width: 830px; margin: 0 auto 16px; font-size: clamp(38px, 5.6vw, 66px); } .kdr-hero-sub { max-width: 700px; margin: 0 auto; color: #4b5741; font-size: clamp(17px, 2vw, 20px); } .kdr-preview-shell { position: relative; width: 100% !important; max-width: 980px !important; min-width: 0 !important; margin: 0 auto !important; } .kdr-swipe-label { display: flex; margin-bottom: 15px; align-items: center; justify-content: center; gap: 8px; color: #68725f; font-size: 13px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; } .kdr-swipe-icon { display: inline-flex; font-size: 18px; animation: kdrSwipeHint 1.8s ease-in-out infinite; } @keyframes kdrSwipeHint { 0%, 100% { transform: translateX(-3px); } 50% { transform: translateX(5px); } } .kdr-recipe-viewport { position: relative; width: 100%; overflow: hidden; border: 1px solid #ded3ba; border-radius: 18px; background: #e9dfca; box-shadow: 0 20px 45px rgba(35, 48, 31, 0.13); } .kdr-recipe-track { display: flex !important; width: 100% !important; transition: transform 0.48s cubic-bezier(0.22, 0.75, 0.26, 1); touch-action: pan-y; } .kdr-recipe-slide { flex: 0 0 100% !important; width: 100% !important; min-width: 100% !important; padding: clamp(12px, 3vw, 28px); } .kdr-recipe-page { display: grid !important; grid-template-columns: minmax(320px, 0.9fr) minmax(420px, 1.1fr) !important; width: 100%; min-height: 560px; overflow: hidden; border: 1px solid #e3d9c2; border-radius: 12px; background: #fffdf8; } /* REAL RECIPE PHOTOS */ .kdr-recipe-photo { position: relative; width: 100%; min-height: 560px; overflow: hidden; background: #eadfc8; } .kdr-recipe-photo img { display: block; width: 100%; height: 100%; min-height: 560px; object-fit: cover; object-position: center; } .kdr-recipe-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient( to top, rgba(24, 32, 21, 0.48), transparent 42% ); pointer-events: none; } .kdr-photo-label { position: absolute; right: 22px; bottom: 22px; left: 22px; z-index: 2; padding: 11px 15px; border: 1px solid rgba(255, 255, 255, 0.62); border-radius: 6px; background: rgba(35, 48, 31, 0.86); color: #ffffff; font-family: "Fraunces", Georgia, serif; font-size: 18px; text-align: center; } .kdr-recipe-content { width: 100%; min-width: 0; padding: clamp(32px, 5vw, 56px); } .kdr-recipe-number { margin-bottom: 8px; color: #b54a2c; font-size: 11px; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; } .kdr-recipe-title { width: 100%; margin-bottom: 5px !important; font-size: clamp(30px, 4vw, 43px); } .kdr-recipe-category { margin: 0 0 23px; color: #79806d; font-size: 13px; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; } .kdr-recipe-content h3 { margin: 22px 0 9px; font-size: 19px; } .kdr-ingredient-list { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; width: 100%; margin: 0; padding: 0; gap: 8px 22px; list-style: none; } .kdr-ingredient-list li { position: relative; min-width: 0; padding-left: 16px; color: #3f4939; font-size: 14px; } .kdr-ingredient-list li::before { content: "•"; position: absolute; left: 0; color: #b54a2c; font-weight: 700; } .kdr-instructions-wrap { position: relative; min-height: 148px; margin-top: 8px; overflow: hidden; border-top: 1px solid #eee5d2; } .kdr-blurred-instructions { padding-top: 12px; color: #50594b; font-size: 14px; filter: blur(4.5px); opacity: 0.62; user-select: none; } .kdr-blurred-instructions p { margin: 0 0 8px; } .kdr-recipe-lock { position: absolute; inset: 0; display: flex; padding: 15px; align-items: center; justify-content: center; background: linear-gradient( to bottom, rgba(255, 253, 248, 0.12), rgba(255, 253, 248, 0.95) ); text-align: center; } .kdr-recipe-lock-inner { max-width: 300px; padding: 16px 20px; border: 1px solid #dfd1b3; border-radius: 7px; background: rgba(255, 253, 248, 0.97); box-shadow: 0 7px 18px rgba(35, 48, 31, 0.1); } .kdr-lock-icon { display: block; margin-bottom: 5px; color: #b54a2c; font-size: 18px; } .kdr-lock-text { color: #33402e; font-size: 13px; font-weight: 700; line-height: 1.4; } /* SLIDER CONTROLS */ .kdr-recipe-nav { display: flex; margin-top: 18px; align-items: center; justify-content: center; gap: 14px; } .kdr-arrow { display: inline-flex; width: 44px; height: 44px; padding: 0; align-items: center; justify-content: center; border: 1px solid #cfc1a3; border-radius: 50%; background: #fffdf8; color: #33402e; font-size: 21px; cursor: pointer; } .kdr-arrow:hover { background: #f1e8d5; } .kdr-arrow:disabled { cursor: not-allowed; opacity: 0.38; } .kdr-dots { display: flex; align-items: center; justify-content: center; gap: 8px; } .kdr-dot { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: #cfc4ac; cursor: pointer; } .kdr-dot.is-active { width: 27px; border-radius: 10px; background: #b54a2c; } .kdr-preview-count { margin-top: 12px; color: #76806e; font-size: 12px; text-align: center; } .kdr-hero-cta { margin-top: 34px; text-align: center; } /* ========================================================== SALES PAGE SECTIONS ========================================================== */ .kdr-card { position: relative; width: 100%; max-width: 880px; margin: 0 auto; padding: 31px 30px; border: 1px dashed #d9cfb4; border-radius: 8px; background: #ffffff; } .kdr-card::before { content: ""; position: absolute; top: -1px; left: 28px; width: 48px; height: 8px; border-radius: 0 0 4px 4px; background: #eadfc2; } .kdr-tag { display: inline-block; margin-bottom: 14px; padding: 5px 11px; border-radius: 3px; background: #23301f; color: #faf6ee; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; } .kdr-list { margin: 0; padding: 0; list-style: none; } .kdr-list li { position: relative; padding: 11px 0 11px 32px; border-bottom: 1px solid #f0ead9; font-size: 16px; } .kdr-list li:last-child { border-bottom: 0; } .kdr-list.kdr-x li::before { content: "✕"; position: absolute; top: 11px; left: 0; color: #c48a6e; font-size: 13px; font-weight: 700; } .kdr-list.kdr-check li::before { content: "✓"; position: absolute; top: 11px; left: 0; color: #5b7a4a; font-size: 15px; font-weight: 700; } .kdr-h2-center { margin-bottom: 8px !important; font-size: clamp(30px, 4vw, 43px); text-align: center; } .kdr-h2-sub { max-width: 720px; margin: 0 auto 31px; color: #6b715f; font-size: 16px; text-align: center; } .kdr-benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; max-width: 1050px; margin: 30px auto 0; gap: 18px; } .kdr-benefit { padding: 27px 23px; border: 1px solid #e4dac3; border-radius: 8px; background: #fffdf8; } .kdr-benefit-icon { display: flex; width: 44px; height: 44px; margin-bottom: 15px; align-items: center; justify-content: center; border-radius: 50%; background: #efe4ca; color: #b54a2c; font-size: 20px; } .kdr-benefit h3 { font-size: 21px; } .kdr-benefit p { margin: 0; color: #5d6656; font-size: 14px; } .kdr-book-showcase { display: grid; grid-template-columns: minmax(230px, 0.72fr) minmax(0, 1.28fr); width: 100%; max-width: 1000px; margin: 0 auto; align-items: center; gap: clamp(35px, 6vw, 75px); } .kdr-book-image { display: block; width: 100%; max-width: 340px; margin: 0 auto; filter: drop-shadow(0 18px 28px rgba(35, 48, 31, 0.2)); } .kdr-book-copy h2 { font-size: clamp(32px, 4vw, 45px); } .kdr-book-copy p { color: #53604c; font-size: 16px; } .kdr-category-pills { display: flex; margin: 22px 0 27px; flex-wrap: wrap; gap: 9px; } .kdr-category-pills span { padding: 7px 11px; border: 1px solid #d8ceb8; border-radius: 40px; background: #fffdf8; color: #45503f; font-size: 13px; font-weight: 700; } .kdr-testimonial { width: 100%; max-width: 820px; margin: 0 auto; padding: 37px 32px; border: 1px solid #dfd4bc; border-radius: 8px; background: #fffdf8; text-align: center; } .kdr-stars { margin-bottom: 14px; color: #b87c31; font-size: 19px; letter-spacing: 3px; } .kdr-quote { margin: 0 0 10px; color: #33402e; font-family: "Fraunces", Georgia, serif; font-size: clamp(20px, 3vw, 28px); font-style: italic; } .kdr-quote-name { margin: 0; color: #75806c; font-size: 13px; font-weight: 700; } .kdr-pricebox { width: 100%; max-width: 940px; margin: 0 auto; padding: 52px 35px; border-radius: 14px; background: #23301f; color: #faf6ee; text-align: center; } .kdr-pricebox h2 { max-width: 720px; margin-right: auto; margin-left: auto; color: #faf6ee; font-size: clamp(31px, 4.5vw, 47px); } .kdr-pricebox p { max-width: 610px; margin: 0 auto 7px; color: #c7d0be; font-size: 16px; } .kdr-pricebox .kdr-price-old { color: #9ba894; } .kdr-pricebox .kdr-price-new { color: #e8c77e; } .kdr-pricebox .kdr-btn { margin-top: 17px; } .kdr-pricebox .kdr-microtrust { color: #b7c1ae; } .kdr-faq { width: 100%; max-width: 880px; margin: 0 auto; border-top: 1px solid #e5dec7; } .kdr-faq details { padding: 19px 3px; border-bottom: 1px solid #e5dec7; } .kdr-faq summary { color: #23301f; cursor: pointer; font-size: 16px; font-weight: 700; list-style: none; } .kdr-faq summary::-webkit-details-marker { display: none; } .kdr-faq summary::after { content: "+"; float: right; color: #b54a2c; font-size: 21px; } .kdr-faq details[open] summary::after { content: "–"; } .kdr-faq p { margin: 11px 0 0; color: #4b5741; font-size: 15px; } /* TABLET */ @media screen and (max-width: 900px) { .kdr-recipe-page { grid-template-columns: 1fr !important; } .kdr-recipe-photo, .kdr-recipe-photo img { min-height: 420px; max-height: 520px; } .kdr-benefit-grid { grid-template-columns: 1fr; max-width: 680px; } .kdr-book-showcase { grid-template-columns: 1fr; text-align: center; } .kdr-category-pills { justify-content: center; } } /* MOBILE */ @media screen and (max-width: 749px) { body.template-product .page-width, .template-product .page-width { width: 100% !important; padding-right: 12px !important; padding-left: 12px !important; } #kdr-full-page { left: 0 !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin-left: 0 !important; } .kdr-section { padding: 46px 18px; } .kdr-preview-hero { padding: 46px 12px 45px; } .kdr-preview-heading { padding: 0 7px; } .kdr-preview-heading h1 { font-size: 38px; } .kdr-recipe-slide { padding: 8px; } .kdr-recipe-page { grid-template-columns: 1fr !important; min-height: 0; } .kdr-recipe-photo, .kdr-recipe-photo img { min-height: 320px; max-height: 390px; } .kdr-photo-label { right: 14px; bottom: 14px; left: 14px; font-size: 15px; } .kdr-recipe-content { padding: 28px 23px 32px; } .kdr-recipe-title { font-size: 32px; } .kdr-ingredient-list { grid-template-columns: 1fr !important; gap: 6px; } .kdr-card { padding: 25px 20px; } .kdr-pricebox { padding: 42px 22px; } } @media (prefers-reduced-motion: reduce) { .kdr-recipe-track, .kdr-btn, .kdr-swipe-icon { animation: none !important; transition: none !important; } } Swipe the Real Recipes Below, See for Yourself Bored of the Same 4 Keto Meals? Here Are 140 You'll Actually Crave. Pizza rolls. Margaritas. Warm muffins. Zucchini fries. This isn't sad grilled chicken... it's 140 real recipes so you stop staring into the fridge wondering what's left to eat. ↔ Swipe to preview the recipes Crispy Keto Zucchini Fries Recipe Preview 01 Crispy Keto Zucchini Fries Snack · Side Dish · Air Fryer Friendly Ingredients Fresh zucchini Grated Parmesan Almond flour Egg Garlic powder Italian seasoning Salt and pepper Cooking spray Instructions Cut the zucchini into evenly sized fries and prepare the crispy coating. Dip and coat each piece using the method that helps the breading stay in place. Cook until golden and crisp outside while remaining tender inside. ♡ See the exact measurements and complete directions inside Keto Done Right Creamy Keto Egg Bites Recipe Preview 02 Keto Egg Bites Breakfast · High Protein · Make Ahead Ingredients Eggs Cheddar cheese Cream cheese Heavy cream Cooked bacon Bell pepper Green onion Salt and pepper Instructions Blend the egg mixture until smooth and evenly combined. Fold in the prepared fillings and divide the mixture into the baking cups. Cook using the recommended method until the centers are soft and creamy. ♡ See the measurements and complete directions inside Keto Done Right Fresh Keto Margarita Recipe Preview 03 Keto Margarita Drinks · Entertaining · Low Sugar Ingredients Tequila Fresh lime juice Orange extract Keto-friendly sweetener Ice Sparkling water Lime wedge Salt for the rim Instructions Prepare the glass with the recommended rim and garnish. Combine the margarita ingredients with ice and blend or shake as directed. Finish the drink with the final ingredient for the right balance and texture. ♡ See the measurements and complete directions inside Keto Done Right Cheesy Keto Pizza Rolls Recipe Preview 04 Keto Pizza Rolls Dinner · Snack · Family Favorite Ingredients Mozzarella cheese Cream cheese Almond flour Egg Italian seasoning Low-sugar pizza sauce Pepperoni Parmesan cheese Instructions Prepare the dough using the proper melting and mixing method. Add the pizza filling and carefully form the dough into rolls. Bake until the rolls are golden and fully cooked. ♡ See the measurements and complete directions inside Keto Done Right ← → Recipe 1 of 4 Get All 140 Recipes → $19.99 $7.99 Launch price, going back up to $19.99 soon · Instant digital access · One-time payment Sound familiar? You open the fridge, stare for five minutes, and make the same four meals — again. You've saved 200+ keto recipes on Pinterest and actually cooked maybe three of them. "Free" keto recipes online are missing ingredients, wrong on the macros, or taste like cardboard. Your meals feel so restrictive that cravings win and you end up ordering takeout. Planning what to eat takes more energy than actually cooking it. This Is for You If… You want keto to feel like food you actually enjoy — not another diet you're white-knuckling through. You're flat-out bored of your keto rotation and need new ideas tonight, not next month. You want food that satisfies a craving — not another sad plate of "diet food." You want real variety: breakfast, dinner, dessert, drinks, and snacks, not just five chicken recipes reworded. You want everything in one place instead of 30 open tabs and a half-saved Pinterest board. You want every recipe already built for keto — no substituting, no doing macros in your head. Open the Book. Pick a Page. Know What's for Dinner. No more searching, no more scrolling, no more "diet food" — just 140 recipes you'll actually want to make. 140 Never Get Bored Again Breakfast, lunch, dinner, snacks, drinks, and dessert — enough variety that keto stops feeling like a diet. ✓ Zero Guesswork No googling substitutions, no doing macros in your head, no wondering if it'll actually kick you out of ketosis. ♡ Built for Real Cravings Pizza rolls. Margaritas. Cupcakes. Food you'd actually choose to eat, not just tolerate. One Digital Collection 140 Recipes You'll Actually Want to Cook Keto Done Right hands you a full library of tested recipes for everyday meals, comfort food, drinks, and dessert — so "what's for dinner" stops being the hardest part of your day. Breakfast Lunch Dinner Snacks Desserts Drinks Get Keto Done Right → ★★★★★ “These recipes are delicious and easy to make.” — Cheryl P. Instant Digital Access Your Next Keto Meal Doesn't Have to Be a Struggle 140 recipes, one download, zero guesswork. Grab it now at launch pricing before it goes back up to $19.99. $19.99 $7.99 Get Instant Access → One-time payment · Instant download · No subscription Questions, Answered Is this a physical book? No. Keto Done Right is a digital eBook. You receive digital access after purchasing, so there is no shipping or waiting. How do I receive the eBook? You receive a digital download link after checkout, along with a confirmation email. Are the complete instructions included? Yes. The previews above intentionally hide part of the instructions, but the purchased eBook includes the full recipes with ingredients, measurements, and directions. Is this a subscription? No. This is a one-time purchase with no recurring subscription charge. What types of recipes are included? The collection includes breakfast, lunch, dinner, snacks, desserts, drinks, comfort-food alternatives, and other everyday keto recipes. Is the recipe collection beginner friendly? Yes. The recipes are designed to provide approachable options for people who are new to keto as well as those who simply need more variety. document.addEventListener("DOMContentLoaded", function () { /* MOVE SALES PAGE BELOW THE PRODUCT SECTION */ var landingPage = document.getElementById("kdr-full-page"); if (landingPage && !landingPage.dataset.kdrMoved) { var customLiquidSection = landingPage.closest(".shopify-section"); var productElement = document.querySelector("product-info") || document.querySelector(".product") || document.querySelector("[data-section-type='product']"); var productSection = productElement ? productElement.closest(".shopify-section") : null; if ( customLiquidSection && productSection && customLiquidSection !== productSection && productSection.parentNode ) { productSection.insertAdjacentElement( "afterend", customLiquidSection ); landingPage.dataset.kdrMoved = "true"; } else if ( productSection && productSection.parentNode ) { productSection.insertAdjacentElement( "afterend", landingPage ); landingPage.dataset.kdrMoved = "true"; } } /* REMOVE SHOPIFY STICKY PRODUCT IMAGE */ var stickyElements = document.querySelectorAll( ".product__column-sticky," + ".product__media-wrapper," + ".product__media-container," + ".product-media-container," + ".product__media-list," + "media-gallery" ); stickyElements.forEach(function (element) { element.classList.remove("sticky"); element.style.setProperty( "position", "static", "important" ); element.style.setProperty( "top", "auto", "important" ); element.style.setProperty( "bottom", "auto", "important" ); element.style.setProperty( "transform", "none", "important" ); element.style.setProperty( "height", "auto", "important" ); element.style.setProperty( "max-height", "none", "important" ); element.style.setProperty( "overflow", "visible", "important" ); }); /* INTERACTIVE RECIPE SLIDER */ var track = document.getElementById("kdr-recipe-track"); var viewport = document.getElementById( "kdr-recipe-viewport" ); var previousButton = document.getElementById("kdr-prev"); var nextButton = document.getElementById("kdr-next"); var countLabel = document.getElementById( "kdr-preview-count" ); var dots = document.querySelectorAll(".kdr-dot"); if ( !track || !viewport || !previousButton || !nextButton || !countLabel ) { return; } var totalSlides = dots.length; var currentSlide = 0; var touchStartX = 0; var touchCurrentX = 0; var isDragging = false; function updateRecipePreview() { track.style.transform = "translateX(-" + currentSlide * 100 + "%)"; dots.forEach(function (dot, index) { var isActive = index === currentSlide; dot.classList.toggle("is-active", isActive); dot.setAttribute( "aria-current", isActive ? "true" : "false" ); }); previousButton.disabled = currentSlide === 0; nextButton.disabled = currentSlide === totalSlides - 1; countLabel.textContent = "Recipe " + (currentSlide + 1) + " of " + totalSlides; } function showSlide(index) { currentSlide = Math.max( 0, Math.min(index, totalSlides - 1) ); updateRecipePreview(); } previousButton.addEventListener("click", function () { showSlide(currentSlide - 1); }); nextButton.addEventListener("click", function () { showSlide(currentSlide + 1); }); dots.forEach(function (dot) { dot.addEventListener("click", function () { var requestedSlide = Number( dot.getAttribute("data-kdr-slide") ); showSlide(requestedSlide); }); }); viewport.addEventListener( "touchstart", function (event) { touchStartX = event.touches[0].clientX; touchCurrentX = touchStartX; isDragging = true; }, { passive: true } ); viewport.addEventListener( "touchmove", function (event) { if (!isDragging) { return; } touchCurrentX = event.touches[0].clientX; }, { passive: true } ); viewport.addEventListener("touchend", function () { if (!isDragging) { return; } var distance = touchCurrentX - touchStartX; var swipeThreshold = 45; if (distance < -swipeThreshold) { showSlide(currentSlide + 1); } else if (distance > swipeThreshold) { showSlide(currentSlide - 1); } isDragging = false; }); viewport.addEventListener("keydown", function (event) { if (event.key === "ArrowLeft") { showSlide(currentSlide - 1); } if (event.key === "ArrowRight") { showSlide(currentSlide + 1); } }); updateRecipePreview(); });
More you might like
Related
Keto Done Right™ Digital Weight Loss System
Related
Keto Done Right Membership
Related
7 Done for you Digital Marketing Guide Bundle with Master Re
Related