modutoy.com
Open in
urlscan Pro
23.227.38.32
Public Scan
Submitted URL: http://modutoy.myshopify.com/
Effective URL: https://modutoy.com/
Submission: On November 24 via manual from UA — Scanned from CA
Effective URL: https://modutoy.com/
Submission: On November 24 via manual from UA — Scanned from CA
Form analysis
4 forms found in the DOMPOST /localization
<form method="post" action="/localization" id="localization_form" accept-charset="UTF-8" class="selectors-form" enctype="multipart/form-data" data-disclosure-form=""><input type="hidden" name="form_type" value="localization"><input type="hidden"
name="utf8" value="✓"><input type="hidden" name="_method" value="put"><input type="hidden" name="return_to" value="/">
<div class="selectors-form__item">
<div class="disclosure" data-disclosure-currency="">
<select name="currency_code" class="select-currency-kvali" autofocus="" size="3" style="-webkit-appearance:listbox; appearance:listbox;">
<option class="option-style" value="DKK">DKK</option>
<option class="option-style" value="GBP">GBP</option>
<option class="option-style" value="SEK">SEK</option>
</select>
</div>
</div>
</form>
POST /cart
<form action="/cart" class="" data-cart-view="data-cart-view" method="post" novalidate="" style="height:100%;">
<div class="cart-container">
<div class="product-container">
<!-- rivets: each-item -->
<style>
.modu-upsellItem {
flex-direction: row-reverse;
justify-content: flex-end;
align-items: center;
font-weight: bold;
font-size: 0.75rem;
padding: 10px 0;
}
.modu-upsellItem__button {
display: flex;
align-items: center;
justify-content: center;
border: none;
background: none;
padding: 0;
margin-right: 0.75rem;
}
.modu-upsellItem__button:hover .modu-upsellItem__icon,
.modu-upsellItem__button:focus .modu-upsellItem__icon {
border-color: #135e3d;
}
.modu-upsellItem__icon {
width: 1.7rem;
height: 1.7rem;
border-radius: 100%;
transition: border-color 100ms ease-in;
}
</style>
<div class="modu-upsellItem" data-upsell-item="39535678193719" style="display: none">
<div class="tooltip"> ? <span class="tooltiptext">Is this a gift? For environmental reasons, we ship all MODU products in their original packaging by default. However, if you wish to avoid e.g. shipping labels, please add extra packaging
in order to receive a gift wrap friendly package 🎁</span>
</div>
<span> add extra packaging — 0,00 EUR </span>
<button type="button" class="modu-upsellItem__button" onclick="addUpsellItem(39535678193719)">
<img class="modu-upsellItem__icon" width="50" height="50" src="//cdn.shopify.com/s/files/1/0016/1264/4407/t/73/assets/plus_50x.png?v=12924611796729078513">
</button>
</div>
<script>
// Upsell item helpers
const checkCartForUpsellItems = () => {
/* First, fetches all variant IDs of items in cart, and checks if we have a matching upsell item. If not, we show the upsell item. */
//console.info("Checking cart for upsell items...")
const cartItems = CartJS.cart.items;
if (cartItems.length > 0) {
console.info("Cart has items, showing upsells");
const upsellItems = document.querySelectorAll('.modu-upsellItem');
if (upsellItems) {
const cartItemIDs = [];
for (const cartItem of cartItems) {
cartItemIDs.push(cartItem.variant_id)
}
for (const upsellItem of upsellItems) {
const variantId = parseInt(upsellItem.getAttribute('data-upsell-item'))
//console.info(`Checking if ${variantId} exists in ${cartItemIDs}`)
if (cartItemIDs.includes(variantId) == false) showUpsellItem(variantId);
}
}
} else {
console.info("Cart has no items, hiding upsells..");
hideAllUpsells();
}
}
document.addEventListener('DOMContentLoaded', () => {
setTimeout(() => {
checkCartForUpsellItems()
}, 500)
})
$(document).on('cart.ready', function(event, cart) {
console.info("Cart ready");
});
$(document).on('cart.requestStarted', function(event, cart) {
console.info("Cart request started");
});
$(document).on('cart.requestComplete', function(event, cart) {
console.info("Cart request complete");
});
document.addEventListener('shopify:section:load', () => {
setTimeout(() => {
checkCartForUpsellItems()
}, 500)
})
const addUpsellItem = (variantId) => {
//console.info(`Adding ${variantId} to cart...`);
CartJS.addItem(variantId);
setTimeout(() => {
hideUpsellItem(variantId);
}, 200)
}
const hideUpsellItem = (variantId) => {
//console.info(`Hiding upsell item with id ${variantId}`)
const upsellToHide = document.querySelector('.modu-upsellItem[data-upsell-item="' + variantId + '"]');
if (upsellToHide) {
upsellToHide.style.display = 'none';
}
}
const showUpsellItem = (variantId) => {
//console.info(`Showing upsell item with id ${variantId}`)
const upsellToShow = document.querySelector('.modu-upsellItem[data-upsell-item="' + variantId + '"]');
if (upsellToShow) {
upsellToShow.style.display = 'flex';
}
}
const hideAllUpsells = () => {
const upsellItems = document.querySelectorAll('.modu-upsellItem');
if (upsellItems) {
for (const upsellItem of upsellItems) {
upsellItem.style.display = 'none';
}
}
}
</script>
</div>
<!-- rivets: if cart.total_price -->
</div>
<div rv-hide="cart.total_price" class="cart-to-shop-container">
<p class="cart-to-shop-text">still waiting to be filled with good stuff :)</p>
<a href="/pages/shop">
<button class="cart-shop-btn" name="go to shop" type="button">go to shop</button>
</a>
</div>
</form>
POST /contact#contact_form
<form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer"><input type="hidden" name="utf8" value="✓">
<div class="newsletter">
<div class="input-group">
<input name="contact[tags]" type="hidden" value="newsletter">
<label class="newsletter__label label--hidden" for="Email">Email address</label>
<div class="input-group__field newsletter__input newsletter-textarea-container">
<input class="newsletter-textarea-container-input" type="email" value="" placeholder="your email..." name="contact[email]" id="Email" autocomplete="off" autocorrect="off" autocapitalize="off">
</div>
<span class="input-group__btn">
<button class="btn-submit newsletter__submit" id="Subscribe" name="commit" type="submit">
<!-- <span class="newsletter__submit-text--large"> -->
<svg class="submit-arrow" width="10" height="34" viewBox="0 0 19 34" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M2 2L17 17L2 32" stroke="black" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>
<!-- </span> -->
</button>
</span>
</div>
</div>
</form>
POST /contact#contact_form
<form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer"><input type="hidden" name="utf8" value="✓">
<div class="newsletter">
<div class="input-group">
<input name="contact[tags]" type="hidden" value="newsletter">
<label class="newsletter__label label--hidden" for="Email">Email address</label>
<div class="input-group__field newsletter__input newsletter-textarea-container">
<input class="newsletter-textarea-container-input" type="email" value="" placeholder="your email..." name="contact[email]" id="Email" autocomplete="off" autocorrect="off" autocapitalize="off">
</div>
<span class="input-group__btn">
<button class="btn-submit newsletter__submit" id="Subscribe" name="commit" type="submit">
<!-- <span class="newsletter__submit-text--large"> -->
<svg class="submit-arrow" width="10" height="34" viewBox="0 0 19 34" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M2 2L17 17L2 32" stroke="black" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>
<!-- </span> -->
</button>
</span>
</div>
</div>
</form>
Text Content
* shop * inspiration * home * * about us * contact * FAQ DKK GBP SEK 123,95 EUR * Instagram * Facebook * LinkedIn * Pinterest Close cart ? Is this a gift? For environmental reasons, we ship all MODU products in their original packaging by default. However, if you wish to avoid e.g. shipping labels, please add extra packaging in order to receive a gift wrap friendly package 🎁 add extra packaging — 0,00 EUR still waiting to be filled with good stuff :) go to shop 📦 international delivery: 1-2 weeks 🎄 Buy your Christmas gifts today — 100 days return policy SAVE 10% ON YOUR ORDER! Join our newsletter to get a discount and we'll keep you in the loop for future adventures 💫 Email address Menu 0 Cart LIFE-SIZE BUILDING TOYS FOR ACTIVE PLAY go to shop watch video ALL PHYSICAL SKILLS IN ONE BOX OF THRILLS MODU comes in kits with building blocks in tactile foam, connector pegs & wheels — all designed to trigger the physical activity & imagination of kids. MODU encourages & supports every stage of development. see popular kit see popular kit WALKING; Practice walking with a push-wagon & maintain the fun by transporting your favorite toys or your buddy around. ROCKING; Full of rocking fun, a rocking ‘horse’, ‘boat’ or even ‘giraffe’ stimulates & challenges most core motor functions of your kid. RIDING; Riders are for toddlers speeding around, getting a sense of motion & gaining great skills for learning how to bike later. ROLLING; Roll cheerfully & strengthen your body. Put your balance to the test either standing, sitting or on your tummy. CLIMBING; Build climbable mountains to be conquered & train all sorts of motor skills during your epic climb. BALANCING; Enhance coordination & balance on this board either standing, sitting or lying down. Challenge yourself or a buddy. CRAWLING; Creeping & crawling are the first steps to taking your first step. The shapes & softness of MODU blocks make the task enjoyable. JUMPING; Build intriguing obstacle courses & let your kids jump around. It’s a sure hit & strengthens both legs & belly muscles. WALKING; Practice walking with a push-wagon & maintain the fun by transporting your favorite toys or your buddy around. ROCKING; Full of rocking fun, a rocking ‘horse’ or ‘boat’ stimulates & challenges most core motor functions of your kid. RIDING; Riders for toddlers speeding around, getting a sense of motion & gaining skills for learning how to bike later. ROLLING; Roll cheerfully & strenghten your body. Put your balance to the test either standing, sitting or on your tummy. BALANCING; Enhance coordination & balance either standing, sitting or lying. Challenge yourself or a buddy. CLIMBING; Build climbable mountains to be conquered & train all sorts of motor skills during your climb. CRAWLING; Crawling is the first step to taking your first step. The shapes & softness of MODU blocks makes it truly enjoyable. JUMPING; Build intriguing obstacle courses & let your kids jump around. It’s super fun & strengthens both legs & belly. CO-PLAY WITH FRIENDS AND FAMILY, OR PLAY INDEPENDENTLY WHEN MOM & DAD ARE WORN OUT ENHANCE YOUR CREATIVITY AND SPATIAL INTELLIGENCE BY BUILDING YOUR VERY OWN CREATIONS ENJOY A TRULY SUSTAINABLE AND LONG-LASTING TOY THAT ADAPTS TO YOUR SKILLS THROUGH VERSATILE PLAY EXPERIENCES HELPS KIDS GROW, GROWS WITH KIDS 6 M 1 Y 2 Y 3 Y 4 Y 5 Y 6 Y HELPS KIDS GROW, GROWS WITH KIDS 6 m 1 y 2 y 3 y 4 y 5 y 6 y LETS YOUR IMAGINATION RUN WILD With every MODU kit, fun & functioning creations can be built, explored & tumbled. Only your imagination is the limit, but we’ve collected a few of our favorite creations here. creation ideas SUSTAINABLE AND LONG-LASTING IN EVERY WAY Sustainable toys with long life cycles that stay fun & relevant for years. That's MODU. Made from tough, non-toxic EVA foam that is free from BPA and phthalates, MODU is the responsible choice for both your child & the planet. our responsibility MAKE ACTIVE PLAY THE NATURAL CHOICE! We see a growing need for more, better, creative motor & play skills. We dream of a future where kids develop through more imagination & open-ended, active play. we believe... IF YOU WANNA LEARN MORE go to shop #moduverse SAY HELLO customer service hej@modu.dk B2B partners retail@modu.dk FOLLOW US join our newsletter and we'll keep you updated on the "MODUverse" Email address Pinterest #MODUTOY #MODUVERSE © 2021 MODU APS — COPENHAGEN, DENMARK PRIVACY POLICY TERMS & CONDITIONS