<!doctype html>
<html class="no-js" lang="en"><head>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-WDH9F4Q');</script>
<!-- End Google Tag Manager -->
<!-- Global site tag (gtag.js) - Google Ads -->
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-802951560"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-802951560');
</script>
<meta name="google-site-verification" content="9hN0gIM7Y93-pUK_FxEY3xMAIKGRuk8k_tYgHZSX1dQ" />
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="theme-color" content="#687158"><link rel="canonical" href="https://mflorist.hk/"><!-- ======================= Pipeline Theme V6.1.0 ========================= -->
<link rel="preconnect" href="https://cdn.shopify.com" crossorigin>
<link rel="preconnect" href="https://fonts.shopify.com" crossorigin>
<link rel="preconnect" href="https://monorail-edge.shopifysvc.com" crossorigin>
<link rel="preload" href="//mflorist.hk/cdn/shop/t/2/assets/lazysizes.js?v=111431644619468174291642651978" as="script">
<link rel="preload" href="//mflorist.hk/cdn/shop/t/2/assets/vendor.js?v=162188903247186044891642655452" as="script">
<link rel="preload" href="//mflorist.hk/cdn/shop/t/2/assets/theme.js?v=101584457468720234261657884348" as="script">
<link rel="preload" href="//mflorist.hk/cdn/shop/t/2/assets/theme.css?v=71743990403231248341679984106" as="style">
<link rel="shortcut icon" href="//mflorist.hk/cdn/shop/files/favicon_32x32.png?v=1656398872" type="image/png"><!-- Title and description ================================================ -->
<title>
Online Florist & Flower Delivery Hong Kong | M FLORIST
</title><meta name="description" content="M FLORIST is an online flower shop in HK. Providing flower arrangements like bouquet, bloom box with same day flower delivery in Hong Kong.">
<!-- /snippets/social-meta-tags.liquid --><meta property="og:site_name" content="M FLORIST">
<meta property="og:url" content="https://mflorist.hk/">
<meta property="og:title" content="Online Florist & Flower Delivery Hong Kong | M FLORIST">
<meta property="og:type" content="website">
<meta property="og:description" content="M FLORIST is an online flower shop in HK. Providing flower arrangements like bouquet, bloom box with same day flower delivery in Hong Kong.">
<meta name="twitter:site" content="@">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Online Florist & Flower Delivery Hong Kong | M FLORIST">
<meta name="twitter:description" content="M FLORIST is an online flower shop in HK. Providing flower arrangements like bouquet, bloom box with same day flower delivery in Hong Kong.">
<!-- CSS ================================================================== -->
<link href="//mflorist.hk/cdn/shop/t/2/assets/font-settings.css?v=2266158671207790661698775123" rel="stylesheet" type="text/css" media="all" />
<style data-shopify>
:root {
/* ================ Product video ================ */
---color_video_bg: #f5eee4;
/* ================ Color Variables ================ */
/* === Backgrounds ===*/
---color-bg: #fcfaf7;
---color-bg-accent: #fcfaf7;
/* === Text colors ===*/
---color-text-dark: #000000;
---color-text: #222222;
---color-text-light: #636362;
/* === Bright color ===*/
---color-primary: #a05e5e;
---color-primary-hover: #7d3434;
---color-primary-fade: rgba(160, 94, 94, 0.05);
---color-primary-fade-hover: rgba(160, 94, 94, 0.1);---color-primary-opposite: #ffffff;
/* === Secondary/link Color ===*/
---color-secondary: #687158;
---color-secondary-hover: #434f2d;
---color-secondary-fade: rgba(104, 113, 88, 0.05);
---color-secondary-fade-hover: rgba(104, 113, 88, 0.1);---color-secondary-opposite: #ffffff;
/* === Shades of grey ===*/
---color-a5: rgba(34, 34, 34, 0.05);
---color-a10: rgba(34, 34, 34, 0.1);
---color-a20: rgba(34, 34, 34, 0.2);
---color-a35: rgba(34, 34, 34, 0.35);
---color-a50: rgba(34, 34, 34, 0.5);
---color-a80: rgba(34, 34, 34, 0.8);
---color-a90: rgba(34, 34, 34, 0.9);
---color-a95: rgba(34, 34, 34, 0.95);
/* ================ Inverted Color Variables ================ */
---inverse-bg: #333333;
---inverse-bg-accent: #191008;
/* === Text colors ===*/
---inverse-text-dark: #ffffff;
---inverse-text: #FFFFFF;
---inverse-text-light: #c2c2c2;
/* === Bright color ===*/
---inverse-primary: #ffe5da;
---inverse-primary-hover: #ffaf8e;
---inverse-primary-fade: rgba(255, 229, 218, 0.05);
---inverse-primary-fade-hover: rgba(255, 229, 218, 0.1);---inverse-primary-opposite: #000000;
/* === Second Color ===*/
---inverse-secondary: #dff3fd;
---inverse-secondary-hover: #91dbff;
---inverse-secondary-fade: rgba(223, 243, 253, 0.05);
---inverse-secondary-fade-hover: rgba(223, 243, 253, 0.1);---inverse-secondary-opposite: #000000;
/* === Shades of grey ===*/
---inverse-a5: rgba(255, 255, 255, 0.05);
---inverse-a10: rgba(255, 255, 255, 0.1);
---inverse-a20: rgba(255, 255, 255, 0.2);
---inverse-a35: rgba(255, 255, 255, 0.3);
---inverse-a80: rgba(255, 255, 255, 0.8);
---inverse-a90: rgba(255, 255, 255, 0.9);
---inverse-a95: rgba(255, 255, 255, 0.95);
/* === Account Bar ===*/
---color-announcement-bg: #fcfaf7;
---color-announcement-text: #a05e5e;
/* === Nav and dropdown link background ===*/
---color-nav: #fcfaf7;
---color-nav-text: #000000;
---color-nav-border: #fcfaf7;
---color-nav-a10: rgba(0, 0, 0, 0.1);
---color-nav-a50: rgba(0, 0, 0, 0.5);
/* === Site Footer ===*/
---color-footer-bg: #fcfaf7;
---color-footer-text: #000000;
---color-footer-a5: rgba(0, 0, 0, 0.05);
---color-footer-a15: rgba(0, 0, 0, 0.15);
---color-footer-a90: rgba(0, 0, 0, 0.9);
/* === Products ===*/
---color-bg-product: #fcfaf7;
---product-grid-aspect-ratio: 100%;
/* === Product badges ===*/
---color-badge: rgba(0,0,0,0);
---color-badge-text: #a05e5e;
/* === disabled form colors ===*/
---color-disabled-bg: #e6e4e2;
---color-disabled-text: #b0aeac;
---inverse-disabled-bg: #474747;
---inverse-disabled-text: #7a7a7a;
/* === Button Radius === */
---button-radius: 0px;
/* ================ Typography ================ */
---font-stack-body: Nunito, sans-serif;
---font-style-body: normal;
---font-weight-body: 300;
---font-weight-body-bold: 400;
---font-adjust-body: 1.0;
---font-stack-heading: Futura, sans-serif;
---font-style-heading: normal;
---font-weight-heading: 400;
---font-weight-heading-bold: 500;
---font-adjust-heading: 1.0;
---font-heading-space: .2em;
---font-heading-caps: uppercase;
---font-stack-accent: Futura, sans-serif;
---font-style-accent: normal;
---font-weight-accent: 400;
---font-weight-accent-bold: 500;
---font-adjust-accent: 1.0;
---ico-select: url('//mflorist.hk/cdn/shop/t/2/assets/ico-select.svg?v=124039562029365774051647877131');
---url-zoom: url('//mflorist.hk/cdn/shop/t/2/assets/cursor-zoom.svg?v=54415475015333274761646107865');
---url-zoom-2x: url('//mflorist.hk/cdn/shop/t/2/assets/cursor-zoom-2x.svg?v=15712804964765432921646107865');
}
</style>
<link href="//mflorist.hk/cdn/shop/t/2/assets/theme.css?v=71743990403231248341679984106" rel="stylesheet" type="text/css" media="all" />
<script>
document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
let root = '/';
if (root[root.length - 1] !== '/') {
root = `${root}/`;
}
var theme = {
routes: {
root_url: root,
cart: '/cart',
cart_add_url: '/cart/add',
product_recommendations_url: '/recommendations/products'
},
assets: {
photoswipe: '//mflorist.hk/cdn/shop/t/2/assets/photoswipe.js?v=92904272307011895101642651979',
smoothscroll: '//mflorist.hk/cdn/shop/t/2/assets/smoothscroll.js?v=37906625415260927261642651979',
swatches: '//mflorist.hk/cdn/shop/t/2/assets/swatches.json?v=123337507157422460681642652023',
noImage: '//mflorist.hk/cdn/shopifycloud/shopify/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c.gif',
base: '//mflorist.hk/cdn/shop/t/2/assets/'
},
strings: {
swatchesKey: "Color, Colour",
addToCart: "Add to Cart",
estimateShipping: "Estimate shipping",
noShippingAvailable: "We do not ship to this destination.",
free: "Free",
from: "From",
preOrder: "Pre-order",
soldOut: "Sold Out",
sale: "Sale",
subscription: "Subscription",
unavailable: "Unavailable",
unitPrice: "Unit price",
unitPriceSeparator: "per",
stockout: "All available stock is in cart",
products: "Products",
pages: "Pages",
collections: "Collections",
resultsFor: "Results for",
noResultsFor: "No results for",
articles: "Articles"
},
settings: {
badge_sale_type: "dollar",
search_products: true,
search_collections: false,
search_pages: false,
search_articles: false,
animate_hover: true,
animate_scroll: true
},
info: {
name: 'pipeline'
},
moneyFormat: "${{amount}}",
version: '6.1.0'
}
</script><!-- Theme Javascript ============================================================== -->
<script src="//mflorist.hk/cdn/shop/t/2/assets/lazysizes.js?v=111431644619468174291642651978" async="async"></script>
<script src="//mflorist.hk/cdn/shop/t/2/assets/vendor.js?v=162188903247186044891642655452" defer="defer"></script>
<script src="//mflorist.hk/cdn/shop/t/2/assets/theme.js?v=101584457468720234261657884348" defer="defer"></script>
<script>
(function () {
function onPageShowEvents() {
if ('requestIdleCallback' in window) {
requestIdleCallback(initCartEvent)
} else {
initCartEvent()
}
function initCartEvent(){
document.documentElement.dispatchEvent(new CustomEvent('theme:cart:init', {
bubbles: true
}));
}
};
window.onpageshow = onPageShowEvents;
})();
</script>
<script type="text/javascript">
if (window.MSInputMethodContext && document.documentMode) {
var scripts = document.getElementsByTagName('script')[0];
var polyfill = document.createElement("script");
polyfill.defer = true;
polyfill.src = "//mflorist.hk/cdn/shop/t/2/assets/ie11.js?v=144489047535103983231642651977";
scripts.parentNode.insertBefore(polyfill, scripts);
}
</script>
<!-- Shopify app scripts =========================================================== -->
<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta name="google-site-verification" content="IL73PXvcdbPQ16npjwfqkCv-JMzKBScEBrx9FNLj52E">
<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/54936535274/digital_wallets/dialog">
<meta name="shopify-checkout-api-token" content="87527e54b0b4f07ca5e38cff28968579">
<meta id="in-context-paypal-metadata" data-shop-id="54936535274" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="HKD">
<link rel="alternate" hreflang="x-default" href="https://mflorist.hk/">
<link rel="alternate" hreflang="en-HK" href="https://mflorist.hk/">
<link rel="alternate" hreflang="zh-Hant-HK" href="https://mflorist.hk/zh">
<script async="async" src="/checkouts/internal/preloads.js?locale=en-HK"></script>
<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-HK&shop_id=54936535274" crossorigin="anonymous"></script>
<script id="shopify-features" type="application/json">{"accessToken":"87527e54b0b4f07ca5e38cff28968579","betas":["rich-media-storefront-analytics"],"domain":"mflorist.hk","predictiveSearch":true,"shopId":54936535274,"smart_payment_buttons_url":"https:\/\/mflorist.hk\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/spb.en.js","dynamic_checkout_cart_url":"https:\/\/mflorist.hk\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/dynamic-checkout-cart.en.js","locale":"en"}</script>
<script>var Shopify = Shopify || {};
Shopify.shop = "mflorist.myshopify.com";
Shopify.locale = "en";
Shopify.currency = {"active":"HKD","rate":"1.0"};
Shopify.country = "HK";
Shopify.theme = {"name":"M Florist","id":130370142442,"theme_store_id":null,"role":"main"};
Shopify.theme.handle = "null";
Shopify.theme.style = {"id":null,"handle":null};
Shopify.cdnHost = "mflorist.hk/cdn";
Shopify.routes = Shopify.routes || {};
Shopify.routes.root = "/";</script>
<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
<script id="shop-js-features" type="application/json">{"compact":""}</script>
<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
<script>(function() {
function asyncLoad() {
var urls = ["https:\/\/slots-app.logbase.io\/slots-script-tag.js?shop=mflorist.myshopify.com","https:\/\/d68ueg57a8p5r.cloudfront.net\/index.js?shop=mflorist.myshopify.com","https:\/\/gateway.apaylater.com\/plugins\/shopify-product-detail.js?shop=mflorist.myshopify.com","https:\/\/static.klaviyo.com\/onsite\/js\/klaviyo.js?company_id=RVGFa4\u0026shop=mflorist.myshopify.com","https:\/\/static.klaviyo.com\/onsite\/js\/klaviyo.js?company_id=RVGFa4\u0026shop=mflorist.myshopify.com","https:\/\/cdn.nfcube.com\/5269ca69bcfefffbb5655176548c8c0f.js?shop=mflorist.myshopify.com","https:\/\/s3.amazonaws.com\/pixelpop\/usercontent\/scripts\/aba30cd1-f390-405a-97d9-fccb6424962f\/pixelpop.js?shop=mflorist.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/3653\/5274\/t\/2\/assets\/pop_54936535274.js?v=1681897803\u0026shop=mflorist.myshopify.com"];
for (var i = 0; i < urls.length; i++) {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = urls[i];
var x = document.getElementsByTagName('script')[0];
x.parentNode.insertBefore(s, x);
}
};
if(window.attachEvent) {
window.attachEvent('onload', asyncLoad);
} else {
window.addEventListener('load', asyncLoad, false);
}
})();</script>
<script id="__st">var __st={"a":54936535274,"offset":28800,"reqid":"9dc68f88-8a43-4518-b927-136e8ac26e44-1716043900","pageurl":"mflorist.hk\/","u":"e7b97c24b084","p":"home"};</script>
<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
<script>!function(){'use strict';const e='contact',t='account',n='new_comment',o=e=>e.map((([e,t])=>`form[action*='/${e}'] input[name='form_type'][value='${t}']`)).join(',');function c(e,t){try{const n=window.sessionStorage;for(const[o,c]of Object.entries(JSON.parse(n.getItem(t))))e.elements[o]&&(e.elements[o].value=c);n.removeItem(t)}catch{}}const s='form_type',r='cptcha';var a,m,i,u;a=window,m=document,u='ce_forms',a[i='Shopify']=a[i]||{},a[i][u]=a[i][u]||{},a[i][u].q=[],function(a,m,i,u,f){const[d,l]=function(c,s){const r=s?[[e,e],['blogs',n],['comments',n],[e,'customer']]:[],a=c?[[t,'customer_login'],[t,'recover_customer_password'],[t,'create_customer']]:[],m=o([...r,...a]),i=o(r.slice(0,3)),u=e=>()=>e?[...document.querySelectorAll(e)].map((e=>e.form)):[];return[u(m),u(i)]}(!0,!0),p=e=>{const t=e.target,n=t instanceof HTMLFormElement?t:t&&t.form;return n&&d().find((e=>n===e))};a.addEventListener('submit',(e=>{p(e)&&e.preventDefault()}));for(const e of['focusin','change'])a.addEventListener(e,(e=>{const t=p(e);t&&!t.dataset[r]&&(i(t,l().some((e=>e===t))),t.dataset[r]=!0)}));const _=m.get('form_key'),v=m.get(s);_&&v&&a.addEventListener('DOMContentLoaded',(()=>{for(const e of l())e.elements[s].value===v&&c(e,_)}))}(m,new URLSearchParams(a.location.search),((e,t)=>{const n=a[i][u],o=n.bindForm,c='6LeHG2ApAAAAAO4rPaDW-qVpPKPOBfjbCpzJB9ey';if(o)return o(e,c,t);n.q.push([e,c,t]),m.body.append(Object.assign(m.createElement('script'),{async:!0,src:'https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_recaptcha.v1.0.5.iife.js'}))}))}();</script>
<script integrity="sha256-n5Uet9jVOXPHGd4hH4B9Y6+BxkTluaaucmYaxAjUcvY=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//mflorist.hk/cdn/shopifycloud/shopify/assets/storefront/load_feature-9f951eb7d8d53973c719de211f807d63af81c644e5b9a6ae72661ac408d472f6.js" crossorigin="anonymous"></script>
<script integrity="sha256-HAs5a9TQVLlKuuHrahvWuke+s1UlxXohfHeoYv8G2D8=" data-source-attribution="shopify.dynamic-checkout" defer="defer" src="//mflorist.hk/cdn/shopifycloud/shopify/assets/storefront/features-1c0b396bd4d054b94abae1eb6a1bd6ba47beb35525c57a217c77a862ff06d83f.js" crossorigin="anonymous"></script>
<style id="shopify-dynamic-checkout-cart">@media screen and (min-width: 750px) {
#dynamic-checkout-cart {
min-height: 50px;
}
}
@media screen and (max-width: 750px) {
#dynamic-checkout-cart {
min-height: 60px;
}
}
</style><script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
<!-- In Store Pickup Local Delivery by Logbase - Starts -->
<!-- <script src='https://slots-app.logbase.io/slots-script-tag.js?shop=mflorist.myshopify.com' defer></script>
<script type="text/javascript" src="https://slots-app.logbase.io/datetime-slot-picker/datetime-slot-picker.js"></script> -->
<!-- In Store Pickup Local Delivery by Logbase - Ends -->
<script>
var gsf_conversion_data = {page_type : 'home', event : 'page_view', data : {product_data : [{variant_id : 43978277880042, product_id : 8037083840746, name : "3 Stems Orchid - Pink", price : "1880.00", currency : "HKD", sku : "", brand : "M FLORIST", variant : "Default Title", category : "Orchid"}, {variant_id : 43813612617962, product_id : 8037078696170, name : "3 Stems Orchid - Red", price : "1880.00", currency : "HKD", sku : "", brand : "M FLORIST", variant : "Default Title", category : "Orchid"}], total_price :"3760.00", shop_currency : "HKD"}};
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Florist",
"name": "M FLORIST",
"image": "https://cdn.shopify.com/s/files/1/0549/3653/5274/files/logo-mflorist.png?height=628&pad_color=fff&v=1642652179&width=1200",
"@id": "https://mflorist.hk/",
"url": "https://mflorist.hk/",
"telephone": "+852 3157 1118",
"address": {
"@type": "PostalAddress",
"streetAddress": "Room 1104, 11/F, Crawford House, 70 Queen's Road Central, Central",
"addressLocality": "Hong Kong",
"postalCode": "",
"addressCountry": "HK"
},
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"opens": "09:00",
"closes": "18:00"
}
}
</script>
<script src="https://cdn.shopify.com/extensions/1aff304a-11ec-47a0-aee1-7f4ae56792d4/tydal-popups-email-pop-ups-4/assets/pop-app-embed.js" type="text/javascript" defer="defer"></script>
<script src="https://cdn.shopify.com/extensions/98e33083-3894-4bdd-96f3-c2dec00792cf/pickeasy-32/assets/slots-script-tag.js" type="text/javascript" defer="defer"></script>
<meta property="og:image" content="https://cdn.shopify.com/s/files/1/0549/3653/5274/files/logo-mflorist.png?height=628&pad_color=fff&v=1642652179&width=1200" />
<meta property="og:image:secure_url" content="https://cdn.shopify.com/s/files/1/0549/3653/5274/files/logo-mflorist.png?height=628&pad_color=fff&v=1642652179&width=1200" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="628" />
<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {var session_token = document.cookie.match(/_shopify_s=([^;]*)/);function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 54936535274,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token: session_token && session_token.length === 2 ? session_token[1] : "",page_type: "index"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
<script id="web-pixels-manager-setup">(function e(e,n,a,t,r){var o="function"==typeof BigInt&&-1!==BigInt.toString().indexOf("[native code]")?"modern":"legacy";window.Shopify=window.Shopify||{};var i=window.Shopify;i.analytics=i.analytics||{};var s=i.analytics;s.replayQueue=[],s.publish=function(e,n,a){return s.replayQueue.push([e,n,a]),!0};try{self.performance.mark("wpm:start")}catch(e){}var l=[a,"/wpm","/b",r,o.substring(0,1),".js"].join("");!function(e){var n=e.src,a=e.async,t=void 0===a||a,r=e.onload,o=e.onerror,i=document.createElement("script"),s=document.head,l=document.body;i.async=t,i.src=n,r&&i.addEventListener("load",r),o&&i.addEventListener("error",o),s?s.appendChild(i):l?l.appendChild(i):console.error("Did not find a head or body element to append the script")}({src:l,async:!0,onload:function(){var a=window.webPixelsManager.init(e);n(a);var t=window.Shopify.analytics;t.replayQueue.forEach((function(e){var n=e[0],t=e[1],r=e[2];a.publishCustomEvent(n,t,r)})),t.replayQueue=[],t.publish=a.publishCustomEvent,t.visitor=a.visitor},onerror:function(){var n=e.storefrontBaseUrl.replace(/\/$/,""),a="".concat(n,"/.well-known/shopify/monorail/unstable/produce_batch"),r=JSON.stringify({metadata:{event_sent_at_ms:(new Date).getTime()},events:[{schema_id:"web_pixels_manager_load/2.0",payload:{version:t||"latest",page_url:self.location.href,status:"failed",error_msg:"".concat(l," has failed to load")},metadata:{event_created_at_ms:(new Date).getTime()}}]});try{if(self.navigator.sendBeacon.bind(self.navigator)(a,r))return!0}catch(e){}var o=new XMLHttpRequest;try{return o.open("POST",a,!0),o.setRequestHeader("Content-Type","text/plain"),o.send(r),!0}catch(e){console&&console.warn&&console.warn("[Web Pixels Manager] Got an unhandled error while logging a load error.")}return!1}})})({shopId: 54936535274,storefrontBaseUrl: "https://mflorist.hk",cdnBaseUrl: "https://mflorist.hk/cdn",surface: "storefront-renderer",enabledBetaFlags: ["5de24938","3b4293f9"],webPixelsConfigList: [{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"064","apiClientId":"shopify-pixel","type":"APP","purposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"064","apiClientId":"shopify-pixel","type":"CUSTOM","purposes":["ANALYTICS","MARKETING"]}],initData: {"cart":null,"checkout":null,"customer":null,"productVariants":[]},},function pageEvents(webPixelsManagerAPI) {webPixelsManagerAPI.publish("page_viewed");},"https://mflorist.hk/cdn","c8e6c2972f57ba512407366c74faae6b543486e4","b06604fcw35017947p5dc7d676m3b6e9e66",);</script> <script>window.ShopifyAnalytics = window.ShopifyAnalytics || {};
window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
window.ShopifyAnalytics.meta.currency = 'HKD';
var meta = {"page":{"pageType":"home"}};
for (var attr in meta) {
window.ShopifyAnalytics.meta[attr] = meta[attr];
}</script>
<script>window.ShopifyAnalytics.merchantGoogleAnalytics = function() {
};
</script>
<script class="analytics">(window.gaDevIds=window.gaDevIds||[]).push('BwiEti');
(function () {
var customDocumentWrite = function(content) {
var jquery = null;
if (window.jQuery) {
jquery = window.jQuery;
} else if (window.Checkout && window.Checkout.$) {
jquery = window.Checkout.$;
}
if (jquery) {
jquery('body').append(content);
}
};
var hasLoggedConversion = function(token) {
if (token) {
return document.cookie.indexOf('loggedConversion=' + token) !== -1;
}
return false;
}
var setCookieIfConversion = function(token) {
if (token) {
var twoMonthsFromNow = new Date(Date.now());
twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
}
}
var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
if (trekkie.integrations) {
return;
}
trekkie.methods = [
'identify',
'page',
'ready',
'track',
'trackForm',
'trackLink'
];
trekkie.factory = function(method) {
return function() {
var args = Array.prototype.slice.call(arguments);
args.unshift(method);
trekkie.push(args);
return trekkie;
};
};
for (var i = 0; i < trekkie.methods.length; i++) {
var key = trekkie.methods[i];
trekkie[key] = trekkie.factory(key);
}
trekkie.load = function(config) {
trekkie.config = config || {};
trekkie.config.initialDocumentCookie = document.cookie;
var first = document.getElementsByTagName('script')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.onerror = function(e) {
var scriptFallback = document.createElement('script');
scriptFallback.type = 'text/javascript';
scriptFallback.onerror = function(error) {
var Monorail = {
produce: function produce(monorailDomain, schemaId, payload) {
var currentMs = new Date().getTime();
var event = {
schema_id: schemaId,
payload: payload,
metadata: {
event_created_at_ms: currentMs,
event_sent_at_ms: currentMs
}
};
return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
},
sendRequest: function sendRequest(endpointUrl, payload) {
// Try the sendBeacon API
if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
var blobData = new window.Blob([payload], {
type: 'text/plain'
});
if (window.navigator.sendBeacon(endpointUrl, blobData)) {
return true;
} // sendBeacon was not successful
} // XHR beacon
var xhr = new XMLHttpRequest();
try {
xhr.open('POST', endpointUrl);
xhr.setRequestHeader('Content-Type', 'text/plain');
xhr.send(payload);
} catch (e) {
console.log(e);
}
return false;
},
isIos12: function isIos12() {
return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
}
};
Monorail.produce('monorail-edge.shopifysvc.com',
'trekkie_storefront_load_errors/1.1',
{shop_id: 54936535274,
theme_id: 130370142442,
app_name: "storefront",
context_url: window.location.href,
source_url: "//mflorist.hk/cdn/s/trekkie.storefront.dd626a6a6fbdab104f8779acc4331c330134c832.min.js"});
};
scriptFallback.async = true;
scriptFallback.src = '//mflorist.hk/cdn/s/trekkie.storefront.dd626a6a6fbdab104f8779acc4331c330134c832.min.js';
first.parentNode.insertBefore(scriptFallback, first);
};
script.async = true;
script.src = '//mflorist.hk/cdn/s/trekkie.storefront.dd626a6a6fbdab104f8779acc4331c330134c832.min.js';
first.parentNode.insertBefore(script, first);
};
trekkie.load(
{"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":54936535274,"isMerchantRequest":null,"themeId":130370142442,"themeCityHash":"8570285427648817381","contentLanguage":"en","currency":"HKD"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["bbcf04e6"]},"Google Analytics":{"trackingId":"UA-92067912-1","domain":"auto","siteSpeedSampleRate":"10","enhancedEcommerce":true,"doubleClick":true,"includeSearch":true},"Facebook Pixel":{"pixelIds":["527223150974215"],"agent":"plshopify1.2"},"Google Gtag Pixel":{"conversionId":"G-3MRTLKL2FZ","eventLabels":[{"type":"search","action_label":["G-3MRTLKL2FZ","AW-802951560\/GMo4CMTV57YYEIij8P4C"]},{"type":"begin_checkout","action_label":["G-3MRTLKL2FZ","AW-802951560\/q5GRCMrV57YYEIij8P4C"]},{"type":"view_item","action_label":["G-3MRTLKL2FZ","AW-802951560\/zfKhCMHV57YYEIij8P4C","MC-1FZTJFLGYC"]},{"type":"purchase","action_label":["G-3MRTLKL2FZ","AW-802951560\/8WvzCLvV57YYEIij8P4C","MC-1FZTJFLGYC"]},{"type":"page_view","action_label":["G-3MRTLKL2FZ","AW-802951560\/8q-lCL7V57YYEIij8P4C","MC-1FZTJFLGYC"]},{"type":"add_payment_info","action_label":["G-3MRTLKL2FZ","AW-802951560\/G0JuCM3V57YYEIij8P4C"]},{"type":"add_to_cart","action_label":["G-3MRTLKL2FZ","AW-802951560\/2ZWNCMfV57YYEIij8P4C"]}],"targetCountry":"HK"},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"facebookAppPixelId":"527223150974215","source":"trekkie-storefront-renderer"}}
);
var loaded = false;
trekkie.ready(function() {
if (loaded) return;
loaded = true;
window.ShopifyAnalytics.lib = window.trekkie;
ga('require', 'linker');
function addListener(element, type, callback) {
if (element.addEventListener) {
element.addEventListener(type, callback);
}
else if (element.attachEvent) {
element.attachEvent('on' + type, callback);
}
}
function decorate(event) {
event = event || window.event;
var target = event.target || event.srcElement;
if (target && (target.getAttribute('action') || target.getAttribute('href'))) {
ga(function (tracker) {
var linkerParam = tracker.get('linkerParam');
document.cookie = '_shopify_ga=' + linkerParam + '; ' + 'path=/';
});
}
}
addListener(window, 'load', function(){
for (var i=0; i < document.forms.length; i++) {
var action = document.forms[i].getAttribute('action');
if(action && action.indexOf('/cart') >= 0) {
addListener(document.forms[i], 'submit', decorate);
}
}
for (var i=0; i < document.links.length; i++) {
var href = document.links[i].getAttribute('href');
if(href && href.indexOf('/checkout') >= 0) {
addListener(document.links[i], 'click', decorate);
}
}
});
var originalDocumentWrite = document.write;
document.write = customDocumentWrite;
try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
document.write = originalDocumentWrite;
window.ShopifyAnalytics.lib.page(null,{"pageType":"home"});
var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
var token = match? match[1]: undefined;
if (!hasLoggedConversion(token)) {
setCookieIfConversion(token);
}
});
var eventsListenerScript = document.createElement('script');
eventsListenerScript.async = true;
eventsListenerScript.src = "//mflorist.hk/cdn/shopifycloud/shopify/assets/shop_events_listener-61fa9e0a912c675e178777d2b27f6cbd482f8912a6b0aa31fa3515985a8cd626.js";
document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
})();</script>
<script class="boomerang">
(function () {
if (window.BOOMR && (window.BOOMR.version || window.BOOMR.snippetExecuted)) {
return;
}
window.BOOMR = window.BOOMR || {};
window.BOOMR.snippetStart = new Date().getTime();
window.BOOMR.snippetExecuted = true;
window.BOOMR.snippetVersion = 12;
window.BOOMR.application = "storefront-renderer";
window.BOOMR.themeName = "Pipeline";
window.BOOMR.themeVersion = "6.1.0";
window.BOOMR.shopId = 54936535274;
window.BOOMR.themeId = 130370142442;
window.BOOMR.renderRegion = "gcp-us-east1";
window.BOOMR.url =
"https://mflorist.hk/cdn/shopifycloud/boomerang/shopify-boomerang-1.0.0.min.js";
var where = document.currentScript || document.getElementsByTagName("script")[0];
var parentNode = where.parentNode;
var promoted = false;
var LOADER_TIMEOUT = 3000;
function promote() {
if (promoted) {
return;
}
var script = document.createElement("script");
script.id = "boomr-scr-as";
script.src = window.BOOMR.url;
script.async = true;
parentNode.appendChild(script);
promoted = true;
}
function iframeLoader(wasFallback) {
promoted = true;
var dom, bootstrap, iframe, iframeStyle;
var doc = document;
var win = window;
window.BOOMR.snippetMethod = wasFallback ? "if" : "i";
bootstrap = function(parent, scriptId) {
var script = doc.createElement("script");
script.id = scriptId || "boomr-if-as";
script.src = window.BOOMR.url;
BOOMR_lstart = new Date().getTime();
parent = parent || doc.body;
parent.appendChild(script);
};
if (!window.addEventListener && window.attachEvent && navigator.userAgent.match(/MSIE [67]./)) {
window.BOOMR.snippetMethod = "s";
bootstrap(parentNode, "boomr-async");
return;
}
iframe = document.createElement("IFRAME");
iframe.src = "about:blank";
iframe.title = "";
iframe.role = "presentation";
iframe.loading = "eager";
iframeStyle = (iframe.frameElement || iframe).style;
iframeStyle.width = 0;
iframeStyle.height = 0;
iframeStyle.border = 0;
iframeStyle.display = "none";
parentNode.appendChild(iframe);
try {
win = iframe.contentWindow;
doc = win.document.open();
} catch (e) {
dom = document.domain;
iframe.src = "javascript:var d=document.open();d.domain='" + dom + "';void(0);";
win = iframe.contentWindow;
doc = win.document.open();
}
if (dom) {
doc._boomrl = function() {
this.domain = dom;
bootstrap();
};
doc.write("<body onload='document._boomrl();'>");
} else {
win._boomrl = function() {
bootstrap();
};
if (win.addEventListener) {
win.addEventListener("load", win._boomrl, false);
} else if (win.attachEvent) {
win.attachEvent("onload", win._boomrl);
}
}
doc.close();
}
var link = document.createElement("link");
if (link.relList &&
typeof link.relList.supports === "function" &&
link.relList.supports("preload") &&
("as" in link)) {
window.BOOMR.snippetMethod = "p";
link.href = window.BOOMR.url;
link.rel = "preload";
link.as = "script";
link.addEventListener("load", promote);
link.addEventListener("error", function() {
iframeLoader(true);
});
setTimeout(function() {
if (!promoted) {
iframeLoader(true);
}
}, LOADER_TIMEOUT);
BOOMR_lstart = new Date().getTime();
parentNode.appendChild(link);
} else {
iframeLoader(false);
}
function boomerangSaveLoadTime(e) {
window.BOOMR_onload = (e && e.timeStamp) || new Date().getTime();
}
if (window.addEventListener) {
window.addEventListener("load", boomerangSaveLoadTime, false);
} else if (window.attachEvent) {
window.attachEvent("onload", boomerangSaveLoadTime);
}
if (document.addEventListener) {
document.addEventListener("onBoomerangLoaded", function(e) {
e.detail.BOOMR.init({
ResourceTiming: {
enabled: true,
trackedResourceTypes: ["script", "img", "css"]
},
});
e.detail.BOOMR.t_end = new Date().getTime();
});
} else if (document.attachEvent) {
document.attachEvent("onpropertychange", function(e) {
if (!e) e=event;
if (e.propertyName === "onBoomerangLoaded") {
e.detail.BOOMR.init({
ResourceTiming: {
enabled: true,
trackedResourceTypes: ["script", "img", "css"]
},
});
e.detail.BOOMR.t_end = new Date().getTime();
}
});
}
})();</script>
</head>
<body id="online-florist-amp-flower-delivery-hong-kong-m-florist" class="template-index">
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WDH9F4Q"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<a class="in-page-link visually-hidden skip-link" href="#MainContent">Skip to content</a>
<div id="shopify-section-announcement" class="shopify-section"><div class="announcement__wrapper"
data-announcement-wrapper
data-section-id="announcement"
data-section-type="announcement">
<div class="announcement__font font--3"><div class="announcement__bar-outer" data-bar style="--bg: var(---color-announcement-bg); --text: var(---color-announcement-text);"><div class="announcement__bar-holder" data-announcement-slider data-slider-speed="4000">
<div data-slide="763ea256-ef60-4ec9-aa1e-d5cccbf69eda"
data-slide-index="0"
class="announcement__bar--icon announcement__bar"
>
<div data-ticker-frame class="announcement__message">
<div data-ticker-scale class="ticker--unloaded announcement__scale">
<div data-ticker-text class="announcement__text">
<div class="icon__bar__icon" style="--stroke: #a05e5e">
<!-- /snippets/animated-icon.liquid -->
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-shipment" viewBox="0 0 24 24"><g stroke="#000" fill="none" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M.766 13.222l2.937 1.487M.86 9.234l2.812 1.506M2.045 5.918l1.689 1.041m7.125-1.808l8.25 4.215m-5.047-5.852L7.874 6.676a2.113 2.113 0 00-1.14 1.885v6.879a2.113 2.113 0 001.141 1.885l6.187 3.161a2.022 2.022 0 001.845 0l6.187-3.161a2.112 2.112 0 001.14-1.885V8.561a2.11 2.11 0 00-1.14-1.885l-6.187-3.162a2.028 2.028 0 00-1.845 0z"/><path d="M22.908 7.425l-7.924 4.048-7.923-4.048m7.923 4.048v9.236m4.125-11.343v2.912"/></g></svg>
</div><div class="icon__bar__text">
<div class="rte icon__bar__paragraph"><p>Enjoy Free & Same Day Delivery</p></div>
</div>
</div>
</div>
</div>
</div>
<div data-slide="5c348b03-dcd7-4c78-bdc0-0e5a375979a0"
data-slide-index="1"
class="announcement__bar--icon announcement__bar"
>
<div data-ticker-frame class="announcement__message">
<div data-ticker-scale class="ticker--unloaded announcement__scale">
<div data-ticker-text class="announcement__text">
<div class="icon__bar__icon" style="--stroke: #a05e5e">
<!-- /snippets/animated-icon.liquid -->
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-store" viewBox="0 0 24 24"><g stroke="#000" fill="none" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21.75 12.75v9a1.5 1.5 0 01-1.5 1.5H3.75a1.5 1.5 0 01-1.5-1.5v-9m18.898-12H2.852a.751.751 0 00-.733.587L.75 7.5a2.25 2.25 0 104.5 0 2.25 2.25 0 104.5 0 2.25 2.25 0 104.5 0 2.25 2.25 0 104.5 0 2.25 2.25 0 104.5 0l-1.37-6.163a.75.75 0 00-.732-.587z"/><path d="M18.75 16.5a3 3 0 10-6 0v6.75h6V16.5zM6 15.75h3a.75.75 0 01.75.75v3a.75.75 0 01-.75.75H6a.75.75 0 01-.75-.75v-3a.75.75 0 01.75-.75z"/><path d="M16.125 18a.375.375 0 110 .75.375.375 0 010-.75"/></g></svg>
</div><div class="icon__bar__text">
<div class="rte icon__bar__paragraph"><p>Welcome to M FLORIST</p></div>
</div>
</div>
</div>
</div>
</div>
</div></div></div>
</div>
</div>
<div id="shopify-section-header" class="shopify-section"><style>
:root {
---color-nav-text-transparent: #ffffff;
--menu-height: calc(80px);
}
</style>
<div class="header__wrapper"
data-header-wrapper
style="--bar-opacity: 0; --bar-width: 0; --bar-left: 0;"
data-header-transparent="true"
data-underline-current="false"
data-header-sticky="sticky"
data-header-style="split"
data-section-id="header"
data-section-type="header">
<header class="theme__header" role="banner" data-header-height>
<div class="wrapper">
<div class="header__mobile">
<div class="header__mobile__left">
<button class="header__mobile__button"
data-drawer-toggle="hamburger"
aria-label="Open menu"
aria-haspopup="true"
aria-expanded="false"
aria-controls="header-menu">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-nav" viewBox="0 0 25 25"><path d="M0 4.062h25v2H0zm0 7h25v2H0zm0 7h25v2H0z"/></svg>
</button>
</div>
<div class="header__logo">
<a class="header__logo__link"
href="/"
style="width: 50px;">
<div
class="header__logo__svg "
style="width: 50px;">
<span><svg aria-hidden="true" focusable="false" role="presentation" class="icon logo-mflorist" viewBox="0 0 200 332"><path d="M14.3 212l-14.1.1V0h.6c33 46.8 65.8 93.4 98.9 140.5L199.3 0h.6v212.1h-14.1v-170L99.9 161.9 14.6 43l-.3 169zM199.7 276.8v13.9H0V277v-.3M.1 317.3h118.3v14H.1zM20.4 243.2L12 254.6l-8-11.1v13H.3v-24.6h.1c1 1.5 8.3 11.9 11.8 16.8 3.8-5.3 8.3-11.7 12.1-16.8h.1v24.6h-3.8M116.4 244.7c.2 5.9-4.7 12-12 12-7 0-11.9-5.7-11.9-11.8 0-6.6 5.4-12.2 12-12.1 7.2-.1 12.2 6.2 11.9 11.9zm-11.9 8.5c4.5.2 8.4-3.8 8.4-8.5 0-4.8-3.7-8.7-8.4-8.7-4.6 0-8.3 3.8-8.4 8.5-.1 4.9 4 8.9 8.4 8.7zM124.9 232.7c2.9-.1 6.3-.2 9.2.4 2.9.5 5.4 2.4 6.1 5.5.7 3.3-.2 6.3-3 8.5-.2.2-.1.1-.5.4 1.9 3 3.7 5.9 5.7 9-1.4 0-3.3.1-4.4 0l-.7-1.1s-2.8-4.1-4.1-6.2c-.6-1-1-.9-2.2-.9h-2.2v8.2H125m3.6-20.1l.1 8.2c1.6 0 3.1 0 4.6-.1 2-.2 3.1-1.7 3.2-3.8 0-1.2-.4-2.5-1.4-3.3-.5-.5-1.2-.8-1.9-.9-.6-.1-1.9-.1-1.9-.1h-2.7zM162 254c.5-.9 1-1.7 1.5-2.5 1.2.5 2.2 1 3.2 1.4 1.6.5 3.2.7 4.8.1 1.3-.5 2.2-1.3 2.4-2.7.2-1.4-.5-2.5-1.6-3.2-.9-.5-1.8-.9-2.7-1.4-1.1-.5-2.2-.9-3.2-1.5-2.3-1.3-3.4-3.2-3.2-5.8.2-2.6 1.6-4.3 4-5.2 2.8-1 5.6-.7 8.3.4.6.2 1.3.6 1.9 1l-1.4 2.7s-.9-.5-1.3-.7c-1.5-.6-3-1-4.6-.9-1.4.1-2.6.6-3.1 2-.5 1.2-.1 2.4 1 3.2 1 .7 2.1 1.2 3.2 1.7.8.4 1.7.7 2.5 1.1 2.9 1.5 4.1 3.7 3.7 7.1-.3 2.5-2.5 4.7-5.3 5.3-3.4.7-6.6 0-9.6-1.8 0 .2-.2 0-.5-.3zM60.7 246.7h-9.2v9.7h-3.8v-23.7h14.5v3.7H51.5v6.7h9.2M184.1 232.7H200v3.7c-2 .1-6.1 0-6.1 0v20h-3.8v-20h-5.9M85.9 252.8v3.7H70.4v-23.7h4v20M150 232.7h3.8v23.8l-3.8-.1v-23.7z"/></svg></span>
</div>
</a>
</div>
<div class="header__mobile__right">
<a class="header__mobile__button"
data-drawer-toggle="drawer-cart"
href="/cart">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-cart" viewBox="0 0 25 25"><path d="M5.058 23a2 2 0 104.001-.001A2 2 0 005.058 23zm12.079 0c0 1.104.896 2 2 2s1.942-.896 1.942-2-.838-2-1.942-2-2 .896-2 2zM0 1a1 1 0 001 1h1.078l.894 3.341L5.058 13c0 .072.034.134.042.204l-1.018 4.58A.997.997 0 005.058 19h16.71a1 1 0 000-2H6.306l.458-2.061c.1.017.19.061.294.061h12.31c1.104 0 1.712-.218 2.244-1.5l3.248-6.964C25.423 4.75 24.186 4 23.079 4H5.058c-.157 0-.292.054-.438.088L3.844.772A1 1 0 002.87 0H1a1 1 0 00-1 1zm5.098 5H22.93l-3.192 6.798c-.038.086-.07.147-.094.19-.067.006-.113.012-.277.012H7.058v-.198l-.038-.195L5.098 6z"/></svg>
<span class="visually-hidden">Cart</span>
<span class="header__cart__status">
<span data-header-cart-price="0">
$0.00
</span>
<span data-header-cart-count="0">
0
</span>
<span data-header-cart-full="false"></span>
</span>
</a>
</div>
</div>
<div data-header-desktop class="header__desktop header__desktop--split"><div data-takes-space class="header__desktop__bar__l">
<div class="header__desktop__bar__inline">
<div class="header__logo">
<a class="header__logo__link"
href="/"
style="width: 50px;">
<div
class="header__logo__svg "
style="width: 50px;">
<span><svg aria-hidden="true" focusable="false" role="presentation" class="icon logo-mflorist" viewBox="0 0 200 332"><path d="M14.3 212l-14.1.1V0h.6c33 46.8 65.8 93.4 98.9 140.5L199.3 0h.6v212.1h-14.1v-170L99.9 161.9 14.6 43l-.3 169zM199.7 276.8v13.9H0V277v-.3M.1 317.3h118.3v14H.1zM20.4 243.2L12 254.6l-8-11.1v13H.3v-24.6h.1c1 1.5 8.3 11.9 11.8 16.8 3.8-5.3 8.3-11.7 12.1-16.8h.1v24.6h-3.8M116.4 244.7c.2 5.9-4.7 12-12 12-7 0-11.9-5.7-11.9-11.8 0-6.6 5.4-12.2 12-12.1 7.2-.1 12.2 6.2 11.9 11.9zm-11.9 8.5c4.5.2 8.4-3.8 8.4-8.5 0-4.8-3.7-8.7-8.4-8.7-4.6 0-8.3 3.8-8.4 8.5-.1 4.9 4 8.9 8.4 8.7zM124.9 232.7c2.9-.1 6.3-.2 9.2.4 2.9.5 5.4 2.4 6.1 5.5.7 3.3-.2 6.3-3 8.5-.2.2-.1.1-.5.4 1.9 3 3.7 5.9 5.7 9-1.4 0-3.3.1-4.4 0l-.7-1.1s-2.8-4.1-4.1-6.2c-.6-1-1-.9-2.2-.9h-2.2v8.2H125m3.6-20.1l.1 8.2c1.6 0 3.1 0 4.6-.1 2-.2 3.1-1.7 3.2-3.8 0-1.2-.4-2.5-1.4-3.3-.5-.5-1.2-.8-1.9-.9-.6-.1-1.9-.1-1.9-.1h-2.7zM162 254c.5-.9 1-1.7 1.5-2.5 1.2.5 2.2 1 3.2 1.4 1.6.5 3.2.7 4.8.1 1.3-.5 2.2-1.3 2.4-2.7.2-1.4-.5-2.5-1.6-3.2-.9-.5-1.8-.9-2.7-1.4-1.1-.5-2.2-.9-3.2-1.5-2.3-1.3-3.4-3.2-3.2-5.8.2-2.6 1.6-4.3 4-5.2 2.8-1 5.6-.7 8.3.4.6.2 1.3.6 1.9 1l-1.4 2.7s-.9-.5-1.3-.7c-1.5-.6-3-1-4.6-.9-1.4.1-2.6.6-3.1 2-.5 1.2-.1 2.4 1 3.2 1 .7 2.1 1.2 3.2 1.7.8.4 1.7.7 2.5 1.1 2.9 1.5 4.1 3.7 3.7 7.1-.3 2.5-2.5 4.7-5.3 5.3-3.4.7-6.6 0-9.6-1.8 0 .2-.2 0-.5-.3zM60.7 246.7h-9.2v9.7h-3.8v-23.7h14.5v3.7H51.5v6.7h9.2M184.1 232.7H200v3.7c-2 .1-6.1 0-6.1 0v20h-3.8v-20h-5.9M85.9 252.8v3.7H70.4v-23.7h4v20M150 232.7h3.8v23.8l-3.8-.1v-23.7z"/></svg></span>
</div>
</a>
</div>
<nav class="header__menu">
<div class="header__menu__inner" data-text-items-wrapper>
<div class="menu__item grandparent kids-4 "
data-main-menu-text-item
aria-haspopup="true"
aria-expanded="false"
data-hover-disclosure-toggle="dropdown-7b95b1b4a02fcaa0e7abe263a58207f6"
aria-controls="dropdown-7b95b1b4a02fcaa0e7abe263a58207f6"
>
<a href="#" data-top-link class="navlink navlink--toplevel">
<span class="navtext">Flowers</span>
</a>
<div class="header__dropdown"
data-hover-disclosure
id="dropdown-7b95b1b4a02fcaa0e7abe263a58207f6">
<div class="header__dropdown__wrapper">
<div class="header__dropdown__inner">
<div class="dropdown__family">
<a href="#" data-stagger-first class="navlink navlink--child">
<span class="navtext">Shop by Products</span>
</a>
<a href="/collections/all-flower-arrangement" data-stagger-second class="navlink navlink--grandchild">
<span class="navtext">All Flower Products</span>
</a>
<a href="/collections/flower-bouquet-delivery" data-stagger-second class="navlink navlink--grandchild">
<span class="navtext">Bouquets</span>
</a>
<a href="/collections/flower-box" data-stagger-second class="navlink navlink--grandchild">
<span class="navtext">Boxes</span>
</a>
<a href="/collections/grand-opening-flower-stands" data-stagger-second class="navlink navlink--grandchild">
<span class="navtext">Opening Stand</span>
</a>
<a href="/collections/flower-jar" data-stagger-second class="navlink navlink--grandchild">
<span class="navtext">Jars</span>
</a>
</div>
<div class="dropdown__family">
<a href="#" data-stagger-first class="navlink navlink--child">
<span class="navtext">Shop by Occasions</span>
</a>
<a href="/collections/same-day-delivery" data-stagger-second class="navlink navlink--grandchild">
<span class="navtext">Same Day Delivery</span>
</a>
<a href="/collections/birthday-flower-collection" data-stagger-second class="navlink navlink--grandchild">
<span class="navtext">Birthday</span>
</a>
<a href="/collections/love-romance-rose-bouquet-collection" data-stagger-second class="navlink navlink--grandchild">
<span class="navtext">Love Romance</span>
</a>
<a href="/collections/get-well-soon-flower-bouquet" data-stagger-second class="navlink navlink--grandchild">
<span class="navtext">Get Well Soon</span>
</a>
</div>
<div >
<div class="header__dropdown__image section--image text--white bg--black" data-header-image><div class="hero__content__wrapper align--middle-center">
<div class="backdrop--radial">
</div>
</div>
<div class="image__fill fade-in-child"
style="padding-top: 100%;
background-image: url('//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_1x1.jpg?v=1677813613');"
>
<div class="background-size-cover lazyload"
data-bgset="
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_180x.jpg?v=1677813613 180w 180h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_360x.jpg?v=1677813613 360w 360h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_540x.jpg?v=1677813613 540w 540h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_720x.jpg?v=1677813613 720w 720h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_900x.jpg?v=1677813613 900w 900h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_1080x.jpg?v=1677813613 1080w 1080h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_1296x.jpg?v=1677813613 1296w 1296h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_1512x.jpg?v=1677813613 1512w 1512h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_1728x.jpg?v=1677813613 1728w 1728h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_1950x.jpg?v=1677813613 1950w 1950h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_2100x.jpg?v=1677813613 2100w 2100h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_2260x.jpg?v=1677813613 2260w 2260h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_2450x.jpg?v=1677813613 2450w 2450h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_2700x.jpg?v=1677813613 2700w 2700h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D.jpg?v=1677813613 3000w 3000h"
style="background-position: center center;"
role="img"
aria-label=""></div>
<noscript>
<img src="//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_720x.jpg?v=1677813613" alt="" class="responsive-wide-image"/>
</noscript>
</div>
</div>
</div>
<div >
<div class="header__dropdown__image section--image text--white bg--black" data-header-image><div class="hero__content__wrapper align--middle-center">
<div class="backdrop--radial">
</div>
</div>
<div class="image__fill fade-in-child"
style="padding-top: 100%;
background-image: url('//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_1x1.jpg?v=1677813656');"
>
<div class="background-size-cover lazyload"
data-bgset="
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_180x.jpg?v=1677813656 180w 180h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_360x.jpg?v=1677813656 360w 360h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_540x.jpg?v=1677813656 540w 540h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_720x.jpg?v=1677813656 720w 720h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_900x.jpg?v=1677813656 900w 900h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_1080x.jpg?v=1677813656 1080w 1080h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_1296x.jpg?v=1677813656 1296w 1296h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_1512x.jpg?v=1677813656 1512w 1512h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_1728x.jpg?v=1677813656 1728w 1728h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_1950x.jpg?v=1677813656 1950w 1950h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_2100x.jpg?v=1677813656 2100w 2100h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_2260x.jpg?v=1677813656 2260w 2260h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_2450x.jpg?v=1677813656 2450w 2450h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_2700x.jpg?v=1677813656 2700w 2700h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9.jpg?v=1677813656 3000w 3000h"
style="background-position: center center;"
role="img"
aria-label=""></div>
<noscript>
<img src="//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_720x.jpg?v=1677813656" alt="" class="responsive-wide-image"/>
</noscript>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="menu__item child"
data-main-menu-text-item
>
<a href="/collections/orchid" data-top-link class="navlink navlink--toplevel">
<span class="navtext">Orchid</span>
</a>
</div>
<div class="menu__item child"
data-main-menu-text-item
>
<a href="/collections/living-collection" data-top-link class="navlink navlink--toplevel">
<span class="navtext">Living</span>
</a>
</div>
<div class="menu__item child"
data-main-menu-text-item
>
<a href="/blogs/journal" data-top-link class="navlink navlink--toplevel">
<span class="navtext">Journal</span>
</a>
</div>
<div class="hover__bar"></div>
<div class="hover__bg"></div>
</div>
</nav>
</div>
</div>
<div data-takes-space class="header__desktop__bar__r">
<div class="header__desktop__buttons pr2">
<div class="header__desktop__button header__desktop__button">
<a href="#" class="navlink">
<span class="ly-custom-1000"></span>
</a>
</div>
</div>
<div class="header__desktop__buttons header__desktop__buttons--icons" ><div class="header__desktop__button " >
<a href="/account" class="navlink">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-account" viewBox="0 0 16 16"><path d="M10.713 8.771c.31.112.53.191.743.27.555.204.985.372 1.367.539 1.229.535 1.993 1.055 2.418 1.885.464.937.722 1.958.758 2.997.03.84-.662 1.538-1.524 1.538H1.525c-.862 0-1.554-.697-1.524-1.538a7.36 7.36 0 01.767-3.016c.416-.811 1.18-1.33 2.41-1.866a25.25 25.25 0 011.366-.54l.972-.35a1.42 1.42 0 00-.006-.072c-.937-1.086-1.369-2.267-1.369-4.17C4.141 1.756 5.517 0 8.003 0c2.485 0 3.856 1.755 3.856 4.448 0 2.03-.492 3.237-1.563 4.386.169-.18.197-.253.207-.305a1.2 1.2 0 00-.019.16l.228.082zm-9.188 5.742h12.95a5.88 5.88 0 00-.608-2.402c-.428-.835-2.214-1.414-4.46-2.224-.608-.218-.509-1.765-.24-2.053.631-.677 1.166-1.471 1.166-3.386 0-1.934-.782-2.96-2.33-2.96-1.549 0-2.336 1.026-2.336 2.96 0 1.915.534 2.709 1.165 3.386.27.288.369 1.833-.238 2.053-2.245.81-4.033 1.389-4.462 2.224a5.88 5.88 0 00-.607 2.402z"/></svg>
<span class="visually-hidden">My Account</span>
</a>
</div>
<div class="header__desktop__button " >
<a href="/search" class="navlink" data-popdown-toggle="search-popdown">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 16 16"><path d="M16 14.864L14.863 16l-4.24-4.241a6.406 6.406 0 01-4.048 1.392 6.61 6.61 0 01-4.65-1.925A6.493 6.493 0 01.5 9.098 6.51 6.51 0 010 6.575a6.536 6.536 0 011.922-4.652A6.62 6.62 0 014.062.5 6.52 6.52 0 016.575 0 6.5 6.5 0 019.1.5c.8.332 1.51.806 2.129 1.423a6.454 6.454 0 011.436 2.13 6.54 6.54 0 01.498 2.522c0 1.503-.468 2.853-1.4 4.048L16 14.864zM3.053 10.091c.973.972 2.147 1.461 3.522 1.461 1.378 0 2.551-.489 3.525-1.461.968-.967 1.45-2.138 1.45-3.514 0-1.37-.482-2.545-1.45-3.524-.981-.968-2.154-1.45-3.525-1.45-1.376 0-2.547.483-3.513 1.45-.973.973-1.46 2.146-1.46 3.523 0 1.375.483 2.548 1.45 3.515z"/></svg>
<span class="visually-hidden">Search</span>
</a>
</div>
<div class="header__desktop__button " >
<a href="/cart"
class="navlink navlink--cart"
data-drawer-toggle="drawer-cart">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-cart" viewBox="0 0 25 25"><path d="M5.058 23a2 2 0 104.001-.001A2 2 0 005.058 23zm12.079 0c0 1.104.896 2 2 2s1.942-.896 1.942-2-.838-2-1.942-2-2 .896-2 2zM0 1a1 1 0 001 1h1.078l.894 3.341L5.058 13c0 .072.034.134.042.204l-1.018 4.58A.997.997 0 005.058 19h16.71a1 1 0 000-2H6.306l.458-2.061c.1.017.19.061.294.061h12.31c1.104 0 1.712-.218 2.244-1.5l3.248-6.964C25.423 4.75 24.186 4 23.079 4H5.058c-.157 0-.292.054-.438.088L3.844.772A1 1 0 002.87 0H1a1 1 0 00-1 1zm5.098 5H22.93l-3.192 6.798c-.038.086-.07.147-.094.19-.067.006-.113.012-.277.012H7.058v-.198l-.038-.195L5.098 6z"/></svg>
<span class="visually-hidden">Cart</span>
<span class="header__cart__status">
<span data-header-cart-price="0">
$0.00
</span>
<span data-header-cart-count="0">
0
</span>
<span data-header-cart-full="false"></span>
</span>
</a>
</div>
</div>
</div>
</div>
</div>
</header>
<nav class="drawer header__drawer display-none"
data-drawer="hamburger"
aria-label="Main menu"
id="header-menu">
<div class="drawer__content">
<div class="drawer__top">
<div class="drawer__top__left"><form method="post" action="/localization" id="localization-form-drawer" accept-charset="UTF-8" class="header__drawer__selects" enctype="multipart/form-data"><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="popout--navbar">
<h2 class="visually-hidden" id="lang-heading-localization-form-drawer">
Language
</h2>
<div class="popout" data-popout>
<button type="button" class="popout__toggle" aria-expanded="false" aria-controls="lang-list-localization-form-drawer" aria-describedby="lang-heading-localization-form-drawer" data-popout-toggle>
English
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-arrow-down" viewBox="0 0 30 17"><path fill-rule="evenodd" d="M0 3.235L3.525 0l11.473 10.509L26.473 0 30 3.235 14.998 17z"/></svg></button>
<ul id="lang-list-localization-form-drawer" class="popout-list" data-popout-list>
<li class="popout-list__item popout-list__item--current">
<a class="popout-list__option" href="#" lang="" aria-current="true" data-value="en" data-popout-option>
<span>English</span>
</a>
</li>
<li class="popout-list__item ">
<a class="popout-list__option" href="#" lang="" data-value="zh-TW" data-popout-option>
<span>繁體中文</span>
</a>
</li></ul>
<input type="hidden" name="language_code" id="LocaleSelector-localization-form-drawer" value="en" data-popout-input/>
</div>
</div>
</form><a class="drawer__account" href="/account">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-account" viewBox="0 0 16 16"><path d="M10.713 8.771c.31.112.53.191.743.27.555.204.985.372 1.367.539 1.229.535 1.993 1.055 2.418 1.885.464.937.722 1.958.758 2.997.03.84-.662 1.538-1.524 1.538H1.525c-.862 0-1.554-.697-1.524-1.538a7.36 7.36 0 01.767-3.016c.416-.811 1.18-1.33 2.41-1.866a25.25 25.25 0 011.366-.54l.972-.35a1.42 1.42 0 00-.006-.072c-.937-1.086-1.369-2.267-1.369-4.17C4.141 1.756 5.517 0 8.003 0c2.485 0 3.856 1.755 3.856 4.448 0 2.03-.492 3.237-1.563 4.386.169-.18.197-.253.207-.305a1.2 1.2 0 00-.019.16l.228.082zm-9.188 5.742h12.95a5.88 5.88 0 00-.608-2.402c-.428-.835-2.214-1.414-4.46-2.224-.608-.218-.509-1.765-.24-2.053.631-.677 1.166-1.471 1.166-3.386 0-1.934-.782-2.96-2.33-2.96-1.549 0-2.336 1.026-2.336 2.96 0 1.915.534 2.709 1.165 3.386.27.288.369 1.833-.238 2.053-2.245.81-4.033 1.389-4.462 2.224a5.88 5.88 0 00-.607 2.402z"/></svg>
<span class="visually-hidden">My Account</span>
</a></div>
<button class="drawer__button drawer__close"
data-drawer-toggle="hamburger"
aria-label="Close">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 15 15"><g fill-rule="evenodd"><path d="M2.06 1l12.02 12.021-1.06 1.061L1 2.062z"/><path d="M1 13.02L13.022 1l1.061 1.06-12.02 12.02z"/></g></svg>
</button>
</div>
<div class="drawer__inner" data-drawer-scrolls>
<div class="drawer__search" data-drawer-search>
<div data-search-popdown-wrap>
<div id="search-drawer" class="search-drawer search__predictive" data-popdown-outer>
<div class="item--loadbar" data-loading-indicator style="display: none;"></div>
<div class="search__predictive__outer">
<div class="wrapper">
<div class="search__predictive__main">
<form class="search__predictive__form"
action="/search"
method="get"
role="search">
<button class="search__predictive__form__button" type="submit">
<span class="visually-hidden">Search</span>
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 16 16"><path d="M16 14.864L14.863 16l-4.24-4.241a6.406 6.406 0 01-4.048 1.392 6.61 6.61 0 01-4.65-1.925A6.493 6.493 0 01.5 9.098 6.51 6.51 0 010 6.575a6.536 6.536 0 011.922-4.652A6.62 6.62 0 014.062.5 6.52 6.52 0 016.575 0 6.5 6.5 0 019.1.5c.8.332 1.51.806 2.129 1.423a6.454 6.454 0 011.436 2.13 6.54 6.54 0 01.498 2.522c0 1.503-.468 2.853-1.4 4.048L16 14.864zM3.053 10.091c.973.972 2.147 1.461 3.522 1.461 1.378 0 2.551-.489 3.525-1.461.968-.967 1.45-2.138 1.45-3.514 0-1.37-.482-2.545-1.45-3.524-.981-.968-2.154-1.45-3.525-1.45-1.376 0-2.547.483-3.513 1.45-.973.973-1.46 2.146-1.46 3.523 0 1.375.483 2.548 1.45 3.515z"/></svg>
</button>
<input type="search"
data-predictive-search-input
name="q"
value=""
placeholder="Search..."
aria-label="Search…">
</form>
<div class="search__predictive__close">
<button class="search__predictive__close__inner" data-close-popdown aria-label="Close">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close-small" viewBox="0 0 15 15"><g fill-rule="evenodd"><path d="M2.237 1.073l12.021 12.021-1.414 1.414L.824 2.488z"/><path d="M.823 13.094l12.021-12.02 1.414 1.413-12.02 12.021z"/></g></svg>
</button>
</div>
<div class="search__predictive__clear">
<button class="search__predictive__close__inner" data-clear-input aria-label="Close">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 15 15"><g fill-rule="evenodd"><path d="M2.06 1l12.02 12.021-1.06 1.061L1 2.062z"/><path d="M1 13.02L13.022 1l1.061 1.06-12.02 12.02z"/></g></svg>
</button>
</div>
</div>
</div>
</div>
<div class="header__search__results" data-predictive-search-results>
<div class="wrapper">
<div class="search__results__empty" data-predictive-search-aria></div>
<div class="search__results__outer">
<div class="search__results__products">
<div class="search__results__products__title" data-product-title-wrap></div>
<div class="search__results__products__list" data-product-wrap>
</div>
</div>
<div class="search__results__other">
<div class="search__results__other__list" data-collection-wrap></div>
<div class="search__results__other__list" data-article-wrap></div>
<div class="search__results__other__list" data-page-wrap></div>
</div>
</div>
</div>
</div>
</div>
<script data-predictive-search-aria-template type="text/x-template">
<div aria-live="polite">
<p>
{{@if(it.count)}}
<span class="badge">{{ it.count }}</span>
{{/if}}
{{ it.title }} <em>{{ it.query }}</em>
</p>
</div>
</script>
<script data-predictive-search-title-template type="text/x-template">
<div class="search__results__heading">
<p>
<span class="search__results__title">{{ it.title }}</span>
<span class="badge">{{ it.count }}</span>
</p>
</div>
</script>
<script data-search-other-template type="text/x-template">
{{@each(it) => object, index}}
<div class="other__inline animates" style="animation-delay: {{ index | animationDelay }}ms;">
<p class="other__inline__title">
<a href="{{ object.url }}">{{ object.title | safe }}</a>
</p>
</div>
{{/each}}
</script>
<script data-search-product-template type="text/x-template">
{{@each(it) => object, index}}
<a href="{{ object.url }}" class="product__inline animates" style="animation-delay: {{ index | animationDelay }}ms;">
<div class="product__inline__image">
<img class="img-aspect-ratio" width="{{object.featured_image.width}}" height="{{ object.featured_image.height }}" alt="{{ object.featured_image.alt }}" src="{{ object.thumb }}">
</div>
<div>
<p class="product__inline__title">
{{ object.title | safe }}
</p>
<p class="product__inline__price">
<span class="price {{ object.classes }}">
{{ object.price | safe }}
</span>
{{@if(object.sold_out)}}
<br /><em>{{ object.sold_out_translation }}</em>
{{/if}}
{{@if(object.on_sale)}}
<span class="compare-at">
{{ object.compare_at_price | safe }}
</span>
{{/if}}
</p>
</div>
</a>
{{/each}}
</script>
</div>
</div>
<div class="drawer__menu" data-stagger-animation data-sliderule-pane="0">
<div class="sliderule__wrapper"><div class="sliderow">
<button
class="sliderow__button sliderow__button--expand"
data-link-levels="2"
data-sliderule-open="sliderule-b3f1838aa413a4322a3a256a01649c92">
<span class="sliderow__title">Flowers</span>
<span class="sliderule__chevron--right">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow-medium-right" viewBox="0 0 9 15"><path fill-rule="evenodd" d="M6.875 7.066L.87 1.06 1.93 0l6.006 6.005L7.94 6 9 7.06l-.004.006.005.005-1.06 1.06-.006-.004-6.005 6.005-1.061-1.06 6.005-6.006z"/></svg>
<span class="visually-hidden">Expand menu</span>
</span>
</button>
<button
class="sliderow__button sliderow__button--close"
data-sliderule-close="sliderule-b3f1838aa413a4322a3a256a01649c92">
<span class="sliderow__title">Flowers</span>
<span class="sliderule__chevron--down">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-arrow-medium-down" viewBox="0 0 15 9"><path d="M7.9 6l6-6L15 1.1l-6 6-1.1 1-1-1-6-6 1-1.1 6 6z" fill-rule="evenodd" clip-rule="evenodd"/></svg>
<span class="visually-hidden">Hide menu</span>
</span>
</button>
</div>
<div
class="mobile__menu__dropdown sliderule__panel"
data-sliderule
id="sliderule-b3f1838aa413a4322a3a256a01649c92">
<div class="sliderule__wrapper"><div class="sliderow">
<button
class="sliderow__button sliderow__button--expand"
data-animates
data-link-levels="1"
data-sliderule-open="sliderule-bb78ccdd86f322be1f113cce989d14ba">
<span class="sliderow__title">Shop by Products</span>
<span class="sliderule__chevron--right">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow-medium-right" viewBox="0 0 9 15"><path fill-rule="evenodd" d="M6.875 7.066L.87 1.06 1.93 0l6.006 6.005L7.94 6 9 7.06l-.004.006.005.005-1.06 1.06-.006-.004-6.005 6.005-1.061-1.06 6.005-6.006z"/></svg>
<span class="visually-hidden">Expand menu</span>
</span>
</button>
<button
class="sliderow__button sliderow__button--close"
data-animates
data-sliderule-close="sliderule-bb78ccdd86f322be1f113cce989d14ba">
<span class="sliderow__title">Shop by Products</span>
<span class="sliderule__chevron--down">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-arrow-medium-down" viewBox="0 0 15 9"><path d="M7.9 6l6-6L15 1.1l-6 6-1.1 1-1-1-6-6 1-1.1 6 6z" fill-rule="evenodd" clip-rule="evenodd"/></svg>
<span class="visually-hidden">Hide menu</span>
</span>
</button>
</div>
<div
class="mobile__menu__dropdown sliderule__panel"
data-sliderule
id="sliderule-bb78ccdd86f322be1f113cce989d14ba">
<div class="sliderule__wrapper">
<div class="sliderow" data-animates>
<a class="sliderow__title" href="/collections/all-flower-arrangement">All Flower Products</a>
</div></div>
<div class="sliderule__wrapper">
<div class="sliderow" data-animates>
<a class="sliderow__title" href="/collections/flower-bouquet-delivery">Bouquets</a>
</div></div>
<div class="sliderule__wrapper">
<div class="sliderow" data-animates>
<a class="sliderow__title" href="/collections/flower-box">Boxes</a>
</div></div>
<div class="sliderule__wrapper">
<div class="sliderow" data-animates>
<a class="sliderow__title" href="/collections/grand-opening-flower-stands">Opening Stand</a>
</div></div>
<div class="sliderule__wrapper">
<div class="sliderow" data-animates>
<a class="sliderow__title" href="/collections/flower-jar">Jars</a>
</div></div>
</div></div>
<div class="sliderule__wrapper"><div class="sliderow">
<button
class="sliderow__button sliderow__button--expand"
data-animates
data-link-levels="1"
data-sliderule-open="sliderule-3b071f4b00915b5eda291d8347d5965d">
<span class="sliderow__title">Shop by Occasions</span>
<span class="sliderule__chevron--right">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow-medium-right" viewBox="0 0 9 15"><path fill-rule="evenodd" d="M6.875 7.066L.87 1.06 1.93 0l6.006 6.005L7.94 6 9 7.06l-.004.006.005.005-1.06 1.06-.006-.004-6.005 6.005-1.061-1.06 6.005-6.006z"/></svg>
<span class="visually-hidden">Expand menu</span>
</span>
</button>
<button
class="sliderow__button sliderow__button--close"
data-animates
data-sliderule-close="sliderule-3b071f4b00915b5eda291d8347d5965d">
<span class="sliderow__title">Shop by Occasions</span>
<span class="sliderule__chevron--down">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-arrow-medium-down" viewBox="0 0 15 9"><path d="M7.9 6l6-6L15 1.1l-6 6-1.1 1-1-1-6-6 1-1.1 6 6z" fill-rule="evenodd" clip-rule="evenodd"/></svg>
<span class="visually-hidden">Hide menu</span>
</span>
</button>
</div>
<div
class="mobile__menu__dropdown sliderule__panel"
data-sliderule
id="sliderule-3b071f4b00915b5eda291d8347d5965d">
<div class="sliderule__wrapper">
<div class="sliderow" data-animates>
<a class="sliderow__title" href="/collections/same-day-delivery">Same Day Delivery</a>
</div></div>
<div class="sliderule__wrapper">
<div class="sliderow" data-animates>
<a class="sliderow__title" href="/collections/birthday-flower-collection">Birthday</a>
</div></div>
<div class="sliderule__wrapper">
<div class="sliderow" data-animates>
<a class="sliderow__title" href="/collections/love-romance-rose-bouquet-collection">Love Romance</a>
</div></div>
<div class="sliderule__wrapper">
<div class="sliderow" data-animates>
<a class="sliderow__title" href="/collections/get-well-soon-flower-bouquet">Get Well Soon</a>
</div></div>
</div></div>
<div class="sliderule-grid blocks-2">
<div >
<div class="header__dropdown__image section--image text--white bg--black" data-header-image><div class="hero__content__wrapper align--middle-center">
<div class="backdrop--radial">
</div>
</div>
<div class="image__fill fade-in-child"
style="padding-top: 100%;
background-image: url('//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_1x1.jpg?v=1677813613');"
>
<div class="background-size-cover lazyload"
data-bgset="
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_180x.jpg?v=1677813613 180w 180h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_360x.jpg?v=1677813613 360w 360h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_540x.jpg?v=1677813613 540w 540h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_720x.jpg?v=1677813613 720w 720h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_900x.jpg?v=1677813613 900w 900h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_1080x.jpg?v=1677813613 1080w 1080h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_1296x.jpg?v=1677813613 1296w 1296h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_1512x.jpg?v=1677813613 1512w 1512h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_1728x.jpg?v=1677813613 1728w 1728h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_1950x.jpg?v=1677813613 1950w 1950h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_2100x.jpg?v=1677813613 2100w 2100h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_2260x.jpg?v=1677813613 2260w 2260h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_2450x.jpg?v=1677813613 2450w 2450h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_2700x.jpg?v=1677813613 2700w 2700h,
//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D.jpg?v=1677813613 3000w 3000h"
style="background-position: center center;"
role="img"
aria-label=""></div>
<noscript>
<img src="//mflorist.hk/cdn/shop/files/02EFEE7E-80FB-485B-97D8-0ABF271FB54D_720x.jpg?v=1677813613" alt="" class="responsive-wide-image"/>
</noscript>
</div>
</div>
</div>
<div >
<div class="header__dropdown__image section--image text--white bg--black" data-header-image><div class="hero__content__wrapper align--middle-center">
<div class="backdrop--radial">
</div>
</div>
<div class="image__fill fade-in-child"
style="padding-top: 100%;
background-image: url('//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_1x1.jpg?v=1677813656');"
>
<div class="background-size-cover lazyload"
data-bgset="
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_180x.jpg?v=1677813656 180w 180h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_360x.jpg?v=1677813656 360w 360h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_540x.jpg?v=1677813656 540w 540h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_720x.jpg?v=1677813656 720w 720h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_900x.jpg?v=1677813656 900w 900h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_1080x.jpg?v=1677813656 1080w 1080h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_1296x.jpg?v=1677813656 1296w 1296h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_1512x.jpg?v=1677813656 1512w 1512h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_1728x.jpg?v=1677813656 1728w 1728h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_1950x.jpg?v=1677813656 1950w 1950h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_2100x.jpg?v=1677813656 2100w 2100h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_2260x.jpg?v=1677813656 2260w 2260h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_2450x.jpg?v=1677813656 2450w 2450h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_2700x.jpg?v=1677813656 2700w 2700h,
//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9.jpg?v=1677813656 3000w 3000h"
style="background-position: center center;"
role="img"
aria-label=""></div>
<noscript>
<img src="//mflorist.hk/cdn/shop/files/64C267FB-E978-44E9-8237-7B7261399DD9_720x.jpg?v=1677813656" alt="" class="responsive-wide-image"/>
</noscript>
</div>
</div>
</div>
</div></div></div>
<div class="sliderule__wrapper">
<div class="sliderow" data-animates>
<a class="sliderow__title" href="/collections/orchid">Orchid</a>
</div></div>
<div class="sliderule__wrapper">
<div class="sliderow" data-animates>
<a class="sliderow__title" href="/collections/living-collection">Living</a>
</div></div>
<div class="sliderule__wrapper">
<div class="sliderow" data-animates>
<a class="sliderow__title" href="/blogs/journal">Journal</a>
</div></div>
</div>
</div>
</div>
<span class="drawer__underlay" data-drawer-underlay>
<span class="drawer__underlay__fill"></span>
<span class="drawer__underlay__blur"></span>
</span>
</nav>
<div data-product-add-popdown-wrapper class="product-add-popdown"></div>
</div>
<div class="header__backfill"
data-header-backfill
style="height: var(--menu-height);"></div>
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Organization",
"name": "M FLORIST",
"sameAs": [
"",
"https:\/\/www.facebook.com\/mfloristhongkong\/",
"https:\/\/www.instagram.com\/mfloristhk\/",
"",
"",
"",
"",
"",
""
],
"url": "https:\/\/mflorist.hk"
}
</script>
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebSite",
"name": "M FLORIST",
"potentialAction": {
"@type": "SearchAction",
"target": "https:\/\/mflorist.hk\/search?q={search_term_string}",
"query-input": "required name=search_term_string"
},
"url": "https:\/\/mflorist.hk"
}
</script>
</div>
<main class="main-content" id="MainContent">
<div id="shopify-section-template--15612019507434__hero" class="shopify-section"><!-- /sections/section-hero.liquid -->
<div class="section--image fade-in-child js-overflow-container text--white"
data-section-id="template--15612019507434__hero"
data-section-type="hero"
data-overlay-header>
<div class="hero__content__wrapper align--bottom-center">
<div class="hero__content js-overflow-content">
<p class="hero__kicker"
data-aos="hero"
data-aos-anchor="[data-section-id='template--15612019507434__hero']"
data-aos-order="1">
SEASONAL CURATED
</p>
<h1 class="hero__title h2"
data-aos="hero"
data-aos-anchor="[data-section-id='template--15612019507434__hero']"
data-aos-order="2">
Spring 2024
</h1>
<a class="btn btn--white hero__btn btn--long uppercase"
href="/collections/all-flower-arrangement"
data-aos="hero"
data-aos-anchor="[data-section-id='template--15612019507434__hero']"
data-aos-order="4">
SHOP NOW
</a>
</div>
</div>
<div class="image-overlay" style="--bg:#000000; opacity:0.1;"></div>
<div class="image__hero__frame fade-in-child use_screen_full desktop"
data-overflow-background
data-parallax-wrapper>
<div class="image__hero__pane">
<div class="image__hero__scale"
style="height: 88.86255924170617vw;"
data-parallax-img
>
<div class="background-size-cover lazyload"
data-bgset="
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_180x.jpg?v=1698775106 180w 160h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_360x.jpg?v=1698775106 360w 320h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_540x.jpg?v=1698775106 540w 480h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_720x.jpg?v=1698775106 720w 640h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_900x.jpg?v=1698775106 900w 800h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_1080x.jpg?v=1698775106 1080w 960h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_1296x.jpg?v=1698775106 1296w 1152h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_1512x.jpg?v=1698775106 1512w 1344h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_1728x.jpg?v=1698775106 1728w 1536h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_1950x.jpg?v=1698775106 1950w 1733h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_2100x.jpg?v=1698775106 2100w 1866h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_2260x.jpg?v=1698775106 2260w 2008h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_2450x.jpg?v=1698775106 2450w 2177h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_2700x.jpg?v=1698775106 2700w 2399h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_3000x.jpg?v=1698775106 3000w 2666h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_3350x.jpg?v=1698775106 3350w 2977h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5.jpg?v=1698775106 3376w 3000h"
style="background-position: center center;"
role="img"
aria-label=""></div>
</div>
</div>
<noscript>
<img src="//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_720x.jpg?v=1698775106" alt="" class="responsive-wide-image"/>
</noscript>
</div>
<div class="image__hero__frame fade-in-child use_screen_full mobile"
data-overflow-background
data-parallax-wrapper>
<div class="image__hero__pane">
<div class="image__hero__scale"
style="height: 88.86255924170617vw;"
data-parallax-img
>
<div class="background-size-cover lazyload"
data-bgset="
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_180x.jpg?v=1698775106 180w 160h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_360x.jpg?v=1698775106 360w 320h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_540x.jpg?v=1698775106 540w 480h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_720x.jpg?v=1698775106 720w 640h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_900x.jpg?v=1698775106 900w 800h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_1080x.jpg?v=1698775106 1080w 960h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_1296x.jpg?v=1698775106 1296w 1152h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_1512x.jpg?v=1698775106 1512w 1344h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_1728x.jpg?v=1698775106 1728w 1536h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_1950x.jpg?v=1698775106 1950w 1733h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_2100x.jpg?v=1698775106 2100w 1866h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_2260x.jpg?v=1698775106 2260w 2008h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_2450x.jpg?v=1698775106 2450w 2177h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_2700x.jpg?v=1698775106 2700w 2399h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_3000x.jpg?v=1698775106 3000w 2666h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_3350x.jpg?v=1698775106 3350w 2977h,
//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5.jpg?v=1698775106 3376w 3000h"
style="background-position: center center;"
role="img"
aria-label=""></div>
</div>
</div>
<noscript>
<img src="//mflorist.hk/cdn/shop/files/17E5E57E-31F0-4134-9162-0BEA6CC50AE5_720x.jpg?v=1698775106" alt="" class="responsive-wide-image"/>
</noscript>
</div>
<div class="scroll_icon_wrap">
<button data-scroll-down class="scroll_link" aria-label="Scroll down">
<span class="scroll_icon"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-scroll-down" viewBox="0 0 20 10"><path d="M10 7.932L1.059 0 0 1.129 10 10l10-8.871L18.941 0z"/></svg></span>
</button>
</div>
</div>
</div><div id="shopify-section-template--15612019507434__richtext" class="shopify-section"><!-- /sections/section-richtext.liquid--><section class="text--neutral margin--medium section bg--accent" data-section-id="template--15612019507434__richtext" data-section-type="rich-text">
<div class="wrapper--narrow">
<div class="text__standard text-center">
<h2 class="section-title h6 color--black"
data-aos="hero"
data-aos-anchor="[data-section-id='template--15612019507434__richtext']"
data-aos-order="2">
CONTEMPORARY ONLINE FLORIST IN HONG KONG
</h2>
<div class="standard__rte font--2 columns--1 "
data-aos="hero"
data-aos-anchor="[data-section-id='template--15612019507434__richtext']"
data-aos-order="3">
<p>M FLORIST have been an online flower shop in HK since 2017, formed by a creative and diversified team. Our intention is to have positive impacts enriching lives of others, working environments, and communities through our expertly crafted collection of floral art.</p>
</div>
</div>
</div>
</section>
</div><div id="shopify-section-template--15612019507434__product-grid" class="shopify-section"><div class="section-collection section bg--accent"
data-section-id="template--15612019507434__product-grid"
data-section-type="collection-row">
<div class="wrapper">
<h2 class="section-title h6 color--black">Best Sellers</h2>
<div class="js-grid" data-grid-large="5" data-grid-small="2">
<!-- /snippets/product-grid-item.liquid -->
<div
class="product-grid-item tagged"
data-aos="fade-up"
data-aos-easing="linear"
data-aos-duration="400"
data-aos-delay="0"
data-grid-item>
<div >
<a href="/products/purple-lush-flower-bouquet" data-grid-link class="lazy-image double__image" aria-label="Purple Lush Flower Bouquet" style="padding-top:100%; background-image: url('//mflorist.hk/cdn/shop/files/980ED4D9-97DB-4FA8-94DF-2D8817213D09_1x1.jpg?v=1700141804');">
<div class="lazyload fade-in collection__image__top"
data-bgset="
//mflorist.hk/cdn/shop/files/980ED4D9-97DB-4FA8-94DF-2D8817213D09_180x.jpg?v=1700141804 180w 180h,
//mflorist.hk/cdn/shop/files/980ED4D9-97DB-4FA8-94DF-2D8817213D09_360x.jpg?v=1700141804 360w 360h,
//mflorist.hk/cdn/shop/files/980ED4D9-97DB-4FA8-94DF-2D8817213D09_540x.jpg?v=1700141804 540w 540h,
//mflorist.hk/cdn/shop/files/980ED4D9-97DB-4FA8-94DF-2D8817213D09_720x.jpg?v=1700141804 720w 720h,
//mflorist.hk/cdn/shop/files/980ED4D9-97DB-4FA8-94DF-2D8817213D09_900x.jpg?v=1700141804 900w 900h,
//mflorist.hk/cdn/shop/files/980ED4D9-97DB-4FA8-94DF-2D8817213D09_1080x.jpg?v=1700141804 1080w 1080h,
//mflorist.hk/cdn/shop/files/980ED4D9-97DB-4FA8-94DF-2D8817213D09_1296x.jpg?v=1700141804 1296w 1296h,
//mflorist.hk/cdn/shop/files/980ED4D9-97DB-4FA8-94DF-2D8817213D09_1512x.jpg?v=1700141804 1512w 1512h,
//mflorist.hk/cdn/shop/files/980ED4D9-97DB-4FA8-94DF-2D8817213D09_1728x.jpg?v=1700141804 1728w 1728h,
//mflorist.hk/cdn/shop/files/980ED4D9-97DB-4FA8-94DF-2D8817213D09_1950x.jpg?v=1700141804 1950w 1950h,
//mflorist.hk/cdn/shop/files/980ED4D9-97DB-4FA8-94DF-2D8817213D09_2100x.jpg?v=1700141804 2100w 2100h,
//mflorist.hk/cdn/shop/files/980ED4D9-97DB-4FA8-94DF-2D8817213D09_2260x.jpg?v=1700141804 2260w 2260h,
//mflorist.hk/cdn/shop/files/980ED4D9-97DB-4FA8-94DF-2D8817213D09_2450x.jpg?v=1700141804 2450w 2450h,
//mflorist.hk/cdn/shop/files/980ED4D9-97DB-4FA8-94DF-2D8817213D09_2700x.jpg?v=1700141804 2700w 2700h,
//mflorist.hk/cdn/shop/files/980ED4D9-97DB-4FA8-94DF-2D8817213D09.jpg?v=1700141804 3000w 3000h"
role="img"
aria-label="Purple Lush Flower Bouquet"></div>
<div class="collection__image__bottom lazyload lazypreload"
data-bgset="
//mflorist.hk/cdn/shop/files/5D3F94B5-672C-47B4-858C-1161344584B3_180x.jpg?v=1700141804 180w 180h,
//mflorist.hk/cdn/shop/files/5D3F94B5-672C-47B4-858C-1161344584B3_360x.jpg?v=1700141804 360w 360h,
//mflorist.hk/cdn/shop/files/5D3F94B5-672C-47B4-858C-1161344584B3_540x.jpg?v=1700141804 540w 540h,
//mflorist.hk/cdn/shop/files/5D3F94B5-672C-47B4-858C-1161344584B3_720x.jpg?v=1700141804 720w 720h,
//mflorist.hk/cdn/shop/files/5D3F94B5-672C-47B4-858C-1161344584B3_900x.jpg?v=1700141804 900w 900h,
//mflorist.hk/cdn/shop/files/5D3F94B5-672C-47B4-858C-1161344584B3_1080x.jpg?v=1700141804 1080w 1080h,
//mflorist.hk/cdn/shop/files/5D3F94B5-672C-47B4-858C-1161344584B3_1296x.jpg?v=1700141804 1296w 1296h,
//mflorist.hk/cdn/shop/files/5D3F94B5-672C-47B4-858C-1161344584B3_1512x.jpg?v=1700141804 1512w 1512h,
//mflorist.hk/cdn/shop/files/5D3F94B5-672C-47B4-858C-1161344584B3_1728x.jpg?v=1700141804 1728w 1728h,
//mflorist.hk/cdn/shop/files/5D3F94B5-672C-47B4-858C-1161344584B3_1950x.jpg?v=1700141804 1950w 1950h,
//mflorist.hk/cdn/shop/files/5D3F94B5-672C-47B4-858C-1161344584B3_2100x.jpg?v=1700141804 2100w 2100h,
//mflorist.hk/cdn/shop/files/5D3F94B5-672C-47B4-858C-1161344584B3_2260x.jpg?v=1700141804 2260w 2260h,
//mflorist.hk/cdn/shop/files/5D3F94B5-672C-47B4-858C-1161344584B3_2450x.jpg?v=1700141804 2450w 2450h,
//mflorist.hk/cdn/shop/files/5D3F94B5-672C-47B4-858C-1161344584B3_2700x.jpg?v=1700141804 2700w 2700h,
//mflorist.hk/cdn/shop/files/5D3F94B5-672C-47B4-858C-1161344584B3.jpg?v=1700141804 3000w 3000h"
role="img"
aria-label="Purple Lush Flower Bouquet"></div>
<div class="product-grid-item__slide" data-grid-slide></div>
<div class="product__badge product__badge--custom">NEW</div>
</a>
</div>
<noscript>
<a href="/products/purple-lush-flower-bouquet">
<img class="responsive-wide-image" src="//mflorist.hk/cdn/shop/files/980ED4D9-97DB-4FA8-94DF-2D8817213D09_360x.jpg?v=1700141804" alt="Purple Lush Flower Bouquet">
<div class="product__badge product__badge--custom">NEW</div>
</a>
</noscript>
<div class="product__grid__info product__grid__info--under text-center">
<a href="/products/purple-lush-flower-bouquet">
<div class="product__grid__title__wrapper">
<p class="product__grid__title">
Purple Lush Flower Bouquet
</p></div>
<div class="product__grid__price">
<span class="price">
From
$1,180.00
</span>
</div>
</a>
</div>
</div>
<div
class="product-grid-item tagged"
data-aos="fade-up"
data-aos-easing="linear"
data-aos-duration="400"
data-aos-delay="0"
data-grid-item>
<div >
<a href="/products/lavender-bliss-flower-bouquet" data-grid-link class="lazy-image double__image" aria-label="Lavender Bliss Flower Bouquet" style="padding-top:100%; background-image: url('//mflorist.hk/cdn/shop/products/1F2F5E8A-332A-4134-9C72-57C7F9DDA66F_1x1.jpg?v=1678157880');">
<div class="lazyload fade-in collection__image__top"
data-bgset="
//mflorist.hk/cdn/shop/products/1F2F5E8A-332A-4134-9C72-57C7F9DDA66F_180x.jpg?v=1678157880 180w 180h,
//mflorist.hk/cdn/shop/products/1F2F5E8A-332A-4134-9C72-57C7F9DDA66F_360x.jpg?v=1678157880 360w 360h,
//mflorist.hk/cdn/shop/products/1F2F5E8A-332A-4134-9C72-57C7F9DDA66F_540x.jpg?v=1678157880 540w 540h,
//mflorist.hk/cdn/shop/products/1F2F5E8A-332A-4134-9C72-57C7F9DDA66F_720x.jpg?v=1678157880 720w 720h,
//mflorist.hk/cdn/shop/products/1F2F5E8A-332A-4134-9C72-57C7F9DDA66F_900x.jpg?v=1678157880 900w 900h,
//mflorist.hk/cdn/shop/products/1F2F5E8A-332A-4134-9C72-57C7F9DDA66F_1080x.jpg?v=1678157880 1080w 1080h,
//mflorist.hk/cdn/shop/products/1F2F5E8A-332A-4134-9C72-57C7F9DDA66F_1296x.jpg?v=1678157880 1296w 1296h,
//mflorist.hk/cdn/shop/products/1F2F5E8A-332A-4134-9C72-57C7F9DDA66F_1512x.jpg?v=1678157880 1512w 1512h,
//mflorist.hk/cdn/shop/products/1F2F5E8A-332A-4134-9C72-57C7F9DDA66F_1728x.jpg?v=1678157880 1728w 1728h,
//mflorist.hk/cdn/shop/products/1F2F5E8A-332A-4134-9C72-57C7F9DDA66F_1950x.jpg?v=1678157880 1950w 1950h,
//mflorist.hk/cdn/shop/products/1F2F5E8A-332A-4134-9C72-57C7F9DDA66F_2100x.jpg?v=1678157880 2100w 2100h,
//mflorist.hk/cdn/shop/products/1F2F5E8A-332A-4134-9C72-57C7F9DDA66F_2260x.jpg?v=1678157880 2260w 2260h,
//mflorist.hk/cdn/shop/products/1F2F5E8A-332A-4134-9C72-57C7F9DDA66F_2450x.jpg?v=1678157880 2450w 2450h,
//mflorist.hk/cdn/shop/products/1F2F5E8A-332A-4134-9C72-57C7F9DDA66F_2700x.jpg?v=1678157880 2700w 2700h,
//mflorist.hk/cdn/shop/products/1F2F5E8A-332A-4134-9C72-57C7F9DDA66F.jpg?v=1678157880 3000w 3000h"
role="img"
aria-label="Lavender Bliss Flower Bouquet"></div>
<div class="collection__image__bottom lazyload lazypreload"
data-bgset="
//mflorist.hk/cdn/shop/products/0058EE5B-5C0C-4E4B-A140-FCFAEB99E119_180x.jpg?v=1678181037 180w 180h,
//mflorist.hk/cdn/shop/products/0058EE5B-5C0C-4E4B-A140-FCFAEB99E119_360x.jpg?v=1678181037 360w 360h,
//mflorist.hk/cdn/shop/products/0058EE5B-5C0C-4E4B-A140-FCFAEB99E119_540x.jpg?v=1678181037 540w 540h,
//mflorist.hk/cdn/shop/products/0058EE5B-5C0C-4E4B-A140-FCFAEB99E119_720x.jpg?v=1678181037 720w 720h,
//mflorist.hk/cdn/shop/products/0058EE5B-5C0C-4E4B-A140-FCFAEB99E119_900x.jpg?v=1678181037 900w 900h,
//mflorist.hk/cdn/shop/products/0058EE5B-5C0C-4E4B-A140-FCFAEB99E119_1080x.jpg?v=1678181037 1080w 1080h,
//mflorist.hk/cdn/shop/products/0058EE5B-5C0C-4E4B-A140-FCFAEB99E119_1296x.jpg?v=1678181037 1296w 1296h,
//mflorist.hk/cdn/shop/products/0058EE5B-5C0C-4E4B-A140-FCFAEB99E119_1512x.jpg?v=1678181037 1512w 1512h,
//mflorist.hk/cdn/shop/products/0058EE5B-5C0C-4E4B-A140-FCFAEB99E119_1728x.jpg?v=1678181037 1728w 1728h,
//mflorist.hk/cdn/shop/products/0058EE5B-5C0C-4E4B-A140-FCFAEB99E119_1950x.jpg?v=1678181037 1950w 1950h,
//mflorist.hk/cdn/shop/products/0058EE5B-5C0C-4E4B-A140-FCFAEB99E119_2100x.jpg?v=1678181037 2100w 2100h,
//mflorist.hk/cdn/shop/products/0058EE5B-5C0C-4E4B-A140-FCFAEB99E119_2260x.jpg?v=1678181037 2260w 2260h,
//mflorist.hk/cdn/shop/products/0058EE5B-5C0C-4E4B-A140-FCFAEB99E119_2450x.jpg?v=1678181037 2450w 2450h,
//mflorist.hk/cdn/shop/products/0058EE5B-5C0C-4E4B-A140-FCFAEB99E119_2700x.jpg?v=1678181037 2700w 2700h,
//mflorist.hk/cdn/shop/products/0058EE5B-5C0C-4E4B-A140-FCFAEB99E119.jpg?v=1678181037 3000w 3000h"
role="img"
aria-label="Lavender Bliss Flower Bouquet"></div>
<div class="product-grid-item__slide" data-grid-slide></div>
<div class="product__badge product__badge--custom">NEW</div>
</a>
</div>
<noscript>
<a href="/products/lavender-bliss-flower-bouquet">
<img class="responsive-wide-image" src="//mflorist.hk/cdn/shop/products/1F2F5E8A-332A-4134-9C72-57C7F9DDA66F_360x.jpg?v=1678157880" alt="Lavender Bliss Flower Bouquet">
<div class="product__badge product__badge--custom">NEW</div>
</a>
</noscript>
<div class="product__grid__info product__grid__info--under text-center">
<a href="/products/lavender-bliss-flower-bouquet">
<div class="product__grid__title__wrapper">
<p class="product__grid__title">
Lavender Bliss Flower Bouquet
</p></div>
<div class="product__grid__price">
<span class="price">
From
$1,280.00
</span>
</div>
</a>
</div>
</div>
<div
class="product-grid-item "
data-aos="fade-up"
data-aos-easing="linear"
data-aos-duration="400"
data-aos-delay="0"
data-grid-item>
<div >
<a href="/products/frozen-sweet-flower-bouquet" data-grid-link class="lazy-image double__image" aria-label="Frozen Sweet Flower Bouquet" style="padding-top:100%; background-image: url('//mflorist.hk/cdn/shop/products/83DEEC68-465F-4039-AE32-4FC3CB775D8B_1x1.jpg?v=1658974843');">
<div class="lazyload fade-in collection__image__top"
data-bgset="
//mflorist.hk/cdn/shop/products/83DEEC68-465F-4039-AE32-4FC3CB775D8B_180x.jpg?v=1658974843 180w 180h,
//mflorist.hk/cdn/shop/products/83DEEC68-465F-4039-AE32-4FC3CB775D8B_360x.jpg?v=1658974843 360w 360h,
//mflorist.hk/cdn/shop/products/83DEEC68-465F-4039-AE32-4FC3CB775D8B_540x.jpg?v=1658974843 540w 540h,
//mflorist.hk/cdn/shop/products/83DEEC68-465F-4039-AE32-4FC3CB775D8B_720x.jpg?v=1658974843 720w 720h,
//mflorist.hk/cdn/shop/products/83DEEC68-465F-4039-AE32-4FC3CB775D8B_900x.jpg?v=1658974843 900w 900h,
//mflorist.hk/cdn/shop/products/83DEEC68-465F-4039-AE32-4FC3CB775D8B_1080x.jpg?v=1658974843 1080w 1080h,
//mflorist.hk/cdn/shop/products/83DEEC68-465F-4039-AE32-4FC3CB775D8B_1296x.jpg?v=1658974843 1296w 1296h,
//mflorist.hk/cdn/shop/products/83DEEC68-465F-4039-AE32-4FC3CB775D8B_1512x.jpg?v=1658974843 1512w 1512h,
//mflorist.hk/cdn/shop/products/83DEEC68-465F-4039-AE32-4FC3CB775D8B_1728x.jpg?v=1658974843 1728w 1728h,
//mflorist.hk/cdn/shop/products/83DEEC68-465F-4039-AE32-4FC3CB775D8B_1950x.jpg?v=1658974843 1950w 1950h,
//mflorist.hk/cdn/shop/products/83DEEC68-465F-4039-AE32-4FC3CB775D8B_2100x.jpg?v=1658974843 2100w 2100h,
//mflorist.hk/cdn/shop/products/83DEEC68-465F-4039-AE32-4FC3CB775D8B_2260x.jpg?v=1658974843 2260w 2260h,
//mflorist.hk/cdn/shop/products/83DEEC68-465F-4039-AE32-4FC3CB775D8B_2450x.jpg?v=1658974843 2450w 2450h,
//mflorist.hk/cdn/shop/products/83DEEC68-465F-4039-AE32-4FC3CB775D8B_2700x.jpg?v=1658974843 2700w 2700h,
//mflorist.hk/cdn/shop/products/83DEEC68-465F-4039-AE32-4FC3CB775D8B.jpg?v=1658974843 3000w 3000h"
role="img"
aria-label="Frozen Sweet Flower Bouquet"></div>
<div class="collection__image__bottom lazyload lazypreload"
data-bgset="
//mflorist.hk/cdn/shop/products/B4C3A377-5B9D-4D67-837C-D2F169394F9D_180x.jpg?v=1658975571 180w 180h,
//mflorist.hk/cdn/shop/products/B4C3A377-5B9D-4D67-837C-D2F169394F9D_360x.jpg?v=1658975571 360w 360h,
//mflorist.hk/cdn/shop/products/B4C3A377-5B9D-4D67-837C-D2F169394F9D_540x.jpg?v=1658975571 540w 540h,
//mflorist.hk/cdn/shop/products/B4C3A377-5B9D-4D67-837C-D2F169394F9D_720x.jpg?v=1658975571 720w 720h,
//mflorist.hk/cdn/shop/products/B4C3A377-5B9D-4D67-837C-D2F169394F9D_900x.jpg?v=1658975571 900w 900h,
//mflorist.hk/cdn/shop/products/B4C3A377-5B9D-4D67-837C-D2F169394F9D_1080x.jpg?v=1658975571 1080w 1080h,
//mflorist.hk/cdn/shop/products/B4C3A377-5B9D-4D67-837C-D2F169394F9D_1296x.jpg?v=1658975571 1296w 1296h,
//mflorist.hk/cdn/shop/products/B4C3A377-5B9D-4D67-837C-D2F169394F9D_1512x.jpg?v=1658975571 1512w 1512h,
//mflorist.hk/cdn/shop/products/B4C3A377-5B9D-4D67-837C-D2F169394F9D_1728x.jpg?v=1658975571 1728w 1728h,
//mflorist.hk/cdn/shop/products/B4C3A377-5B9D-4D67-837C-D2F169394F9D_1950x.jpg?v=1658975571 1950w 1950h,
//mflorist.hk/cdn/shop/products/B4C3A377-5B9D-4D67-837C-D2F169394F9D_2100x.jpg?v=1658975571 2100w 2100h,
//mflorist.hk/cdn/shop/products/B4C3A377-5B9D-4D67-837C-D2F169394F9D_2260x.jpg?v=1658975571 2260w 2260h,
//mflorist.hk/cdn/shop/products/B4C3A377-5B9D-4D67-837C-D2F169394F9D_2450x.jpg?v=1658975571 2450w 2450h,
//mflorist.hk/cdn/shop/products/B4C3A377-5B9D-4D67-837C-D2F169394F9D_2700x.jpg?v=1658975571 2700w 2700h,
//mflorist.hk/cdn/shop/products/B4C3A377-5B9D-4D67-837C-D2F169394F9D.jpg?v=1658975571 3000w 3000h"
role="img"
aria-label="Frozen Sweet Flower Bouquet"></div>
<div class="product-grid-item__slide" data-grid-slide></div>
</a>
</div>
<noscript>
<a href="/products/frozen-sweet-flower-bouquet">
<img class="responsive-wide-image" src="//mflorist.hk/cdn/shop/products/83DEEC68-465F-4039-AE32-4FC3CB775D8B_360x.jpg?v=1658974843" alt="Frozen Sweet Flower Bouquet">
</a>
</noscript>
<div class="product__grid__info product__grid__info--under text-center">
<a href="/products/frozen-sweet-flower-bouquet">
<div class="product__grid__title__wrapper">
<p class="product__grid__title">
Frozen Sweet Flower Bouquet
</p></div>
<div class="product__grid__price">
<span class="price">
From
$1,180.00
</span>
</div>
</a>
</div>
</div>
<div
class="product-grid-item "
data-aos="fade-up"
data-aos-easing="linear"
data-aos-duration="400"
data-aos-delay="0"
data-grid-item>
<div >
<a href="/products/only-prettier-flower-bouquet" data-grid-link class="lazy-image double__image" aria-label="Only Prettier Flower Bouquet" style="padding-top:100%; background-image: url('//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETPRODUCTCROPPED-6_1x1.jpg?v=1655346840');">
<div class="lazyload fade-in collection__image__top"
data-bgset="
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETPRODUCTCROPPED-6_180x.jpg?v=1655346840 180w 180h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETPRODUCTCROPPED-6_360x.jpg?v=1655346840 360w 360h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETPRODUCTCROPPED-6_540x.jpg?v=1655346840 540w 540h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETPRODUCTCROPPED-6_720x.jpg?v=1655346840 720w 720h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETPRODUCTCROPPED-6_900x.jpg?v=1655346840 900w 900h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETPRODUCTCROPPED-6_1080x.jpg?v=1655346840 1080w 1080h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETPRODUCTCROPPED-6_1296x.jpg?v=1655346840 1296w 1296h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETPRODUCTCROPPED-6_1512x.jpg?v=1655346840 1512w 1512h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETPRODUCTCROPPED-6_1728x.jpg?v=1655346840 1728w 1728h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETPRODUCTCROPPED-6_1950x.jpg?v=1655346840 1950w 1950h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETPRODUCTCROPPED-6_2100x.jpg?v=1655346840 2100w 2100h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETPRODUCTCROPPED-6_2260x.jpg?v=1655346840 2260w 2260h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETPRODUCTCROPPED-6_2450x.jpg?v=1655346840 2450w 2450h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETPRODUCTCROPPED-6_2700x.jpg?v=1655346840 2700w 2700h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETPRODUCTCROPPED-6.jpg?v=1655346840 3000w 3000h"
role="img"
aria-label="Only Prettier Flower Bouquet"></div>
<div class="collection__image__bottom lazyload lazypreload"
data-bgset="
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETCLOSEUPCROPPED_180x.jpg?v=1655346840 180w 180h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETCLOSEUPCROPPED_360x.jpg?v=1655346840 360w 360h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETCLOSEUPCROPPED_540x.jpg?v=1655346840 540w 540h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETCLOSEUPCROPPED_720x.jpg?v=1655346840 720w 720h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETCLOSEUPCROPPED_900x.jpg?v=1655346840 900w 900h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETCLOSEUPCROPPED_1080x.jpg?v=1655346840 1080w 1080h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETCLOSEUPCROPPED_1296x.jpg?v=1655346840 1296w 1296h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETCLOSEUPCROPPED_1512x.jpg?v=1655346840 1512w 1512h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETCLOSEUPCROPPED_1728x.jpg?v=1655346840 1728w 1728h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETCLOSEUPCROPPED_1950x.jpg?v=1655346840 1950w 1950h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETCLOSEUPCROPPED_2100x.jpg?v=1655346840 2100w 2100h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETCLOSEUPCROPPED_2260x.jpg?v=1655346840 2260w 2260h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETCLOSEUPCROPPED_2450x.jpg?v=1655346840 2450w 2450h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETCLOSEUPCROPPED_2700x.jpg?v=1655346840 2700w 2700h,
//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETCLOSEUPCROPPED.jpg?v=1655346840 3000w 3000h"
role="img"
aria-label="Only Prettier Flower Bouquet"></div>
<div class="product-grid-item__slide" data-grid-slide></div>
</a>
</div>
<noscript>
<a href="/products/only-prettier-flower-bouquet">
<img class="responsive-wide-image" src="//mflorist.hk/cdn/shop/products/ONLYPRETTIERBOUQUETPRODUCTCROPPED-6_360x.jpg?v=1655346840" alt="Only Prettier Flower Bouquet">
</a>
</noscript>
<div class="product__grid__info product__grid__info--under text-center">
<a href="/products/only-prettier-flower-bouquet">
<div class="product__grid__title__wrapper">
<p class="product__grid__title">
Only Prettier Flower Bouquet
</p></div>
<div class="product__grid__price">
<span class="price">
From
$1,180.00
</span>
</div>
</a>
</div>
</div>
<div
class="product-grid-item "
data-aos="fade-up"
data-aos-easing="linear"
data-aos-duration="400"
data-aos-delay="0"
data-grid-item>
<div >
<a href="/products/sweetheart-flower-bouquet" data-grid-link class="lazy-image double__image" aria-label="Sweetheart Flower Bouquet" style="padding-top:100%; background-image: url('//mflorist.hk/cdn/shop/products/7B544851-A045-4BCD-9A0D-C2A3F150972E_1x1.jpg?v=1667458051');">
<div class="lazyload fade-in collection__image__top"
data-bgset="
//mflorist.hk/cdn/shop/products/7B544851-A045-4BCD-9A0D-C2A3F150972E_180x.jpg?v=1667458051 180w 180h,
//mflorist.hk/cdn/shop/products/7B544851-A045-4BCD-9A0D-C2A3F150972E_360x.jpg?v=1667458051 360w 360h,
//mflorist.hk/cdn/shop/products/7B544851-A045-4BCD-9A0D-C2A3F150972E_540x.jpg?v=1667458051 540w 540h,
//mflorist.hk/cdn/shop/products/7B544851-A045-4BCD-9A0D-C2A3F150972E_720x.jpg?v=1667458051 720w 720h,
//mflorist.hk/cdn/shop/products/7B544851-A045-4BCD-9A0D-C2A3F150972E_900x.jpg?v=1667458051 900w 900h,
//mflorist.hk/cdn/shop/products/7B544851-A045-4BCD-9A0D-C2A3F150972E_1080x.jpg?v=1667458051 1080w 1080h,
//mflorist.hk/cdn/shop/products/7B544851-A045-4BCD-9A0D-C2A3F150972E_1296x.jpg?v=1667458051 1296w 1296h,
//mflorist.hk/cdn/shop/products/7B544851-A045-4BCD-9A0D-C2A3F150972E_1512x.jpg?v=1667458051 1512w 1512h,
//mflorist.hk/cdn/shop/products/7B544851-A045-4BCD-9A0D-C2A3F150972E_1728x.jpg?v=1667458051 1728w 1728h,
//mflorist.hk/cdn/shop/products/7B544851-A045-4BCD-9A0D-C2A3F150972E_1950x.jpg?v=1667458051 1950w 1950h,
//mflorist.hk/cdn/shop/products/7B544851-A045-4BCD-9A0D-C2A3F150972E.jpg?v=1667458051 2048w 2048h"
role="img"
aria-label="Sweetheart Flower Bouquet"></div>
<div class="collection__image__bottom lazyload lazypreload"
data-bgset="
//mflorist.hk/cdn/shop/products/02787403-E107-4F7D-8A1B-B90E0F322C36_180x.jpg?v=1667458051 180w 180h,
//mflorist.hk/cdn/shop/products/02787403-E107-4F7D-8A1B-B90E0F322C36_360x.jpg?v=1667458051 360w 360h,
//mflorist.hk/cdn/shop/products/02787403-E107-4F7D-8A1B-B90E0F322C36_540x.jpg?v=1667458051 540w 540h,
//mflorist.hk/cdn/shop/products/02787403-E107-4F7D-8A1B-B90E0F322C36_720x.jpg?v=1667458051 720w 720h,
//mflorist.hk/cdn/shop/products/02787403-E107-4F7D-8A1B-B90E0F322C36_900x.jpg?v=1667458051 900w 900h,
//mflorist.hk/cdn/shop/products/02787403-E107-4F7D-8A1B-B90E0F322C36_1080x.jpg?v=1667458051 1080w 1080h,
//mflorist.hk/cdn/shop/products/02787403-E107-4F7D-8A1B-B90E0F322C36_1296x.jpg?v=1667458051 1296w 1296h,
//mflorist.hk/cdn/shop/products/02787403-E107-4F7D-8A1B-B90E0F322C36_1512x.jpg?v=1667458051 1512w 1512h,
//mflorist.hk/cdn/shop/products/02787403-E107-4F7D-8A1B-B90E0F322C36_1728x.jpg?v=1667458051 1728w 1728h,
//mflorist.hk/cdn/shop/products/02787403-E107-4F7D-8A1B-B90E0F322C36_1950x.jpg?v=1667458051 1950w 1950h,
//mflorist.hk/cdn/shop/products/02787403-E107-4F7D-8A1B-B90E0F322C36_2100x.jpg?v=1667458051 2100w 2100h,
//mflorist.hk/cdn/shop/products/02787403-E107-4F7D-8A1B-B90E0F322C36_2260x.jpg?v=1667458051 2260w 2260h,
//mflorist.hk/cdn/shop/products/02787403-E107-4F7D-8A1B-B90E0F322C36_2450x.jpg?v=1667458051 2450w 2450h,
//mflorist.hk/cdn/shop/products/02787403-E107-4F7D-8A1B-B90E0F322C36_2700x.jpg?v=1667458051 2700w 2700h,
//mflorist.hk/cdn/shop/products/02787403-E107-4F7D-8A1B-B90E0F322C36.jpg?v=1667458051 3000w 3000h"
role="img"
aria-label="Sweetheart Flower Bouquet"></div>
<div class="product-grid-item__slide" data-grid-slide></div>
</a>
</div>
<noscript>
<a href="/products/sweetheart-flower-bouquet">
<img class="responsive-wide-image" src="//mflorist.hk/cdn/shop/products/7B544851-A045-4BCD-9A0D-C2A3F150972E_360x.jpg?v=1667458051" alt="Sweetheart Flower Bouquet">
</a>
</noscript>
<div class="product__grid__info product__grid__info--under text-center">
<a href="/products/sweetheart-flower-bouquet">
<div class="product__grid__title__wrapper">
<p class="product__grid__title">
Sweetheart Flower Bouquet
</p></div>
<div class="product__grid__price">
<span class="price">
From
$1,280.00
</span>
</div>
</a>
</div>
</div>
</div>
</div>
</div>
</div><div id="shopify-section-template--15612019507434__cols" class="shopify-section"><!-- /sections/section-columns.liquid -->
<div class="homepage-columns section bg--accent" data-section-id="template--15612019507434__cols" data-section-type="section-columns">
<div class="wrapper">
<h2 class="section-title h6 color--black">AUTUMN-WINTER 2023</h2>
<div class="grid grid--uniform">
<div
class="index__column grid__item medium-up--one-third small--one-third text-center"
data-aos="fade-up"
data-aos-easing="linear"
data-aos-duration="400"
data-aos-delay="0"
>
<div class="lazy-image column__image">
<div class="image__fill fade-in-child"
style="padding-top: 100%;
background-image: url('//mflorist.hk/cdn/shop/files/DF383B07-1137-4D84-9E32-65F9418330DD_1x1.jpg?v=1698824658');"
>
<div class="background-size-cover lazyload"
data-bgset="
//mflorist.hk/cdn/shop/files/DF383B07-1137-4D84-9E32-65F9418330DD_180x.jpg?v=1698824658 180w 180h,
//mflorist.hk/cdn/shop/files/DF383B07-1137-4D84-9E32-65F9418330DD_360x.jpg?v=1698824658 360w 360h,
//mflorist.hk/cdn/shop/files/DF383B07-1137-4D84-9E32-65F9418330DD_540x.jpg?v=1698824658 540w 540h,
//mflorist.hk/cdn/shop/files/DF383B07-1137-4D84-9E32-65F9418330DD_720x.jpg?v=1698824658 720w 720h,
//mflorist.hk/cdn/shop/files/DF383B07-1137-4D84-9E32-65F9418330DD_900x.jpg?v=1698824658 900w 900h,
//mflorist.hk/cdn/shop/files/DF383B07-1137-4D84-9E32-65F9418330DD_1080x.jpg?v=1698824658 1080w 1080h,
//mflorist.hk/cdn/shop/files/DF383B07-1137-4D84-9E32-65F9418330DD_1296x.jpg?v=1698824658 1296w 1296h,
//mflorist.hk/cdn/shop/files/DF383B07-1137-4D84-9E32-65F9418330DD_1512x.jpg?v=1698824658 1512w 1512h,
//mflorist.hk/cdn/shop/files/DF383B07-1137-4D84-9E32-65F9418330DD_1728x.jpg?v=1698824658 1728w 1728h,
//mflorist.hk/cdn/shop/files/DF383B07-1137-4D84-9E32-65F9418330DD_1950x.jpg?v=1698824658 1950w 1950h,
//mflorist.hk/cdn/shop/files/DF383B07-1137-4D84-9E32-65F9418330DD_2100x.jpg?v=1698824658 2100w 2100h,
//mflorist.hk/cdn/shop/files/DF383B07-1137-4D84-9E32-65F9418330DD_2260x.jpg?v=1698824658 2260w 2260h,
//mflorist.hk/cdn/shop/files/DF383B07-1137-4D84-9E32-65F9418330DD_2450x.jpg?v=1698824658 2450w 2450h,
//mflorist.hk/cdn/shop/files/DF383B07-1137-4D84-9E32-65F9418330DD_2700x.jpg?v=1698824658 2700w 2700h,
//mflorist.hk/cdn/shop/files/DF383B07-1137-4D84-9E32-65F9418330DD.jpg?v=1698824658 3000w 3000h"
style="background-position: center center;"
role="img"
aria-label=""></div>
<noscript>
<img src="//mflorist.hk/cdn/shop/files/DF383B07-1137-4D84-9E32-65F9418330DD_720x.jpg?v=1698824658" alt="" class="responsive-wide-image"/>
</noscript>
</div>
</div>
<noscript>
<img src="//mflorist.hk/cdn/shop/files/DF383B07-1137-4D84-9E32-65F9418330DD_540x.jpg?v=1698824658" alt="Bouquets"/>
</noscript>
<h3 class="h6 color--black">Bouquets</h3>
<div class="rte rte--column"><p>Expertly crafted bouquet with the finest stems</p></div>
<a href="/collections/flower-bouquet-delivery" class="btn btn--small btn--outline uppercase">
Shop Now
</a>
</div>
<div
class="index__column grid__item medium-up--one-third small--one-third text-center"
data-aos="fade-up"
data-aos-easing="linear"
data-aos-duration="400"
data-aos-delay="0"
>
<div class="lazy-image column__image">
<div class="image__fill fade-in-child"
style="padding-top: 100%;
background-image: url('//mflorist.hk/cdn/shop/files/2C6EBABD-9A31-4C71-B938-25D54180B5F4_1x1.jpg?v=1699333166');"
>
<div class="background-size-cover lazyload"
data-bgset="
//mflorist.hk/cdn/shop/files/2C6EBABD-9A31-4C71-B938-25D54180B5F4_180x.jpg?v=1699333166 180w 180h,
//mflorist.hk/cdn/shop/files/2C6EBABD-9A31-4C71-B938-25D54180B5F4_360x.jpg?v=1699333166 360w 360h,
//mflorist.hk/cdn/shop/files/2C6EBABD-9A31-4C71-B938-25D54180B5F4_540x.jpg?v=1699333166 540w 540h,
//mflorist.hk/cdn/shop/files/2C6EBABD-9A31-4C71-B938-25D54180B5F4_720x.jpg?v=1699333166 720w 720h,
//mflorist.hk/cdn/shop/files/2C6EBABD-9A31-4C71-B938-25D54180B5F4_900x.jpg?v=1699333166 900w 900h,
//mflorist.hk/cdn/shop/files/2C6EBABD-9A31-4C71-B938-25D54180B5F4_1080x.jpg?v=1699333166 1080w 1080h,
//mflorist.hk/cdn/shop/files/2C6EBABD-9A31-4C71-B938-25D54180B5F4_1296x.jpg?v=1699333166 1296w 1296h,
//mflorist.hk/cdn/shop/files/2C6EBABD-9A31-4C71-B938-25D54180B5F4_1512x.jpg?v=1699333166 1512w 1512h,
//mflorist.hk/cdn/shop/files/2C6EBABD-9A31-4C71-B938-25D54180B5F4_1728x.jpg?v=1699333166 1728w 1728h,
//mflorist.hk/cdn/shop/files/2C6EBABD-9A31-4C71-B938-25D54180B5F4_1950x.jpg?v=1699333166 1950w 1950h,
//mflorist.hk/cdn/shop/files/2C6EBABD-9A31-4C71-B938-25D54180B5F4_2100x.jpg?v=1699333166 2100w 2100h,
//mflorist.hk/cdn/shop/files/2C6EBABD-9A31-4C71-B938-25D54180B5F4_2260x.jpg?v=1699333166 2260w 2260h,
//mflorist.hk/cdn/shop/files/2C6EBABD-9A31-4C71-B938-25D54180B5F4_2450x.jpg?v=1699333166 2450w 2450h,
//mflorist.hk/cdn/shop/files/2C6EBABD-9A31-4C71-B938-25D54180B5F4_2700x.jpg?v=1699333166 2700w 2700h,
//mflorist.hk/cdn/shop/files/2C6EBABD-9A31-4C71-B938-25D54180B5F4.jpg?v=1699333166 3000w 3000h"
style="background-position: center center;"
role="img"
aria-label=""></div>
<noscript>
<img src="//mflorist.hk/cdn/shop/files/2C6EBABD-9A31-4C71-B938-25D54180B5F4_720x.jpg?v=1699333166" alt="" class="responsive-wide-image"/>
</noscript>
</div>
</div>
<noscript>
<img src="//mflorist.hk/cdn/shop/files/2C6EBABD-9A31-4C71-B938-25D54180B5F4_540x.jpg?v=1699333166" alt="Boxes"/>
</noscript>
<h3 class="h6 color--black">Boxes</h3>
<div class="rte rte--column"><p>Handmade work of floral art in our signature box</p></div>
<a href="/collections/flower-box" class="btn btn--small btn--outline uppercase">
Shop Now
</a>
</div>
<div
class="index__column grid__item medium-up--one-third small--one-third text-center"
data-aos="fade-up"
data-aos-easing="linear"
data-aos-duration="400"
data-aos-delay="0"
>
<div class="lazy-image column__image">
<div class="image__fill fade-in-child"
style="padding-top: 100%;
background-image: url('//mflorist.hk/cdn/shop/files/CANDLE_HOME_PAGE_1x1.jpg?v=1655370760');"
>
<div class="background-size-cover lazyload"
data-bgset="
//mflorist.hk/cdn/shop/files/CANDLE_HOME_PAGE_180x.jpg?v=1655370760 180w 180h,
//mflorist.hk/cdn/shop/files/CANDLE_HOME_PAGE_360x.jpg?v=1655370760 360w 360h,
//mflorist.hk/cdn/shop/files/CANDLE_HOME_PAGE_540x.jpg?v=1655370760 540w 540h,
//mflorist.hk/cdn/shop/files/CANDLE_HOME_PAGE_720x.jpg?v=1655370760 720w 720h,
//mflorist.hk/cdn/shop/files/CANDLE_HOME_PAGE_900x.jpg?v=1655370760 900w 900h,
//mflorist.hk/cdn/shop/files/CANDLE_HOME_PAGE_1080x.jpg?v=1655370760 1080w 1080h,
//mflorist.hk/cdn/shop/files/CANDLE_HOME_PAGE_1296x.jpg?v=1655370760 1296w 1296h,
//mflorist.hk/cdn/shop/files/CANDLE_HOME_PAGE_1512x.jpg?v=1655370760 1512w 1512h,
//mflorist.hk/cdn/shop/files/CANDLE_HOME_PAGE_1728x.jpg?v=1655370760 1728w 1728h,
//mflorist.hk/cdn/shop/files/CANDLE_HOME_PAGE_1950x.jpg?v=1655370760 1950w 1950h,
//mflorist.hk/cdn/shop/files/CANDLE_HOME_PAGE_2100x.jpg?v=1655370760 2100w 2100h,
//mflorist.hk/cdn/shop/files/CANDLE_HOME_PAGE_2260x.jpg?v=1655370760 2260w 2260h,
//mflorist.hk/cdn/shop/files/CANDLE_HOME_PAGE_2450x.jpg?v=1655370760 2450w 2450h,
//mflorist.hk/cdn/shop/files/CANDLE_HOME_PAGE_2700x.jpg?v=1655370760 2700w 2700h,
//mflorist.hk/cdn/shop/files/CANDLE_HOME_PAGE.jpg?v=1655370760 3000w 3000h"
style="background-position: center center;"
role="img"
aria-label=""></div>
<noscript>
<img src="//mflorist.hk/cdn/shop/files/CANDLE_HOME_PAGE_720x.jpg?v=1655370760" alt="" class="responsive-wide-image"/>
</noscript>
</div>
</div>
<noscript>
<img src="//mflorist.hk/cdn/shop/files/CANDLE_HOME_PAGE_540x.jpg?v=1655370760" alt="Living"/>
</noscript>
<h3 class="h6 color--black">Living</h3>
<div class="rte rte--column"><p>Quality goods for simple & everyday living</p></div>
<a href="/collections/living-collection" class="btn btn--small btn--outline uppercase">
Shop Now
</a>
</div>
</div>
</div>
</div>
</div><section id="shopify-section-template--15612019507434__double-slide" class="shopify-section section-double-slider">
<div class="section bg--accent">
<div
class="wrapper"
data-aos="fade-up"
data-aos-easing="linear"
data-aos-duration="400"
data-aos-delay="0"><div
data-slick-slider
data-slick='{
"arrows": false,
"dots": true,
"responsive": [
{ "breakpoint": 768, "settings": { "arrows": false, "dots": true } }
]
}'><section
class="section-double"
>
<div class="grid medium-up--align-items-center">
<div class="grid__item medium-up--one-half"><div class="image-wrapper">
<div
class="lazy-image"
style="padding-top:100.0%; background-image: url('//mflorist.hk/cdn/shop/files/60A4F008-A8FE-4650-B877-A7EEF430B56B_1x1.jpg?v=1656397546');">
<img
class="lazyload fade-in"
alt=""
data-src="//mflorist.hk/cdn/shop/files/60A4F008-A8FE-4650-B877-A7EEF430B56B_{width}x.jpg?v=1656397546"
data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048, 2450, 2700, 3000, 3350, 3750, 4100, 4480]"
data-aspectratio="1.0"
data-parent-fit="cover"
data-sizes="auto"/>
</div>
<noscript>
<img src="//mflorist.hk/cdn/shop/files/60A4F008-A8FE-4650-B877-A7EEF430B56B_1440x.jpg?v=1656397546" alt="" class="responsive-wide-image"/>
</noscript>
</div>
</div>
<div class="grid__item medium-up--one-half">
<div class="content-wrapper"><h2 class="section-title h6">Love Romance</h2><div class="rte"><p>There is no symbol of passionate affection that is more prevalent or enduring than rose. These romantic beauties are the poetic standard and idyllic visual representation of love.</p></div><p>
<a href="/collections/love-romance-rose-bouquet-collection" class="btn btn--small btn--outline uppercase">VIEW COLLECTION</a>
</p></div>
</div>
</div>
</section><section
class="section-double"
style="display:none;"
>
<div class="grid medium-up--align-items-center">
<div class="grid__item medium-up--one-half"><div class="image-wrapper">
<div
class="lazy-image"
style="padding-top:100.0%; background-image: url('//mflorist.hk/cdn/shop/files/938C52C6-45C3-48ED-B550-A4CE4CE46D89_1x1.jpg?v=1656397663');">
<img
class="lazyload fade-in"
alt=""
data-src="//mflorist.hk/cdn/shop/files/938C52C6-45C3-48ED-B550-A4CE4CE46D89_{width}x.jpg?v=1656397663"
data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048, 2450, 2700, 3000, 3350, 3750, 4100, 4480]"
data-aspectratio="1.0"
data-parent-fit="cover"
data-sizes="auto"/>
</div>
<noscript>
<img src="//mflorist.hk/cdn/shop/files/938C52C6-45C3-48ED-B550-A4CE4CE46D89_1440x.jpg?v=1656397663" alt="" class="responsive-wide-image"/>
</noscript>
</div>
</div>
<div class="grid__item medium-up--one-half">
<div class="content-wrapper"><h2 class="section-title h6">Birthday</h2><div class="rte"><p>A birthday is a day filled with special joy, a day that lets your special someone loved and cherished. Let the vibrant blooms to make it a memorable birthday gift.</p></div><p>
<a href="/collections/birthday-flower-collection" class="btn btn--small btn--outline uppercase">View collection</a>
</p></div>
</div>
</div>
</section><section
class="section-double"
style="display:none;"
>
<div class="grid medium-up--align-items-center">
<div class="grid__item medium-up--one-half"><div class="image-wrapper">
<div
class="lazy-image"
style="padding-top:100.0%; background-image: url('//mflorist.hk/cdn/shop/files/F1EE38EB-3561-4110-B1A6-3E60F9C12663_1x1.jpg?v=1667542072');">
<img
class="lazyload fade-in"
alt=""
data-src="//mflorist.hk/cdn/shop/files/F1EE38EB-3561-4110-B1A6-3E60F9C12663_{width}x.jpg?v=1667542072"
data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048, 2450, 2700, 3000, 3350, 3750, 4100, 4480]"
data-aspectratio="1.0"
data-parent-fit="cover"
data-sizes="auto"/>
</div>
<noscript>
<img src="//mflorist.hk/cdn/shop/files/F1EE38EB-3561-4110-B1A6-3E60F9C12663_1440x.jpg?v=1667542072" alt="" class="responsive-wide-image"/>
</noscript>
</div>
</div>
<div class="grid__item medium-up--one-half">
<div class="content-wrapper"><h2 class="section-title h6">Seasonal</h2><div class="rte"><p>Flower arrangements featuring the unique flowers of the season, artfully composed to create the always fresh icons. Each is made for versatility and self-expression. </p></div><p>
<a href="/collections/same-day-delivery" class="btn btn--small btn--outline uppercase">VIEW COLLECTION</a>
</p></div>
</div>
</div>
</section></div></div>
</div>
</section><div id="shopify-section-template--15612019507434__logos" class="shopify-section"><div class="homepage-logos section bg--accent homepage-logos--tall">
<div class="wrapper">
<h2 class="section-title h6 color--black">Our Partners</h2>
<div class="logo-bar">
<div
class="logo-bar__item"
data-aos="fade-up"
data-aos-easing="linear"
data-aos-duration="400"
data-aos-delay="0"
>
<div class="lazy-image logo-bar__image" style="padding-top:50.02999400119976%; background-image: url('//mflorist.hk/cdn/shop/files/logo-bvlgari_2_1x1.png?v=1655861225');">
<img class="lazyload fade-in"
alt=""
src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
data-src="//mflorist.hk/cdn/shop/files/logo-bvlgari_2_{width}x.png?v=1655861225"
data-widths="[110, 160, 220, 320, 480]"
data-aspectratio="1.998800959232614"
data-parent-fit="cover"
data-sizes="auto"/>
</div>
<noscript>
<img src="//mflorist.hk/cdn/shop/files/logo-bvlgari_2_160x.png?v=1655861225" alt=""/>
</noscript>
</div>
<div
class="logo-bar__item"
data-aos="fade-up"
data-aos-easing="linear"
data-aos-duration="400"
data-aos-delay="0"
>
<div class="lazy-image logo-bar__image" style="padding-top:28.5665353656448%; background-image: url('//mflorist.hk/cdn/shop/files/logo-quin_2_1x1.png?v=1655861224');">
<img class="lazyload fade-in"
alt=""
src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
data-src="//mflorist.hk/cdn/shop/files/logo-quin_2_{width}x.png?v=1655861224"
data-widths="[110, 160, 220, 320, 480]"
data-aspectratio="3.5005995203836933"
data-parent-fit="cover"
data-sizes="auto"/>
</div>
<noscript>
<img src="//mflorist.hk/cdn/shop/files/logo-quin_2_160x.png?v=1655861224" alt=""/>
</noscript>
</div>
<div
class="logo-bar__item"
data-aos="fade-up"
data-aos-easing="linear"
data-aos-duration="400"
data-aos-delay="0"
>
<div class="lazy-image logo-bar__image" style="padding-top:40.46579330422125%; background-image: url('//mflorist.hk/cdn/shop/files/logo-bv_2_1x1.png?v=1655861224');">
<img class="lazyload fade-in"
alt=""
src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
data-src="//mflorist.hk/cdn/shop/files/logo-bv_2_{width}x.png?v=1655861224"
data-widths="[110, 160, 220, 320, 480]"
data-aspectratio="2.471223021582734"
data-parent-fit="cover"
data-sizes="auto"/>
</div>
<noscript>
<img src="//mflorist.hk/cdn/shop/files/logo-bv_2_160x.png?v=1655861224" alt=""/>
</noscript>
</div>
<div
class="logo-bar__item"
data-aos="fade-up"
data-aos-easing="linear"
data-aos-duration="400"
data-aos-delay="0"
>
<div class="lazy-image logo-bar__image" style="padding-top:42.27065382665991%; background-image: url('//mflorist.hk/cdn/shop/files/logo-hh_2_1x1.png?v=1655861223');">
<img class="lazyload fade-in"
alt=""
src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
data-src="//mflorist.hk/cdn/shop/files/logo-hh_2_{width}x.png?v=1655861223"
data-widths="[110, 160, 220, 320, 480]"
data-aspectratio="2.3657074340527577"
data-parent-fit="cover"
data-sizes="auto"/>
</div>
<noscript>
<img src="//mflorist.hk/cdn/shop/files/logo-hh_2_160x.png?v=1655861223" alt=""/>
</noscript>
</div>
</div>
</div>
</div>
</div><section id="shopify-section-template--15612019507434__instagram-cards" class="shopify-section section-instagram-cards"><div class="margin--medium section bg--accent">
<div class="wrapper"><h2 class="section-title h6 color--black">See What Our Customers Say</h2><div class="instagram-cards-wrapper">
<div
class=""
data-slick-slider
data-slick='{
"arrows": false,
"dots": true,
"slidesToShow": 3,
"slidesToScroll": 3,
"responsive": [
{ "breakpoint": 768, "settings": { "arrows": false, "dots": true, "slidesToShow": 2, "slidesToScroll": 2 } },
{ "breakpoint": 497, "settings": { "arrows": false, "dots": true, "slidesToShow": 1, "slidesToScroll": 1 } }
]
}'
data-grid-large="3"><div
class="instagram-card-item"
data-aos="fade-up"
data-aos-easing="linear"
data-aos-duration="400"
data-aos-delay="0">
<div class="card card--instagram"><a href="/products/apple-cinnamon-flower-bouquet" class="card__link"><div class="card__header"><div class="card__thumb lazyload"
data-bgset="
//mflorist.hk/cdn/shop/files/woman-wades-in-ocean-at-sunset_180x.jpg?v=1657614404 180w 270h,
//mflorist.hk/cdn/shop/files/woman-wades-in-ocean-at-sunset_360x.jpg?v=1657614404 360w 540h,
//mflorist.hk/cdn/shop/files/woman-wades-in-ocean-at-sunset_540x.jpg?v=1657614404 540w 810h,
//mflorist.hk/cdn/shop/files/woman-wades-in-ocean-at-sunset_720x.jpg?v=1657614404 720w 1080h,
//mflorist.hk/cdn/shop/files/woman-wades-in-ocean-at-sunset_900x.jpg?v=1657614404 900w 1350h,
//mflorist.hk/cdn/shop/files/woman-wades-in-ocean-at-sunset_1080x.jpg?v=1657614404 1080w 1620h,
//mflorist.hk/cdn/shop/files/woman-wades-in-ocean-at-sunset_1296x.jpg?v=1657614404 1296w 1944h,
//mflorist.hk/cdn/shop/files/woman-wades-in-ocean-at-sunset_1512x.jpg?v=1657614404 1512w 2268h,
//mflorist.hk/cdn/shop/files/woman-wades-in-ocean-at-sunset_1728x.jpg?v=1657614404 1728w 2592h,
//mflorist.hk/cdn/shop/files/woman-wades-in-ocean-at-sunset_1950x.jpg?v=1657614404 1950w 2925h,
//mflorist.hk/cdn/shop/files/woman-wades-in-ocean-at-sunset_2100x.jpg?v=1657614404 2100w 3150h,
//mflorist.hk/cdn/shop/files/woman-wades-in-ocean-at-sunset_2260x.jpg?v=1657614404 2260w 3390h,
//mflorist.hk/cdn/shop/files/woman-wades-in-ocean-at-sunset_2450x.jpg?v=1657614404 2450w 3675h,
//mflorist.hk/cdn/shop/files/woman-wades-in-ocean-at-sunset_2700x.jpg?v=1657614404 2700w 4050h,
//mflorist.hk/cdn/shop/files/woman-wades-in-ocean-at-sunset.jpg?v=1657614404 2731w 4096h"
role="img"
aria-label=""></div><div class="card__title">@KIM</div>
<div class="card__dots" style="float:right;">
<svg color="#262626" fill="#262626" height="24" role="img" viewBox="0 0 24 24" width="24"><circle cx="12" cy="12" r="1.5"></circle><circle cx="6" cy="12" r="1.5"></circle><circle cx="18" cy="12" r="1.5"></circle></svg>
</div>
</div>
<div class="card__body">
<div class="card__image lazyload"
data-bgset="
//mflorist.hk/cdn/shop/files/F61F870F-B910-4677-B3B2-14C4A4F27D93_180x.jpg?v=1657614021 180w 225h,
//mflorist.hk/cdn/shop/files/F61F870F-B910-4677-B3B2-14C4A4F27D93_360x.jpg?v=1657614021 360w 450h,
//mflorist.hk/cdn/shop/files/F61F870F-B910-4677-B3B2-14C4A4F27D93_540x.jpg?v=1657614021 540w 675h,
//mflorist.hk/cdn/shop/files/F61F870F-B910-4677-B3B2-14C4A4F27D93_720x.jpg?v=1657614021 720w 900h,
//mflorist.hk/cdn/shop/files/F61F870F-B910-4677-B3B2-14C4A4F27D93_900x.jpg?v=1657614021 900w 1126h,
//mflorist.hk/cdn/shop/files/F61F870F-B910-4677-B3B2-14C4A4F27D93_1080x.jpg?v=1657614021 1080w 1351h,
//mflorist.hk/cdn/shop/files/F61F870F-B910-4677-B3B2-14C4A4F27D93_1296x.jpg?v=1657614021 1296w 1621h,
//mflorist.hk/cdn/shop/files/F61F870F-B910-4677-B3B2-14C4A4F27D93_1512x.jpg?v=1657614021 1512w 1891h,
//mflorist.hk/cdn/shop/files/F61F870F-B910-4677-B3B2-14C4A4F27D93_1728x.jpg?v=1657614021 1728w 2161h,
//mflorist.hk/cdn/shop/files/F61F870F-B910-4677-B3B2-14C4A4F27D93_1950x.jpg?v=1657614021 1950w 2439h,
//mflorist.hk/cdn/shop/files/F61F870F-B910-4677-B3B2-14C4A4F27D93_2100x.jpg?v=1657614021 2100w 2626h,
//mflorist.hk/cdn/shop/files/F61F870F-B910-4677-B3B2-14C4A4F27D93_2260x.jpg?v=1657614021 2260w 2826h,
//mflorist.hk/cdn/shop/files/F61F870F-B910-4677-B3B2-14C4A4F27D93_2450x.jpg?v=1657614021 2450w 3064h,
//mflorist.hk/cdn/shop/files/F61F870F-B910-4677-B3B2-14C4A4F27D93_2700x.jpg?v=1657614021 2700w 3377h,
//mflorist.hk/cdn/shop/files/F61F870F-B910-4677-B3B2-14C4A4F27D93_3000x.jpg?v=1657614021 3000w 3752h,
//mflorist.hk/cdn/shop/files/F61F870F-B910-4677-B3B2-14C4A4F27D93.jpg?v=1657614021 3224w 4032h"
role="img"
aria-label=""></div>
</div>
<div class="card__footer">
<div class="card__richtext rte"><p>This stunning flower bouquet has definitely made our 23rd monthiversary special. Definitely the best colours to wake up to in the morning.</p></div>
</div></a></div>
</div><div
class="instagram-card-item"
data-aos="fade-up"
data-aos-easing="linear"
data-aos-duration="400"
data-aos-delay="0">
<div class="card card--instagram"><a href="https://mflorist.hk/collections/all-flowers" class="card__link"><div class="card__header"><div class="card__thumb lazyload"
data-bgset="
//mflorist.hk/cdn/shop/files/chicago-city-lights-at-night_180x.jpg?v=1657615091 180w 120h,
//mflorist.hk/cdn/shop/files/chicago-city-lights-at-night_360x.jpg?v=1657615091 360w 240h,
//mflorist.hk/cdn/shop/files/chicago-city-lights-at-night_540x.jpg?v=1657615091 540w 360h,
//mflorist.hk/cdn/shop/files/chicago-city-lights-at-night_720x.jpg?v=1657615091 720w 480h,
//mflorist.hk/cdn/shop/files/chicago-city-lights-at-night_900x.jpg?v=1657615091 900w 600h,
//mflorist.hk/cdn/shop/files/chicago-city-lights-at-night_1080x.jpg?v=1657615091 1080w 720h,
//mflorist.hk/cdn/shop/files/chicago-city-lights-at-night_1296x.jpg?v=1657615091 1296w 864h,
//mflorist.hk/cdn/shop/files/chicago-city-lights-at-night_1512x.jpg?v=1657615091 1512w 1008h,
//mflorist.hk/cdn/shop/files/chicago-city-lights-at-night_1728x.jpg?v=1657615091 1728w 1152h,
//mflorist.hk/cdn/shop/files/chicago-city-lights-at-night_1950x.jpg?v=1657615091 1950w 1300h,
//mflorist.hk/cdn/shop/files/chicago-city-lights-at-night_2100x.jpg?v=1657615091 2100w 1400h,
//mflorist.hk/cdn/shop/files/chicago-city-lights-at-night_2260x.jpg?v=1657615091 2260w 1507h,
//mflorist.hk/cdn/shop/files/chicago-city-lights-at-night_2450x.jpg?v=1657615091 2450w 1634h,
//mflorist.hk/cdn/shop/files/chicago-city-lights-at-night_2700x.jpg?v=1657615091 2700w 1800h,
//mflorist.hk/cdn/shop/files/chicago-city-lights-at-night_3000x.jpg?v=1657615091 3000w 2000h,
//mflorist.hk/cdn/shop/files/chicago-city-lights-at-night_3350x.jpg?v=1657615091 3350w 2234h,
//mflorist.hk/cdn/shop/files/chicago-city-lights-at-night_3750x.jpg?v=1657615091 3750w 2500h,
//mflorist.hk/cdn/shop/files/chicago-city-lights-at-night.jpg?v=1657615091 4096w 2731h"
role="img"
aria-label=""></div><div class="card__title">@KALLY</div>
<div class="card__dots" style="float:right;">
<svg color="#262626" fill="#262626" height="24" role="img" viewBox="0 0 24 24" width="24"><circle cx="12" cy="12" r="1.5"></circle><circle cx="6" cy="12" r="1.5"></circle><circle cx="18" cy="12" r="1.5"></circle></svg>
</div>
</div>
<div class="card__body">
<div class="card__image lazyload"
data-bgset="
//mflorist.hk/cdn/shop/files/99631E2F-3F83-4E07-B6B1-D71ABDA97492_180x.jpg?v=1657614770 180w 180h,
//mflorist.hk/cdn/shop/files/99631E2F-3F83-4E07-B6B1-D71ABDA97492_360x.jpg?v=1657614770 360w 360h,
//mflorist.hk/cdn/shop/files/99631E2F-3F83-4E07-B6B1-D71ABDA97492_540x.jpg?v=1657614770 540w 540h,
//mflorist.hk/cdn/shop/files/99631E2F-3F83-4E07-B6B1-D71ABDA97492_720x.jpg?v=1657614770 720w 720h,
//mflorist.hk/cdn/shop/files/99631E2F-3F83-4E07-B6B1-D71ABDA97492_900x.jpg?v=1657614770 900w 900h,
//mflorist.hk/cdn/shop/files/99631E2F-3F83-4E07-B6B1-D71ABDA97492_1080x.jpg?v=1657614770 1080w 1080h,
//mflorist.hk/cdn/shop/files/99631E2F-3F83-4E07-B6B1-D71ABDA97492_1296x.jpg?v=1657614770 1296w 1296h,
//mflorist.hk/cdn/shop/files/99631E2F-3F83-4E07-B6B1-D71ABDA97492_1512x.jpg?v=1657614770 1512w 1512h,
//mflorist.hk/cdn/shop/files/99631E2F-3F83-4E07-B6B1-D71ABDA97492_1728x.jpg?v=1657614770 1728w 1728h,
//mflorist.hk/cdn/shop/files/99631E2F-3F83-4E07-B6B1-D71ABDA97492_1950x.jpg?v=1657614770 1950w 1950h,
//mflorist.hk/cdn/shop/files/99631E2F-3F83-4E07-B6B1-D71ABDA97492_2100x.jpg?v=1657614770 2100w 2100h,
//mflorist.hk/cdn/shop/files/99631E2F-3F83-4E07-B6B1-D71ABDA97492_2260x.jpg?v=1657614770 2260w 2260h,
//mflorist.hk/cdn/shop/files/99631E2F-3F83-4E07-B6B1-D71ABDA97492_2450x.jpg?v=1657614770 2450w 2450h,
//mflorist.hk/cdn/shop/files/99631E2F-3F83-4E07-B6B1-D71ABDA97492_2700x.jpg?v=1657614770 2700w 2700h,
//mflorist.hk/cdn/shop/files/99631E2F-3F83-4E07-B6B1-D71ABDA97492_3000x.jpg?v=1657614770 3000w 3000h,
//mflorist.hk/cdn/shop/files/99631E2F-3F83-4E07-B6B1-D71ABDA97492_3350x.jpg?v=1657614770 3350w 3350h,
//mflorist.hk/cdn/shop/files/99631E2F-3F83-4E07-B6B1-D71ABDA97492_3750x.jpg?v=1657614770 3750w 3750h,
//mflorist.hk/cdn/shop/files/99631E2F-3F83-4E07-B6B1-D71ABDA97492.jpg?v=1657614770 4000w 4000h"
role="img"
aria-label=""></div>
</div>
<div class="card__footer">
<div class="card__richtext rte"><p>Looking for gift bouquet for a loved one be sure to check out at M FLORIST online. They loon even better against the gorgeous HK skyline on a beauty summer’s day.</p></div>
</div></a></div>
</div><div
class="instagram-card-item"
data-aos="fade-up"
data-aos-easing="linear"
data-aos-duration="400"
data-aos-delay="0">
<div class="card card--instagram"><a href="/products/sweetie-flower-bouquet" class="card__link"><div class="card__header"><div class="card__thumb lazyload"
data-bgset="
//mflorist.hk/cdn/shop/files/round-mirrors-on-wall_180x.jpg?v=1657615417 180w 320h,
//mflorist.hk/cdn/shop/files/round-mirrors-on-wall_360x.jpg?v=1657615417 360w 640h,
//mflorist.hk/cdn/shop/files/round-mirrors-on-wall_540x.jpg?v=1657615417 540w 960h,
//mflorist.hk/cdn/shop/files/round-mirrors-on-wall_720x.jpg?v=1657615417 720w 1279h,
//mflorist.hk/cdn/shop/files/round-mirrors-on-wall_900x.jpg?v=1657615417 900w 1599h,
//mflorist.hk/cdn/shop/files/round-mirrors-on-wall_1080x.jpg?v=1657615417 1080w 1919h,
//mflorist.hk/cdn/shop/files/round-mirrors-on-wall_1296x.jpg?v=1657615417 1296w 2303h,
//mflorist.hk/cdn/shop/files/round-mirrors-on-wall_1512x.jpg?v=1657615417 1512w 2687h,
//mflorist.hk/cdn/shop/files/round-mirrors-on-wall_1728x.jpg?v=1657615417 1728w 3071h,
//mflorist.hk/cdn/shop/files/round-mirrors-on-wall_1950x.jpg?v=1657615417 1950w 3465h,
//mflorist.hk/cdn/shop/files/round-mirrors-on-wall_2100x.jpg?v=1657615417 2100w 3732h,
//mflorist.hk/cdn/shop/files/round-mirrors-on-wall_2260x.jpg?v=1657615417 2260w 4016h,
//mflorist.hk/cdn/shop/files/round-mirrors-on-wall.jpg?v=1657615417 2305w 4096h"
role="img"
aria-label=""></div><div class="card__title">@JOYCE</div>
<div class="card__dots" style="float:right;">
<svg color="#262626" fill="#262626" height="24" role="img" viewBox="0 0 24 24" width="24"><circle cx="12" cy="12" r="1.5"></circle><circle cx="6" cy="12" r="1.5"></circle><circle cx="18" cy="12" r="1.5"></circle></svg>
</div>
</div>
<div class="card__body">
<div class="card__image lazyload"
data-bgset="
//mflorist.hk/cdn/shop/files/EE87BA42-54C9-4187-B165-2918DDCA75C8_180x.jpg?v=1657615880 180w 180h,
//mflorist.hk/cdn/shop/files/EE87BA42-54C9-4187-B165-2918DDCA75C8_360x.jpg?v=1657615880 360w 360h,
//mflorist.hk/cdn/shop/files/EE87BA42-54C9-4187-B165-2918DDCA75C8_540x.jpg?v=1657615880 540w 540h,
//mflorist.hk/cdn/shop/files/EE87BA42-54C9-4187-B165-2918DDCA75C8_720x.jpg?v=1657615880 720w 720h,
//mflorist.hk/cdn/shop/files/EE87BA42-54C9-4187-B165-2918DDCA75C8_900x.jpg?v=1657615880 900w 900h,
//mflorist.hk/cdn/shop/files/EE87BA42-54C9-4187-B165-2918DDCA75C8_1080x.jpg?v=1657615880 1080w 1080h,
//mflorist.hk/cdn/shop/files/EE87BA42-54C9-4187-B165-2918DDCA75C8_1296x.jpg?v=1657615880 1296w 1296h,
//mflorist.hk/cdn/shop/files/EE87BA42-54C9-4187-B165-2918DDCA75C8_1512x.jpg?v=1657615880 1512w 1512h,
//mflorist.hk/cdn/shop/files/EE87BA42-54C9-4187-B165-2918DDCA75C8.jpg?v=1657615880 1536w 1536h"
role="img"
aria-label=""></div>
</div>
<div class="card__footer">
<div class="card__richtext rte"><p>Absolutely loved the bouquet from M FLORIST, the pink roses were so big and pretty and the greens matched really well with the flowers.</p></div>
</div></a></div>
</div></div>
</div>
</div>
</div>
</section><section id="shopify-section-template--15612019507434__apps" class="shopify-section"><div class="margin--medium text--neutral section bg--accent">
<div class="wrapper"><div id="shopify-block-35215c66-1f0f-4735-813a-d42907165e58" class="shopify-block shopify-app-block">
<style>
#insta-feed {
text-align: center;
}
#insta-feed h2 {
}
</style>
<div id="insta-feed"></div>
<script>
if (typeof instafeedLocalTitle === 'undefined') var instafeedLocalTitle = '';
</script>
</div>
</div>
</div>
</section>
</main>
<div id="shopify-section-footer" class="shopify-section">
<footer class="site-footer-wrapper"
role="contentinfo"
data-section-id="footer"
data-section-type="footer">
<div class="wrapper site-footer">
<div class="grid grid--uniform" data-accordion-group>
<div class="grid__item medium-up--one-quarter footer__block" >
<p class="uppercase footer__title "
data-accordion-trigger="accordion-linklist-1"
aria-controls="accordion-linklist-1"
aria-haspopup="true"
aria-expanded="true">
Customer Service
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow-medium-right" viewBox="0 0 9 15"><path fill-rule="evenodd" d="M6.875 7.066L.87 1.06 1.93 0l6.006 6.005L7.94 6 9 7.06l-.004.006.005.005-1.06 1.06-.006-.004-6.005 6.005-1.061-1.06 6.005-6.006z"/></svg>
</p>
<ul class="footer-quicklinks" data-accordion-body data-accordion-body-mobile id="accordion-linklist-1">
<li><a href="/pages/about-us">About M FLORIST</a></li>
<li><a href="/pages/contact-us">Contact Us</a></li>
<li><a href="/pages/flower-shop-locations">Store Locations</a></li>
<li><a href="/pages/faqs">Frequently Asked Questions</a></li>
<li><a href="/pages/flower-delivery-terms-and-conditions">Terms and Condition</a></li>
<li><a href="/policies/refund-policy">Refund Policy</a></li>
</ul>
</div>
<div class="grid__item medium-up--one-quarter footer__block" >
<p class="uppercase footer__title "
data-accordion-trigger="accordion-def90c12-02d1-42dd-8883-34ac4ccb215d-2"
aria-controls="accordion-def90c12-02d1-42dd-8883-34ac4ccb215d-2"
aria-haspopup="true"
aria-expanded="true">
Delivery and payment
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow-medium-right" viewBox="0 0 9 15"><path fill-rule="evenodd" d="M6.875 7.066L.87 1.06 1.93 0l6.006 6.005L7.94 6 9 7.06l-.004.006.005.005-1.06 1.06-.006-.004-6.005 6.005-1.061-1.06 6.005-6.006z"/></svg>
</p>
<ul class="footer-quicklinks" data-accordion-body data-accordion-body-mobile id="accordion-def90c12-02d1-42dd-8883-34ac4ccb215d-2">
<li><a href="/pages/flower-delivery-service">Flower Delivery Service</a></li>
<li><a href="/pages/collect-in-store">Collect in Store</a></li>
<li><a href="/pages/methods-of-payment">Methods of Payment</a></li>
</ul>
</div>
<div class="grid__item medium-up--one-quarter footer__block" >
<p class="uppercase footer__title "
data-accordion-trigger="accordion-99baee71-b650-4d5b-90a6-93034dbd00d0-3"
aria-controls="accordion-99baee71-b650-4d5b-90a6-93034dbd00d0-3"
aria-haspopup="true"
aria-expanded="true">
Special Dates
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow-medium-right" viewBox="0 0 9 15"><path fill-rule="evenodd" d="M6.875 7.066L.87 1.06 1.93 0l6.006 6.005L7.94 6 9 7.06l-.004.006.005.005-1.06 1.06-.006-.004-6.005 6.005-1.061-1.06 6.005-6.006z"/></svg>
</p>
<ul class="footer-quicklinks" data-accordion-body data-accordion-body-mobile id="accordion-99baee71-b650-4d5b-90a6-93034dbd00d0-3">
<li><a href="/collections/birthday-flower-collection">Birthday</a></li>
<li><a href="/collections/valentines-day-rose-collection">Valentine's Day</a></li>
<li><a href="/collections/mothers-day-flower-collection-2024">Mother's Day</a></li>
<li><a href="/collections/mid-autumn-festival">Mid-Autumn Festival</a></li>
<li><a href="/collections/christmas">Christmas</a></li>
</ul>
</div>
<div class="grid__item medium-up--one-quarter footer__block" >
<p class="uppercase footer__title "
data-accordion-trigger="accordion-newsletter-4"
aria-controls="accordion-newsletter-4"
aria-haspopup="true"
aria-expanded="true">
Newsletter
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow-medium-right" viewBox="0 0 9 15"><path fill-rule="evenodd" d="M6.875 7.066L.87 1.06 1.93 0l6.006 6.005L7.94 6 9 7.06l-.004.006.005.005-1.06 1.06-.006-.004-6.005 6.005-1.061-1.06 6.005-6.006z"/></svg>
</p>
<div class="rte rte--column" data-accordion-body data-accordion-body-mobile id="accordion-newsletter-4">
<p>Sign up for email updates on the latest collections and campaigns.</p>
<!-- /snippets/newsletter-form.liquid -->
<form method="post" action="/contact#footer-newsletter" id="footer-newsletter" accept-charset="UTF-8" class="newsletter--default-messages" data-newsletter-form=""><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" />
<input type="hidden" name="contact[tags]" value="newsletter">
<input type="hidden" name="contact[accepts_marketing]" value="true">
<div class="input-group input-group--inner-button float__wrapper">
<label for="mail-footer-newsletter">Email</label>
<input class="input-group-field"
type="email"
placeholder="Enter your email"
id="mail-footer-newsletter"
aria-label="Enter your email"
autocorrect="off"
autocapitalize="off"
name="contact[email]"
data-newsletter-field />
<span class="input-group-button">
<button type="submit" class="btn btn--secondary uppercase" name="subscribe" id="subscribe-footer-newsletter">Join
</button>
</span>
</div>
</form>
</div>
</div>
</div>
<div class="grid footer-secondary-wrapper">
<div class="footer-selects"><form method="post" action="/localization" id="localization-form-footer" accept-charset="UTF-8" class="popout--footer" enctype="multipart/form-data"><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="/" /></form></div>
<ul class="footer-secondary inline-list">
<li>© <a href="/" title="">M FLORIST</a> 2024</li>
</ul>
<ul class="footer-social social-icons grid__item inline-list">
<li>
<a href="https://www.facebook.com/mfloristhongkong/" title="Facebook" target="_blank">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewBox="0 0 20 20"><path fill="#444" d="M18.05.811q.439 0 .744.305t.305.744v16.637q0 .439-.305.744t-.744.305h-4.732v-7.221h2.415l.342-2.854h-2.757v-1.83q0-.659.293-1t1.073-.342h1.488V3.762q-.976-.098-2.171-.098-1.634 0-2.635.964t-1 2.72V9.47H7.951v2.854h2.415v7.221H1.413q-.439 0-.744-.305t-.305-.744V1.859q0-.439.305-.744T1.413.81H18.05z"/></svg>
<span class="visually-hidden">Facebook</span>
</a>
</li>
<li>
<a href="https://www.instagram.com/mfloristhk/" title="Instagram" target="_blank">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 20 20"><path d="M10.034 1.763h2.644c.407 0 .881 0 1.424.068.474 0 .881.067 1.152.135.271.068.543.136.678.203.271.068.475.204.61.34.136.135.34.27.543.406.203.204.339.34.407.543.067.203.203.406.339.61.067.203.135.407.203.678.068.27.135.678.135 1.152 0 .543.068 1.017.068 1.424v5.288c0 .407 0 .882-.068 1.424 0 .474-.067.881-.135 1.152-.068.272-.136.543-.203.678a1.31 1.31 0 01-.34.61c-.135.204-.27.34-.406.543-.204.203-.34.339-.543.407a2.38 2.38 0 01-.61.27 7.737 7.737 0 01-.678.204 4.868 4.868 0 01-1.152.136c-.543 0-1.017.068-1.424.068H7.39c-.407 0-.882 0-1.424-.068-.474 0-.881-.068-1.152-.136-.272-.067-.543-.135-.678-.203-.272-.068-.475-.203-.61-.271-.204-.136-.34-.271-.543-.407-.203-.203-.339-.339-.407-.542-.135-.204-.203-.407-.339-.61a8.558 8.558 0 01-.203-.679 4.868 4.868 0 01-.136-1.152c0-.542-.067-1.017-.067-1.424V7.322c0-.407 0-.881.067-1.424 0-.474.068-.881.136-1.152.068-.271.135-.543.203-.678.068-.204.204-.407.34-.61.135-.204.27-.34.406-.543.203-.203.339-.339.542-.407.204-.135.407-.203.61-.339.204-.067.407-.135.679-.203a4.868 4.868 0 011.152-.135c.542 0 1.017-.068 1.424-.068h2.644zm0-1.763H7.322c-.407 0-.881 0-1.424.068-.542 0-1.017.068-1.356.135-.406.068-.745.204-1.084.34-.34.135-.61.27-.95.474-.27.203-.542.407-.813.678-.271.271-.542.542-.678.881-.136.34-.339.543-.475.882-.135.339-.27.678-.339 1.084a6.993 6.993 0 00-.135 1.356C0 6.441 0 6.915 0 7.322v5.356c0 .407 0 .881.068 1.424 0 .542.068 1.017.135 1.356.068.406.204.745.34 1.084.135.34.27.61.474.95.203.27.407.542.678.813.271.271.542.475.813.678.272.203.61.339.95.475.339.135.678.203 1.084.339.407.067.814.135 1.356.135.543 0 1.017.068 1.424.068h5.424c.407 0 .881 0 1.423-.068.543 0 1.017-.068 1.356-.135.407-.068.746-.204 1.085-.34.34-.135.61-.27.95-.474.27-.203.542-.407.88-.678.272-.271.475-.542.679-.881.203-.271.339-.61.474-.882.136-.339.204-.678.271-1.084.068-.407.136-.814.136-1.424 0-.542.068-1.017.068-1.424V7.254c0-.407 0-.881-.068-1.423 0-.543-.068-1.017-.136-1.424-.067-.407-.203-.746-.27-1.085a6.199 6.199 0 00-.475-.95c-.204-.338-.407-.541-.678-.813a4.353 4.353 0 00-.882-.678c-.27-.203-.61-.339-.949-.474-.339-.136-.678-.271-1.085-.34-.406-.067-.813-.135-1.356-.135h-1.423C12.27 0 11.39 0 10.034 0zm0 4.881c-.746 0-1.356.136-2.034.407-.61.271-1.153.61-1.627 1.085C5.898 6.847 5.559 7.39 5.288 8a4.863 4.863 0 00-.407 1.966c0 .746.136 1.356.407 2.034.271.61.61 1.153 1.085 1.627.474.475 1.017.814 1.627 1.085.61.271 1.288.407 2.034.407.746 0 1.356-.136 2.034-.407a4.57 4.57 0 001.627-1.085c.474-.474.813-1.017 1.085-1.627.27-.61.406-1.288.406-2.034 0-.678-.135-1.356-.406-1.966-.272-.61-.61-1.153-1.085-1.627-.475-.475-1.017-.814-1.627-1.085-.61-.271-1.356-.407-2.034-.407zm0 8.475c-.95 0-1.695-.34-2.373-.95-.678-.677-.95-1.423-.95-2.372 0-.881.34-1.695.95-2.373.61-.678 1.424-1.017 2.373-1.017.949 0 1.695.339 2.373 1.017.678.678.949 1.424.949 2.373 0 .949-.34 1.695-.95 2.373-.677.61-1.49.949-2.372.949zm6.508-8.678c0-.339-.135-.61-.339-.814a1.25 1.25 0 00-.813-.339c-.34 0-.61.136-.814.34a1.25 1.25 0 00-.339.813c0 .271.136.61.34.881.203.272.542.34.813.34.339 0 .61-.136.813-.34.204-.27.34-.61.34-.881z"/></svg>
<span class="visually-hidden">Instagram</span>
</a>
</li>
</ul>
<ul class="footer-payment payment-icons inline-list">
<li>
<svg class="payment-icon" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="pi-american_express" viewBox="0 0 38 24" width="38" height="24"><title id="pi-american_express">American Express</title><path fill="#000" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3Z" opacity=".07"/><path fill="#006FCF" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32Z"/><path fill="#FFF" d="M22.012 19.936v-8.421L37 11.528v2.326l-1.732 1.852L37 17.573v2.375h-2.766l-1.47-1.622-1.46 1.628-9.292-.02Z"/><path fill="#006FCF" d="M23.013 19.012v-6.57h5.572v1.513h-3.768v1.028h3.678v1.488h-3.678v1.01h3.768v1.531h-5.572Z"/><path fill="#006FCF" d="m28.557 19.012 3.083-3.289-3.083-3.282h2.386l1.884 2.083 1.89-2.082H37v.051l-3.017 3.23L37 18.92v.093h-2.307l-1.917-2.103-1.898 2.104h-2.321Z"/><path fill="#FFF" d="M22.71 4.04h3.614l1.269 2.881V4.04h4.46l.77 2.159.771-2.159H37v8.421H19l3.71-8.421Z"/><path fill="#006FCF" d="m23.395 4.955-2.916 6.566h2l.55-1.315h2.98l.55 1.315h2.05l-2.904-6.566h-2.31Zm.25 3.777.875-2.09.873 2.09h-1.748Z"/><path fill="#006FCF" d="M28.581 11.52V4.953l2.811.01L32.84 9l1.456-4.046H37v6.565l-1.74.016v-4.51l-1.644 4.494h-1.59L30.35 7.01v4.51h-1.768Z"/></svg>
<span class="visually-hidden">American express</span>
</li>
<li>
<svg class="payment-icon" viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" role="img" width="38" height="24" aria-labelledby="pi-master"><title id="pi-master">Mastercard</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><circle fill="#EB001B" cx="15" cy="12" r="7"/><circle fill="#F79E1B" cx="23" cy="12" r="7"/><path fill="#FF5F00" d="M22 12c0-2.4-1.2-4.5-3-5.7-1.8 1.3-3 3.4-3 5.7s1.2 4.5 3 5.7c1.8-1.2 3-3.3 3-5.7z"/></svg>
<span class="visually-hidden">Master</span>
</li>
<li>
<svg class="payment-icon" viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-paypal"><title id="pi-paypal">PayPal</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path fill="#003087" d="M23.9 8.3c.2-1 0-1.7-.6-2.3-.6-.7-1.7-1-3.1-1h-4.1c-.3 0-.5.2-.6.5L14 15.6c0 .2.1.4.3.4H17l.4-3.4 1.8-2.2 4.7-2.1z"/><path fill="#3086C8" d="M23.9 8.3l-.2.2c-.5 2.8-2.2 3.8-4.6 3.8H18c-.3 0-.5.2-.6.5l-.6 3.9-.2 1c0 .2.1.4.3.4H19c.3 0 .5-.2.5-.4v-.1l.4-2.4v-.1c0-.2.3-.4.5-.4h.3c2.1 0 3.7-.8 4.1-3.2.2-1 .1-1.8-.4-2.4-.1-.5-.3-.7-.5-.8z"/><path fill="#012169" d="M23.3 8.1c-.1-.1-.2-.1-.3-.1-.1 0-.2 0-.3-.1-.3-.1-.7-.1-1.1-.1h-3c-.1 0-.2 0-.2.1-.2.1-.3.2-.3.4l-.7 4.4v.1c0-.3.3-.5.6-.5h1.3c2.5 0 4.1-1 4.6-3.8v-.2c-.1-.1-.3-.2-.5-.2h-.1z"/></svg>
<span class="visually-hidden">Paypal</span>
</li>
<li>
<svg class="payment-icon" viewBox="-36 25 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-unionpay"><title id="pi-unionpay">Union Pay</title><path fill="#005B9A" d="M-36 46.8v.7-.7zM-18.3 25v24h-7.2c-1.3 0-2.1-1-1.8-2.3l4.4-19.4c.3-1.3 1.9-2.3 3.2-2.3h1.4zm12.6 0c-1.3 0-2.9 1-3.2 2.3l-4.5 19.4c-.3 1.3.5 2.3 1.8 2.3h-4.9V25h10.8z"/><path fill="#E9292D" d="M-19.7 25c-1.3 0-2.9 1.1-3.2 2.3l-4.4 19.4c-.3 1.3.5 2.3 1.8 2.3h-8.9c-.8 0-1.5-.6-1.5-1.4v-21c0-.8.7-1.6 1.5-1.6h14.7z"/><path fill="#0E73B9" d="M-5.7 25c-1.3 0-2.9 1.1-3.2 2.3l-4.4 19.4c-.3 1.3.5 2.3 1.8 2.3H-26h.5c-1.3 0-2.1-1-1.8-2.3l4.4-19.4c.3-1.3 1.9-2.3 3.2-2.3h14z"/><path fill="#059DA4" d="M2 26.6v21c0 .8-.6 1.4-1.5 1.4h-12.1c-1.3 0-2.1-1.1-1.8-2.3l4.5-19.4C-8.6 26-7 25-5.7 25H.5c.9 0 1.5.7 1.5 1.6z"/><path fill="#fff" d="M-21.122 38.645h.14c.14 0 .28-.07.28-.14l.42-.63h1.19l-.21.35h1.4l-.21.63h-1.68c-.21.28-.42.42-.7.42h-.84l.21-.63m-.21.91h3.01l-.21.7h-1.19l-.21.7h1.19l-.21.7h-1.19l-.28 1.05c-.07.14 0 .28.28.21h.98l-.21.7h-1.89c-.35 0-.49-.21-.35-.63l.35-1.33h-.77l.21-.7h.77l.21-.7h-.7l.21-.7zm4.83-1.75v.42s.56-.42 1.12-.42h1.96l-.77 2.66c-.07.28-.35.49-.77.49h-2.24l-.49 1.89c0 .07 0 .14.14.14h.42l-.14.56h-1.12c-.42 0-.56-.14-.49-.35l1.47-5.39h.91zm1.68.77h-1.75l-.21.7s.28-.21.77-.21h1.05l.14-.49zm-.63 1.68c.14 0 .21 0 .21-.14l.14-.35h-1.75l-.14.56 1.54-.07zm-1.19.84h.98v.42h.28c.14 0 .21-.07.21-.14l.07-.28h.84l-.14.49c-.07.35-.35.49-.77.56h-.56v.77c0 .14.07.21.35.21h.49l-.14.56h-1.19c-.35 0-.49-.14-.49-.49l.07-2.1zm4.2-2.45l.21-.84h1.19l-.07.28s.56-.28 1.05-.28h1.47l-.21.84h-.21l-1.12 3.85h.21l-.21.77h-.21l-.07.35h-1.19l.07-.35h-2.17l.21-.77h.21l1.12-3.85h-.28m1.26 0l-.28 1.05s.49-.21.91-.28c.07-.35.21-.77.21-.77h-.84zm-.49 1.54l-.28 1.12s.56-.28.98-.28c.14-.42.21-.77.21-.77l-.91-.07zm.21 2.31l.21-.77h-.84l-.21.77h.84zm2.87-4.69h1.12l.07.42c0 .07.07.14.21.14h.21l-.21.7h-.77c-.28 0-.49-.07-.49-.35l-.14-.91zm-.35 1.47h3.57l-.21.77h-1.19l-.21.7h1.12l-.21.77h-1.26l-.28.42h.63l.14.84c0 .07.07.14.21.14h.21l-.21.7h-.7c-.35 0-.56-.07-.56-.35l-.14-.77-.56.84c-.14.21-.35.35-.63.35h-1.05l.21-.7h.35c.14 0 .21-.07.35-.21l.84-1.26h-1.05l.21-.77h1.19l.21-.7h-1.19l.21-.77zm-19.74-5.04c-.14.7-.42 1.19-.91 1.54-.49.35-1.12.56-1.89.56-.7 0-1.26-.21-1.54-.56-.21-.28-.35-.56-.35-.98 0-.14 0-.35.07-.56l.84-3.92h1.19l-.77 3.92v.28c0 .21.07.35.14.49.14.21.35.28.7.28s.7-.07.91-.28c.21-.21.42-.42.49-.77l.77-3.92h1.19l-.84 3.92m1.12-1.54h.84l-.07.49.14-.14c.28-.28.63-.42 1.05-.42.35 0 .63.14.77.35.14.21.21.49.14.91l-.49 2.38h-.91l.42-2.17c.07-.28.07-.49 0-.56-.07-.14-.21-.14-.35-.14-.21 0-.42.07-.56.21-.14.14-.28.35-.28.63l-.42 2.03h-.91l.63-3.57m9.8 0h.84l-.07.49.14-.14c.28-.28.63-.42 1.05-.42.35 0 .63.14.77.35s.21.49.14.91l-.49 2.38h-.91l.42-2.24c.07-.21 0-.42-.07-.49-.07-.14-.21-.14-.35-.14-.21 0-.42.07-.56.21-.14.14-.28.35-.28.63l-.42 2.03h-.91l.7-3.57m-5.81 0h.98l-.77 3.5h-.98l.77-3.5m.35-1.33h.98l-.21.84h-.98l.21-.84zm1.4 4.55c-.21-.21-.35-.56-.35-.98v-.21c0-.07 0-.21.07-.28.14-.56.35-1.05.7-1.33.35-.35.84-.49 1.33-.49.42 0 .77.14 1.05.35.21.21.35.56.35.98v.21c0 .07 0 .21-.07.28-.14.56-.35.98-.7 1.33-.35.35-.84.49-1.33.49-.35 0-.7-.14-1.05-.35m1.89-.7c.14-.21.28-.49.35-.84v-.35c0-.21-.07-.35-.14-.49a.635.635 0 0 0-.49-.21c-.28 0-.49.07-.63.28-.14.21-.28.49-.35.84v.28c0 .21.07.35.14.49.14.14.28.21.49.21.28.07.42 0 .63-.21m6.51-4.69h2.52c.49 0 .84.14 1.12.35.28.21.35.56.35.91v.28c0 .07 0 .21-.07.28-.07.49-.35.98-.7 1.26-.42.35-.84.49-1.4.49h-1.4l-.42 2.03h-1.19l1.19-5.6m.56 2.59h1.12c.28 0 .49-.07.7-.21.14-.14.28-.35.35-.63v-.28c0-.21-.07-.35-.21-.42-.14-.07-.35-.14-.7-.14h-.91l-.35 1.68zm8.68 3.71c-.35.77-.7 1.26-.91 1.47-.21.21-.63.7-1.61.7l.07-.63c.84-.28 1.26-1.4 1.54-1.96l-.28-3.78h1.19l.07 2.38.91-2.31h1.05l-2.03 4.13m-2.94-3.85l-.42.28c-.42-.35-.84-.56-1.54-.21-.98.49-1.89 4.13.91 2.94l.14.21h1.12l.7-3.29-.91.07m-.56 1.82c-.21.56-.56.84-.91.77-.28-.14-.35-.63-.21-1.19.21-.56.56-.84.91-.77.28.14.35.63.21 1.19"/></svg>
<span class="visually-hidden">Unionpay</span>
</li>
<li>
<svg class="payment-icon" viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" role="img" width="38" height="24" aria-labelledby="pi-visa"><title id="pi-visa">Visa</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path d="M28.3 10.1H28c-.4 1-.7 1.5-1 3h1.9c-.3-1.5-.3-2.2-.6-3zm2.9 5.9h-1.7c-.1 0-.1 0-.2-.1l-.2-.9-.1-.2h-2.4c-.1 0-.2 0-.2.2l-.3.9c0 .1-.1.1-.1.1h-2.1l.2-.5L27 8.7c0-.5.3-.7.8-.7h1.5c.1 0 .2 0 .2.2l1.4 6.5c.1.4.2.7.2 1.1.1.1.1.1.1.2zm-13.4-.3l.4-1.8c.1 0 .2.1.2.1.7.3 1.4.5 2.1.4.2 0 .5-.1.7-.2.5-.2.5-.7.1-1.1-.2-.2-.5-.3-.8-.5-.4-.2-.8-.4-1.1-.7-1.2-1-.8-2.4-.1-3.1.6-.4.9-.8 1.7-.8 1.2 0 2.5 0 3.1.2h.1c-.1.6-.2 1.1-.4 1.7-.5-.2-1-.4-1.5-.4-.3 0-.6 0-.9.1-.2 0-.3.1-.4.2-.2.2-.2.5 0 .7l.5.4c.4.2.8.4 1.1.6.5.3 1 .8 1.1 1.4.2.9-.1 1.7-.9 2.3-.5.4-.7.6-1.4.6-1.4 0-2.5.1-3.4-.2-.1.2-.1.2-.2.1zm-3.5.3c.1-.7.1-.7.2-1 .5-2.2 1-4.5 1.4-6.7.1-.2.1-.3.3-.3H18c-.2 1.2-.4 2.1-.7 3.2-.3 1.5-.6 3-1 4.5 0 .2-.1.2-.3.2M5 8.2c0-.1.2-.2.3-.2h3.4c.5 0 .9.3 1 .8l.9 4.4c0 .1 0 .1.1.2 0-.1.1-.1.1-.1l2.1-5.1c-.1-.1 0-.2.1-.2h2.1c0 .1 0 .1-.1.2l-3.1 7.3c-.1.2-.1.3-.2.4-.1.1-.3 0-.5 0H9.7c-.1 0-.2 0-.2-.2L7.9 9.5c-.2-.2-.5-.5-.9-.6-.6-.3-1.7-.5-1.9-.5L5 8.2z" fill="#142688"/></svg>
<span class="visually-hidden">Visa</span>
</li>
</ul>
</div>
</div>
</footer>
</div>
<div id="shopify-section-popups" class="shopify-section"><!-- /sections/popups.liquid --></div>
<div class="search--popdown">
<div data-search-popdown-wrap>
<div id="search-popdown" class="search-popdown search__predictive" data-popdown-outer>
<div class="item--loadbar" data-loading-indicator style="display: none;"></div>
<div class="search__predictive__outer">
<div class="wrapper">
<div class="search__predictive__main">
<form class="search__predictive__form"
action="/search"
method="get"
role="search">
<button class="search__predictive__form__button" type="submit">
<span class="visually-hidden">Search</span>
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 16 16"><path d="M16 14.864L14.863 16l-4.24-4.241a6.406 6.406 0 01-4.048 1.392 6.61 6.61 0 01-4.65-1.925A6.493 6.493 0 01.5 9.098 6.51 6.51 0 010 6.575a6.536 6.536 0 011.922-4.652A6.62 6.62 0 014.062.5 6.52 6.52 0 016.575 0 6.5 6.5 0 019.1.5c.8.332 1.51.806 2.129 1.423a6.454 6.454 0 011.436 2.13 6.54 6.54 0 01.498 2.522c0 1.503-.468 2.853-1.4 4.048L16 14.864zM3.053 10.091c.973.972 2.147 1.461 3.522 1.461 1.378 0 2.551-.489 3.525-1.461.968-.967 1.45-2.138 1.45-3.514 0-1.37-.482-2.545-1.45-3.524-.981-.968-2.154-1.45-3.525-1.45-1.376 0-2.547.483-3.513 1.45-.973.973-1.46 2.146-1.46 3.523 0 1.375.483 2.548 1.45 3.515z"/></svg>
</button>
<input type="search"
data-predictive-search-input
name="q"
value=""
placeholder="Search..."
aria-label="Search…">
</form>
<div class="search__predictive__close">
<button class="search__predictive__close__inner" data-close-popdown aria-label="Close">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close-small" viewBox="0 0 15 15"><g fill-rule="evenodd"><path d="M2.237 1.073l12.021 12.021-1.414 1.414L.824 2.488z"/><path d="M.823 13.094l12.021-12.02 1.414 1.413-12.02 12.021z"/></g></svg>
</button>
</div>
<div class="search__predictive__clear">
<button class="search__predictive__close__inner" data-clear-input aria-label="Close">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 15 15"><g fill-rule="evenodd"><path d="M2.06 1l12.02 12.021-1.06 1.061L1 2.062z"/><path d="M1 13.02L13.022 1l1.061 1.06-12.02 12.02z"/></g></svg>
</button>
</div>
</div>
</div>
</div>
<div class="header__search__results" data-predictive-search-results>
<div class="wrapper">
<div class="search__results__empty" data-predictive-search-aria></div>
<div class="search__results__outer">
<div class="search__results__products">
<div class="search__results__products__title" data-product-title-wrap></div>
<div class="search__results__products__list" data-product-wrap>
</div>
</div>
<div class="search__results__other">
<div class="search__results__other__list" data-collection-wrap></div>
<div class="search__results__other__list" data-article-wrap></div>
<div class="search__results__other__list" data-page-wrap></div>
</div>
</div>
</div>
</div>
</div>
<span class="drawer__underlay" data-search-underlay></span>
<script data-predictive-search-aria-template type="text/x-template">
<div aria-live="polite">
<p>
{{@if(it.count)}}
<span class="badge">{{ it.count }}</span>
{{/if}}
{{ it.title }} <em>{{ it.query }}</em>
</p>
</div>
</script>
<script data-predictive-search-title-template type="text/x-template">
<div class="search__results__heading">
<p>
<span class="search__results__title">{{ it.title }}</span>
<span class="badge">{{ it.count }}</span>
</p>
</div>
</script>
<script data-search-other-template type="text/x-template">
{{@each(it) => object, index}}
<div class="other__inline animates" style="animation-delay: {{ index | animationDelay }}ms;">
<p class="other__inline__title">
<a href="{{ object.url }}">{{ object.title | safe }}</a>
</p>
</div>
{{/each}}
</script>
<script data-search-product-template type="text/x-template">
{{@each(it) => object, index}}
<a href="{{ object.url }}" class="product__inline animates" style="animation-delay: {{ index | animationDelay }}ms;">
<div class="product__inline__image">
<img class="img-aspect-ratio" width="{{object.featured_image.width}}" height="{{ object.featured_image.height }}" alt="{{ object.featured_image.alt }}" src="{{ object.thumb }}">
</div>
<div>
<p class="product__inline__title">
{{ object.title | safe }}
</p>
<p class="product__inline__price">
<span class="price {{ object.classes }}">
{{ object.price | safe }}
</span>
{{@if(object.sold_out)}}
<br /><em>{{ object.sold_out_translation }}</em>
{{/if}}
{{@if(object.on_sale)}}
<span class="compare-at">
{{ object.compare_at_price | safe }}
</span>
{{/if}}
</p>
</div>
</a>
{{/each}}
</script>
</div>
</div>
<div data-modal-container></div><!-- Paste popup code or third party scripts below this comment line ============== -->
<!-- And above this comment line ================================================== -->
<script>var root_url = "\/" != '/' ? "\/" : '';</script>
<!-- langify-v2-scripts-begin -->
<script>
var langify = langify || {};
/**
*
*
* @class LyHelper
*/
class LyHelper {
constructor() {
return {
ajax: function(params) { return LyHelper.ajax(params); },
isIE: function() { return LyHelper.isIE(); },
extractImageObject: function(val) { return LyHelper.extractImageObject(val); },
getCurrentLanguage: function() { return LyHelper.getCurrentLanguage(); },
getCookie: function(name) { return LyHelper.getCookie(name); },
setCookie: function(name, value, days) { return LyHelper.setCookie(name, value, days); },
getVersion: function() { return LyHelper.getVersion(); },
isOutOfViewport: function(elem) { return LyHelper.isOutOfViewport(elem); },
isDomainFeatureEnabled: function() { return LyHelper.isDomainFeatureEnabled(); },
getVal: function(str) { return LyHelper.getVal(str); },
inIframe: function() { return LyHelper.inIframe(); },
shopifyAPI: function() { return LyHelper.shopifyAPI(); },
loadScript: function(url, callback) { return LyHelper.loadScript(url, callback); },
localizationRedirect: function(type, code, additionalFields, additionalParams, domain) { return LyHelper.localizationRedirect(type, code, additionalFields, additionalParams, domain); },
changeCurrency: function(code) { return LyHelper.changeCurrency(code); },
log: function(title, data, type) { return LyHelper.log(title, data, type); },
}
}
static ajax(params) {
var data = params.data;
fetch(params.url, {
method: params.method,
headers: {
'Content-Type': 'application/json',
},
body: (data && params.method === 'POST') ? JSON.stringify(data) : null,
})
.then(response => response.json())
.then(data => {
params.success(data);
})
.catch((error) => {
console.error('Error:', error);
});
}
static isIE() {
var ua = navigator.userAgent;
var is_ie = ua.indexOf("MSIE ") > -1 || ua.indexOf("Trident/") > -1;
return is_ie;
}
static extractImageObject(val) {
if(!val || val == '') return false;
var val = val;
// Handle src-sets
if(val.search(/([0-9]+w?h?x?,)/gi) > -1) {
val = val.split(/([0-9]+w?h?x?,)/gi)[0];
}
var hostBegin = val.indexOf('//') ? val.indexOf('//') : 0;
var hostEnd = val.lastIndexOf('/') + 1;
var host = val.substring(hostBegin, hostEnd);
var afterHost = val.substring(hostEnd, val.length);
var url = val;
var file = '';
var name = '';
var type = '';
afterHost = afterHost.substring(0, (afterHost.indexOf("#") == -1) ? afterHost.length : afterHost.indexOf("#"));
afterHost = afterHost.substring(0, (afterHost.indexOf("?") == -1) ? afterHost.length : afterHost.indexOf("?"));
name = afterHost.replace(/(_[0-9]+x[0-9]*|_{width}x|_{size})?(_crop_(top|center|bottom|left|right))?(@[0-9]*x)?(\.progressive)?\.(png\.jpg|jpe?g|png|gif|webp)/gi, "");
if(afterHost.search(/(\.png\.jpg|\.jpg\.jpg)/gi) > -1) {
type = afterHost.substring(afterHost.search(/(\.png\.jpg|\.jpg\.jpg)/gi)+1, afterHost.length);
} else {
type = afterHost.substring(afterHost.lastIndexOf('.')+1, afterHost.length);
}
file = afterHost.replace(/(_[0-9]+x[0-9]*|_{width}x|_{size})?(_crop_(top|center|bottom|left|right))?(@[0-9]*x)?(\.progressive)?\.(png\.jpg|jpe?g|png|gif|webp)/gi, '.'+type);
return {
host: host,
name: name,
type: type,
file: file
}
}
static getCurrentLanguage() {
return window.langify.locale.iso_code;
}
static setLanguage(code) {
}
static getCookie(name) {
var v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
if(v) return v[2];
else return null;
}
static setCookie(name, value, days) {
var d = new Date;
d.setTime(d.getTime() + 24*60*60*1000*days);
document.cookie = name + "=" + value + ";path=/;expires=" + d.toGMTString();
}
static getVersion() {
return 2;
}
static isOutOfViewport (elem) {
var bounding = elem.getBoundingClientRect();
var out = {};
out.top = bounding.top < 0;
out.left = bounding.left < 0;
out.bottom = Math.ceil(bounding.bottom) >= (window.innerHeight || document.documentElement.clientHeight);
out.right = bounding.right > (window.innerWidth || document.documentElement.clientWidth);
out.any = out.top || out.left || out.bottom || out.right;
out.inViewport = bounding.x > 0 && bounding.y > 0;
return out;
}
static isDomainFeatureEnabled() {
return window.langify.locale.domain_feature_enabled;
}
static getVal(str) {
var v = window.location.search.match(new RegExp('(?:[?&]'+str+'=)([^&]+)'));
return v ? v[1] : null;
}
static inIframe() {
try {
return window.self !== window.top;
} catch (e) {
return true;
}
}
static shopifyAPI() {
var root_url = window.langify.locale.root_url != '/' ? window.langify.locale.root_url : '';
return {
attributeToString: function(attribute) {
if((typeof attribute) !== 'string') {
attribute += '';
if(attribute === 'undefined') {attribute = '';}
}
return attribute.trim();
},
getCart: function(callback) {
LyHelper.ajax({
method: 'GET',
url: root_url+'/cart.js',
success: function (cart, textStatus) {
if((typeof callback) === 'function') {
callback(cart);
}
}
});
},
updateCartNote: function(note, callback) {
var params = {
method: 'POST',
url: root_url+'/cart/update.js',
data: 'note=' + this.attributeToString(note),
dataType: 'json',
success: function(cart) {if((typeof callback) === 'function') {callback(cart);}},
error: this.onError
};
LyHelper.ajax(params);
},
updateCartAttributes: function(attributes, callback) {
var params = {
method: 'POST',
url: root_url+'/cart/update.js',
data: {"attributes": attributes},
dataType: 'json',
success: function(cart) {
if((typeof callback) === 'function') {
callback(cart);
}
},
error: this.onError
};
LyHelper.ajax(params);
},
onError: function(XMLHttpRequest, textStatus) {
}
}
}
static loadScript(url, callback) {
var script = document.createElement('script');
script.type = 'text/javascript';
if(script.readyState) {
script.onreadystatechange = function () {
if(script.readyState == 'loaded' || script.readyState == 'complete') {
script.onreadystatechange = null;
callback();
}
};
} else {
script.onload = function () {
callback();
};
}
script.src = url;
document.getElementsByTagName('head')[0].appendChild(script);
}
static localizationRedirect(type, code, additionalFields, additionalParams, domain) {
if(type !== 'country_code' && type !== 'language_code') {
return false;
}
if(!additionalParams) {
var additionalParams = '';
}
if(domain) {
window.location.href = domain;
return true;
}
var params = [
{
name: type,
value: code
},
{
name: 'return_to',
value: window.location.pathname + window.location.search + additionalParams + window.location.hash
},
{
name: 'form_type',
value: 'localization'
},
{
name: '_method',
value: 'put'
}
];
if(additionalFields) {
for(var i=0; i<additionalFields.length; i++) {
params.push(additionalFields[i]);
}
}
const form = document.createElement('form');
form.method = 'POST';
form.action = '/localization';
params.forEach(function(param) {
const field = document.createElement('input');
field.type = 'hidden';
field.name = param['name'];
field.value = param['value'];
form.appendChild(field);
});
document.body.appendChild(form);
form.submit();
}
static changeCurrency(code) {
const params = [
{
name: 'currency_code',
value: code
},
{
name: 'return_to',
value: window.location.pathname + window.location.search + window.location.hash
},
{
name: 'form_type',
value: 'localization'
},
{
name: '_method',
value: 'put'
}
];
const form = document.createElement('form');
form.method = 'POST';
form.action = '/localization';
params.forEach(function(param) {
const field = document.createElement('input');
field.type = 'hidden';
field.name = param['name'];
field.value = param['value'];
form.appendChild(field);
});
document.body.appendChild(form);
form.submit();
}
static log(title, data, type) {
if(langify.settings.debug) {
if(!data) {
var data = '';
}
var css = 'color: green; font-weight: bold;';
if(type === 'error') {
css = 'color: red; font-weight: bold;';
}
console.log(`%c ${title}: \n`, css, data);
}
}
};
/**
*
*
* @class TranslationObserver
*/
class TranslationObserver {
constructor() {
LyHelper.log('TranslationObserver instantiation')
}
init() {
if(langify.settings.observe && !LyHelper.isIE()) {
var langifyObserver = this.langifyObserverCore();
langifyObserver.init();
// HOTFIX: translation observer sometimes refuses to trigger on page load_
langifyObserver.triggerCustomContents();
langify.api = {
observer: {
start: langifyObserver.init,
stop: langifyObserver.stopObserver,
trigger: langifyObserver.triggerCustomContents
}
};
}
return this;
}
langifyObserverCore() {
var observedNodes = [];
var intersectionObs = null;
var mutationCount = 0;
var mutationObs = null;
var mutationObsConfig = {
characterData: true,
characterDataOldValue: true,
attributes: true,
attributeOldValue: true,
childList: true,
subtree: true,
};
var customContents_html = {};
var customContents_text = {};
var customContents_attr = {};
function init() {
if(langify.settings.observe) {
spreadCustomContents();
if (window.MutationObserver) {
if (langify.settings.lazyload && window.IntersectionObserver) {
startIntersectionObserver();
} else {
startMutationObserver(null);
}
} else {
startMutationEvents();
}
}
}
// Intersection Observer
function startIntersectionObserver() {
intersectionObs = new IntersectionObserver(callbackIntersectionChange);
var elementNodes = document.getElementsByClassName('shopify-section');
Array.prototype.slice.call(elementNodes).forEach(function(node) {
intersectionObs.observe(node);
});
}
function callbackIntersectionChange(intersections) {
intersections.forEach(function(intersection) {
var target = intersection.target;
var targetIsIntersecting = Boolean(target.getAttribute('ly-is-intersecting') === "true" ? true : false);
if(typeof targetIsIntersecting == 'undefined' || targetIsIntersecting == null) {
target.setAttribute('ly-is-intersecting', intersection.isIntersecting);
targetIsIntersecting = intersection.isIntersecting;
}
// On Screen
if(targetIsIntersecting == false && intersection.isIntersecting == true) {
if(!target.getAttribute('ly-is-observing')) {
startMutationObserver(target);
intersectionObs.unobserve(target);
// As the mutation observer didn't see the "add" of the elememts, trigger the initial translation manually
var elementNodes = getNodesUnder(target, 'SHOW_ELEMENT');
var textNodes = getNodesUnder(target, 'SHOW_TEXT');
var nodes = elementNodes.concat(textNodes);
nodes.forEach(function(node) {
translate(node, 'mutation -> childList');
});
}
}
// Off Screen
//else if(targetIsIntersecting == true && intersection.isIntersecting == false) {
// stopMutationObserver(target);
//}
target.setAttribute('ly-is-intersecting', intersection.isIntersecting);
});
}
// Mutation Observer
function startMutationObserver(observerTarget) {
if (!observerTarget) {
var target = document.documentElement || document.body; // main window
} else {
if (observerTarget.nodeName === 'IFRAME') {
try { var target = observerTarget.contentDocument || observerTarget.contentWindow.document; }
catch { return false; }
} else {
var target = observerTarget;
}
}
mutationObs = new MutationObserver(callbackDomChange);
mutationObs.observe(target, mutationObsConfig);
observedNodes.push(target);
try { target.setAttribute('ly-is-observing', 'true'); } catch(e) {}
}
function stopMutationObserver(target) {
if(observedNodes.indexOf(target) > -1) {
observedNodes.splice(observedNodes.indexOf(target), 1);
}
var mutations = mutationObs.takeRecords();
mutationObs.disconnect();
observedNodes.forEach(node => {
mutationObs.observe(node, mutationObsConfig);
});
try { target.removeAttribute('ly-is-observing'); } catch(e) {}
}
function callbackDomChange(mutations, mutationObs) {
for (var i = 0, length = mutations.length; i < length; i++) {
var mutation = mutations[i];
var target = mutation.target;
// Links-Hook
if (mutation.type === 'attributes' && (mutation.attributeName === 'href' || mutation.attributeName === 'action')) {
var target = mutation.target;
translateLink(target.getAttribute(mutation.attributeName), target);
}
// Images-Hook
else if (mutation.type === 'attributes' && (mutation.attributeName === 'src' || mutation.attributeName === 'data-src' || mutation.attributeName === 'srcset' || mutation.attributeName === 'data-srcset')) {
translateImage(target, mutation.attributeName);
}
else if (mutation.type === 'attributes' && mutation.attributeName === 'style') {
translateCssImage(target);
}
// Subtree Events
else if (mutation.type === 'childList') {
// Added Nodes
if(mutation.addedNodes.length > 0) {
var elementNodes = getNodesUnder(mutation.target, 'SHOW_ELEMENT');
var textNodes = getNodesUnder(mutation.target, 'SHOW_TEXT');
var nodes = elementNodes.concat(textNodes);
nodes.forEach(function(node) {
translate(node, 'mutation -> childList');
});
}
}
// CharacterData Events
else if (mutation.type === 'characterData') {
var target = mutation.target;
translate(target, 'mutation -> characterData');
}
}
}
function translate(node, info) {
if((node.nodeType === 1 && node.hasAttribute('data-ly-locked')) || (node.nodeType === 3 && node.parentNode && node.parentNode.hasAttribute('data-ly-locked'))) {
return;
}
// CC-Hook
if (node.nodeName !== 'SCRIPT' && node.nodeName !== 'STYLE') {
if (node.nodeType === 3) {
translateTextNode(node, info);
}
translateNodeAttrs(node);
}
// Links-Hook
if (node.nodeName === 'A' || node.nodeName === 'FORM') {
if(node.hasAttribute('href')) var attrName = 'href';
else var attrName = 'action';
var url = node.getAttribute(attrName);
translateLink(url, node);
}
// Images-Hook
if (node.nodeName === 'IMG' || node.nodeName === 'SOURCE') {
translateImage(node, ['src', 'data-src', 'srcset', 'data-srcset']);
}
if (node.attributes && node.getAttribute('style')) {
translateCssImage(node);
}
// Iframe Observation
if (node.nodeName === 'IFRAME') {
// Todo: handle srcdoc iframe content observing
if (node.getAttribute('ly-is-observing') == null && node.getAttribute('src') == null && !node.hasAttribute('srcdoc')) {
node.setAttribute('ly-is-observing', 'true');
startMutationObserver(node);
}
}
}
function translateNodeAttrs(node) {
if (node.attributes && node.getAttribute('placeholder')) {
var src = node.getAttribute('placeholder').trim().replace(/(\r\n|\n|\r)/gim,"").replace(/\s+/g," ").toLowerCase();
if(customContents_text[src] && node.getAttribute('placeholder') !== customContents_text[src]) {
node.setAttribute('placeholder', customContents_text[src]);
}
}
}
function translateTextNode(node, info) {
if(langify.settings.observeCustomContents === false || !node.textContent || node.textContent.trim().length === 0) {
return;
}
var oldSrc = node.textContent.trim().replace(/(\r\n|\n|\r)/gim,"").replace(/\s+/g," ").toLowerCase();
var src = node.textContent.trim().replace(/(\r\n|\n|\r)/gim," ").replace(/\s+/g," ").toLowerCase();
if(customContents_text[oldSrc]) {
src = oldSrc;
}
if(customContents_text[src] && node.textContent !== customContents_text[src]) {
var newContent = node.textContent.replace(node.textContent.trim(), customContents_text[src]);
if (newContent != node.textContent) {
if(!node.parentNode.hasAttribute('data-ly-mutation-count') || parseInt(node.parentNode.getAttribute('data-ly-mutation-count')) < langify.settings.maxMutations) {
var count = node.parentNode.hasAttribute('data-ly-mutation-count') ? parseInt(node.parentNode.getAttribute('data-ly-mutation-count')) : 0;
node.parentNode.setAttribute('data-ly-mutation-count', count+1);
node.textContent = newContent;
mutationCount = mutationCount + 1;
LyHelper.log('REPLACED (TEXT)', {
oldValue: src,
newValue: customContents_text[src],
mutationCount,
}, 'success'
);
var event = new CustomEvent('langify.observer.aftertranslatetext', {
bubbles: true,
detail: {
target: node,
original: src,
translation: customContents_text[src]
}
});
node.dispatchEvent(event);
}
}
}
}
function translateLink(url, node) {
if(langify.settings.observeLinks === false || isLocalizationForm(node) || node.hasAttribute('data-ly-locked') || !url || (url.indexOf('mailto:') !== -1 || url.indexOf('javascript:') !== -1 || url.indexOf('tel:') !== -1 || url.indexOf('file:') !== -1 || url.indexOf('ftp:') !== -1 || url.indexOf('sms:') !== -1 || url.indexOf('market:') !== -1 || url.indexOf('fax:') !== -1 || url.indexOf('callto:') !== -1 || url.indexOf('ts3server:') !== -1)) {
return;
}
var isLocalized = (
url.indexOf('/'+ langify.locale.iso_code +'/') === 0 || url === '/'+ langify.locale.iso_code ||
url.indexOf('/'+ langify.locale.iso_code.toLowerCase() +'/') === 0 || url === '/'+ langify.locale.iso_code.toLowerCase() ||
url.indexOf('/'+ langify.locale.iso_code.toLowerCase().substring(0,2) +'/') === 0 || url === '/'+ langify.locale.iso_code.toLowerCase().substring(0,2) ||
url.indexOf(langify.locale.root_url + '/') === 0 || url === langify.locale.root_url ||
url.indexOf(langify.locale.shop_url + langify.locale.root_url) === 0 || url === langify.locale.shop_url + langify.locale.root_url
);
var cleanUrl = url.replace(langify.locale.shop_url, '');
var re = new RegExp(`\/\\b${langify.locale.iso_code.replace('-', '\-')}\\b\/`, 'gi');
var link = cleanUrl.replace(re, '/');
var isUrlAbsolute = (link.indexOf('://') > 0 || link.indexOf('//') === 0);
var blacklist = ['#', '/'+ langify.locale.iso_code +'#'].concat(langify.settings.linksBlacklist);
var isUrlBlacklisted = blacklist.find(x => url.indexOf(x) === 0);
if(!isLocalized && !isUrlAbsolute && !isUrlBlacklisted && langify.locale.root_url != '/') {
if(node.hasAttribute('href')) var attrName = 'href'; else var attrName = 'action';
if(link === '/' || link == langify.locale.root_url) link = '';
var newLink = langify.locale.root_url + link;
var timeStamp = Math.floor(Date.now());
if(!node.hasAttribute('data-ly-processed') || timeStamp > parseInt(node.getAttribute('data-ly-processed')) + langify.settings.timeout) {
node.setAttribute('data-ly-processed', timeStamp);
node.setAttribute(attrName, newLink);
if(node.hasAttribute('data-'+attrName)) node.setAttribute('data-'+attrName, newLink);
mutationCount = mutationCount + 1;
LyHelper.log('REPLACED (LINK)', {
attrName,
oldValue: url,
newValue: newLink,
mutationCount,
}, 'success'
);
var event = new CustomEvent('langify.observer.aftertranslatelink', {
bubbles: true,
detail: {
target: node,
attribute: attrName,
original: url,
translation: newLink
}
});
node.dispatchEvent(event);
}
}
}
function translateImage(node, attr) {
if(langify.settings.observeImages === false || node.hasAttribute('data-ly-locked') || Object.keys(customContents_image).length === 0) {
return
}
var attrs = [];
if(typeof attr === 'string') attrs.push(attr);
else if(typeof attr === 'object') attrs = attr;
var timeStamp = Math.floor(Date.now());
if(!node.hasAttribute('data-ly-processed') || timeStamp > parseInt(node.getAttribute('data-ly-processed')) + langify.settings.timeout) {
node.setAttribute('data-ly-processed', timeStamp);
attrs.forEach(function(attr) {
if(node.hasAttribute(attr)) {
var imgObject = LyHelper.extractImageObject(node.getAttribute(attr));
var imgKey = imgObject ? imgObject.file.toLowerCase() : '';
if(customContents_image[imgKey]) {
// Replace
var oldValue = node.getAttribute(attr);
var translation = node.getAttribute(attr);
translation = translation.replace(new RegExp(imgObject.host, 'g'), customContents_image[imgKey].host);
translation = translation.replace(new RegExp(imgObject.name, 'g'), customContents_image[imgKey].name);
translation = translation.replace(new RegExp(imgObject.type, 'g'), customContents_image[imgKey].type);
// China Hook
if(node.getAttribute(attr).indexOf('cdn.shopifycdn.net') >= 0) {
translation = translation.replace(new RegExp('cdn.shopify.com', 'g'), 'cdn.shopifycdn.net');
}
if(node.getAttribute(attr) != translation) {
node.setAttribute(attr, translation);
mutationCount = mutationCount + 1;
LyHelper.log('REPLACED (IMAGE)', {
attrName: attr,
oldValue: oldValue,
newValue: translation,
mutationCount,
}, 'success');
var event = new CustomEvent('langify.observer.aftertranslateimage', {
bubbles: true,
detail: {
target: node,
attribute: attr,
original: oldValue,
translation: translation
}
});
node.dispatchEvent(event);
}
}
}
});
}
}
function translateCssImage(node) {
if(langify.settings.observeImages === false || node.hasAttribute('data-ly-locked') || Object.keys(customContents_image).length === 0 || !node.getAttribute('style')) {
return
}
var imgMatches = node.getAttribute('style').match(/url\(("|')?(.*)("|')?\)/gi);
if(imgMatches !== null) {
var imgSource = imgMatches[0].replace(/url\(("|')?|("|')?\)/, '');
var imgObject = LyHelper.extractImageObject(imgSource);
var imgKey = imgObject ? imgObject.file.toLowerCase() : '';
var attr = 'style';
if(customContents_image[imgKey]) {
// Replace
var translation = node.getAttribute(attr);
translation = translation.replace(new RegExp(imgObject.host, 'g'), customContents_image[imgKey].host);
translation = translation.replace(new RegExp(imgObject.name, 'g'), customContents_image[imgKey].name);
translation = translation.replace(new RegExp(imgObject.type, 'g'), customContents_image[imgKey].type);
// China Hook
if(node.getAttribute(attr).indexOf('cdn.shopifycdn.net') >= 0) {
translation = translation.replace(new RegExp('cdn.shopify.com', 'g'), 'cdn.shopifycdn.net');
}
if(node.getAttribute(attr) != translation) {
var timeStamp = Math.floor(Date.now());
if(!node.hasAttribute('data-ly-processed') || timeStamp > parseInt(node.getAttribute('data-ly-processed')) + langify.settings.timeout) {
node.setAttribute('data-ly-processed', timeStamp);
node.setAttribute(attr, translation);
mutationCount = mutationCount + 1;
}
}
}
}
}
function findAndLocalizeLinks(target, parent) {
if(target.parentNode && parent) var allLinks = target.parentElement.querySelectorAll('[href],[action]');
else var allLinks = target.querySelectorAll('[href],[action]');
allLinks.forEach(link => {
if(link.hasAttribute('href')) var attrName = 'href'; else var attrName = 'action';
var url = link.getAttribute(attrName);
translateLink(url, link);
});
}
function isLocalizationForm(node) {
if(node.querySelector('input[name="form_type"][value="localization"]')){
return true;
}
return false;
}
function getNodesUnder(el, show){
var n, a=[], walk=document.createTreeWalker(el, NodeFilter[show] , null, false);
while(n=walk.nextNode()) a.push(n);
return a;
}
function spreadCustomContents() {
var getFileName = function(url) {
if(!url || url == '') return;
url = url.substring(0, (url.indexOf("#") == -1) ? url.length : url.indexOf("#"));
url = url.substring(0, (url.indexOf("?") == -1) ? url.length : url.indexOf("?"));
url = url.substring(url.lastIndexOf("/") + 1, url.length);
url = url.replace(/(_[0-9]+x[0-9]*|_{width}x)?(_crop_(top|center|bottom|left|right))?(@[0-9]*x)?(\.progressive)?\.(jpe?g|png|gif|webp)/gi, "");
return '/' + url;
}
Object.entries(customContents).forEach(function(entry) {
//if(/<\/?[a-z][\s\S]*>/i.test(entry[0])) customContents_html[entry[0]] = entry[1];
//else if(/(http(s?):)?([/|.|\w|\s|-])*\.(?:jpe?g|gif|png)/.test(entry[0])) customContents_image[getFileName(entry[0])] = getFileName(entry[1]);
if(/(http(s?):)?([/|.|\w|\s|-])*\.(?:jpe?g|gif|png|webp)/.test(entry[0])) customContents_image[LyHelper.extractImageObject(entry[0]).file] = LyHelper.extractImageObject(entry[1]);
else customContents_text[entry[0]] = entry[1];
});
LyHelper.log('CUSTOM CONTENTS:', {customContents, customContents_text, customContents_image}, 'info')
}
// Polyfill for old browsers
function startMutationEvents() {
var target = document.querySelector('body');
target.addEventListener("DOMAttrModified", function (event) {
if(event.attrName === 'href' || event.attrName === 'action') {
if(event.prevValue != event.newValue) {
translateLink(event.newValue, event.target);
}
}
}, false);
target.addEventListener("DOMSubtreeModified", function (event) {
//findAndLocalizeLinks(event.target, false);
//matchCustomContent(event.target);
}, false);
}
function triggerCustomContents() {
var rootnode = document.getElementsByTagName('body')[0]
var walker = document.createTreeWalker(rootnode, NodeFilter.SHOW_ALL, null, false)
while (walker.nextNode()) {
//LyHelper.log(walker.currentNode.tagName)
translate(walker.currentNode, null);
}
}
function stopObserver() {
mutationObs.takeRecords();
mutationObs.disconnect();
}
//init();
return {
init: init,
triggerCustomContents: triggerCustomContents,
stopObserver: stopObserver,
}
};
}
/**
*
*
* @class Switcher
*/
class Switcher {
constructor(switcherSettings) {
LyHelper.log('Switcher instantiation');
this.lyForceOff = location.search.split('ly-force-off=')[1];
this.switcherElements = Array.prototype.slice.call(document.getElementsByClassName('ly-switcher-wrapper'));
}
init() {
// Initial cart.attributes update
LyHelper.shopifyAPI().getCart(function (cart) {
var currentLanguage = langify.locale.iso_code;
if(!cart.attributes.language || cart.attributes.language != currentLanguage) {
LyHelper.shopifyAPI().updateCartAttributes({"language": currentLanguage}, function(data){});
}
});
if(langify.locale.languages.length === 1) {
console.info(`%c LANGIFY INFO:\n`, 'font-weight: bold;', 'The language switcher is hidden! This can have one of the following reasons: \n * All additional languages are disabled in the "Langify -> Dashboard -> Languages" section. \n * If you are using different domains for your additional languages, ensure that "Cross Domain Links" are enabled inside the "Langify -> Dashboard -> Switcher Configurator -> Domains" section.');
return false;
}
this.setCustomPosition();
this.initCustomDropdown();
this.bindCountrySwitchers();
this.bindCurrencySwitchers();
this.bindLanguageSwitchers();
var event = new CustomEvent('langify.switcher.initialized', {
bubbles: true,
detail: {}
});
}
initCustomDropdown() {
// Custom Dropdown
var root = this;
var switcher = document.getElementsByClassName('ly-custom-dropdown-switcher');
for(var a = 0; a < switcher.length; a++) {
switcher[a].classList.toggle('ly-is-open');
var isOut = LyHelper.isOutOfViewport(switcher[a]);
if(isOut.bottom && isOut.inViewport) {
switcher[a].classList.add('ly-is-dropup');
var arrows = switcher[a].querySelectorAll('.ly-arrow');
for(var b = 0; b < arrows.length; b++) {
arrows[b].classList.add('ly-arrow-up');
}
}
switcher[a].classList.toggle('ly-is-open');
switcher[a].onclick = function(event) {
root.toggleSwitcherOpen(this);
}
}
document.addEventListener('click', function(event) {
if(!event.target.closest('.ly-custom-dropdown-switcher')) {
var openSwitchers = document.querySelectorAll('.ly-custom-dropdown-switcher.ly-is-open')
for(var i = 0; i < openSwitchers.length; i++) {
openSwitchers[i].classList.remove('ly-is-open');
}
}
});
}
bindLanguageSwitchers() {
var root = this;
var links = document.getElementsByClassName('ly-languages-switcher-link');
for(var l = 0; l < links.length; l++) {
links[l].addEventListener('click', function(event) {
event.preventDefault();
if(LyHelper.isDomainFeatureEnabled() && this.getAttribute('href') !== '#') {
var domain = this.getAttribute('href');
}
LyHelper.setCookie('ly-lang-selected', this.getAttribute('data-language-code'), 365);
LyHelper.localizationRedirect('language_code', this.getAttribute('data-language-code'), null, null, domain);
});
}
// Native select event handling
var nativeLangifySelects = document.querySelectorAll('select.ly-languages-switcher');
for(var i = 0; i < nativeLangifySelects.length; i++) {
nativeLangifySelects[i].onchange = function() {
event.preventDefault();
if(LyHelper.isDomainFeatureEnabled() && this[this.selectedIndex].getAttribute('data-domain') !== '#') {
var domain = this[this.selectedIndex].getAttribute('data-domain');
}
LyHelper.setCookie('ly-lang-selected', this[this.selectedIndex].getAttribute('data-language-code'), 365);
LyHelper.localizationRedirect('language_code', this[this.selectedIndex].getAttribute('data-language-code'), null, null, domain);
};
}
}
bindCountrySwitchers() {
var countrySelectSwitcher = document.querySelectorAll('select.ly-country-switcher');
var countryCustomSwitcher = document.querySelectorAll('div.ly-country-switcher a');
for(var i=0; i<countryCustomSwitcher.length; i++) {
countryCustomSwitcher[i].addEventListener('click', function(e) {
LyHelper.localizationRedirect('country_code', this.getAttribute('data-country-code'));
});
}
for(var a=0; a<countrySelectSwitcher.length; a++) {
countrySelectSwitcher[a].addEventListener('change', function(){
LyHelper.localizationRedirect('country_code', this[this.selectedIndex].getAttribute('data-country-code'));
});
}
}
bindCurrencySwitchers() {
var currencySelectSwitcher = document.querySelectorAll('select.ly-currency-switcher');
var currencyCustomSwitcher = document.querySelectorAll('div.ly-currency-switcher a');
for(var i=0; i<currencyCustomSwitcher.length; i++) {
currencyCustomSwitcher[i].addEventListener('click', function(e) {
LyHelper.changeCurrency(this.getAttribute('data-currency-code'));
});
}
for(var a=0; a<currencySelectSwitcher.length; a++) {
currencySelectSwitcher[a].addEventListener('change', function(){
LyHelper.changeCurrency(this[this.selectedIndex].getAttribute('data-currency-code'));
});
}
}
setCustomPosition() {
for(var i = 0; i < this.switcherElements.length; i++) {
if(this.lyForceOff !== 'true') {
if(langify.locale.languages.length <= 1) {
this.switcherElements[i].querySelector('.ly-languages-switcher').classList.add('ly-hide');
}
this.switcherElements[i].classList.remove('ly-hide');
}
if(this.switcherElements[i].classList.contains('ly-custom') && (document.getElementById('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint')) || document.getElementsByClassName('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint')).length )) {
var targets = Array.from(document.getElementsByClassName('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint')));
var target = document.getElementById('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint'));
if(target) targets.push(target);
for(var c = 0; c < targets.length; c++) {
var clone = this.switcherElements[i].cloneNode(true);
targets[c].innerHTML = clone.outerHTML;
}
this.switcherElements[i].classList.add('ly-hide');
}
}
}
toggleSwitcherOpen(e) {
var target = e;
if(!target.classList.contains('ly-is-open')) {
var openSwitchers = document.querySelectorAll('.ly-custom-dropdown-switcher.ly-is-open')
for(var i = 0; i < openSwitchers.length; i++) {
openSwitchers[i].classList.remove('ly-is-open');
}
target.getElementsByClassName('ly-custom-dropdown-current')[0].setAttribute('aria-expanded', 'true');
} else {
target.getElementsByClassName('ly-custom-dropdown-current')[0].setAttribute('aria-expanded', 'false');
}
target.classList.toggle('ly-is-open');
var isOut = LyHelper.isOutOfViewport(target);
if(isOut.bottom) {
target.classList.add('ly-is-dropup');
}
}
togglePopupOpen(e) {
e.closest('.ly-popup-switcher').classList.toggle('ly-is-open');
}
_getCountryCodeFromHreflang(language_code) {
var hreflangTags = document.querySelectorAll('link[hreflang]');
var languageDomains = {};
var countryCode = false;
for(var i = 0; i < hreflangTags.length; i++) {
if(hreflangTags[i].getAttribute('hreflang').indexOf(language_code) === 0) {
if(!languageDomains[hreflangTags[i].getAttribute('href')]) {
languageDomains[hreflangTags[i].getAttribute('href')] = hreflangTags[i];
}
}
}
if(Object.keys(languageDomains).length > 0) {
countryCode = Object.values(languageDomains)[0].getAttribute('hreflang');
countryCode = countryCode.split('-');
if(countryCode[1]) {
countryCode = countryCode[1]
} else {
}
}
return countryCode;
}
}
/**
*
*
* @class LanguageDetection
*/
class LanguageDetection {
constructor() {
this.hreflangList = null;
LyHelper.log('LanguageDetection instantiation');
}
init() {
if(LyHelper.inIframe()
|| window.location.pathname.indexOf('preview_key=') > 0) {
return null;
}
var currentLang = langify.locale.iso_code.toLowerCase();
//var localizationData = this.getLocalizationData();
this.hreflangList = this.getHreflangList();
var userLang = navigator.language || navigator.userLanguage;
userLang = userLang.toLowerCase();
var bot = /bot|google|baidu|bing|msn|duckduckbot|teoma|slurp|yandex|Chrome-Lighthouse/i.test(navigator.userAgent);
var blockedRoutes = window.lyBlockedRoutesList || [];
var blockedRoute = blockedRoutes.find(x => window.location.pathname.indexOf(x) === 0);
var is404 = document.getElementsByClassName('template-404').length;
if(LyHelper.getVal('redirected') === 'true') {
LyHelper.setCookie('ly-lang-selected', currentLang, 365);
var _href = window.location.href;
history.replaceState(null, '', _href.replace(/(\?|&)(redirected=true)/i, ''));
return null;
}
if(!is404 && !bot && !blockedRoute && LyHelper.getVal('ly-lang-detect') !== 'off') {
if(userLang && !LyHelper.getCookie('ly-lang-selected')) {
var hasMatch = this.matchHreflangList(userLang);
if(currentLang !== this._hreflangToLanguageCode(hasMatch)) {
if(hasMatch) {
this.redirectMatched(userLang);
} else if (!hasMatch && langify.settings.switcher.languageDetectionDefault) {
// Redirect to default language
this.redirectMatched(langify.settings.switcher.languageDetectionDefault);
}
}
} else {
if(LyHelper.getCookie('ly-lang-selected') && LyHelper.getCookie('ly-lang-selected') !== currentLang) {
// Only save cookie when the domain feature is active
if(LyHelper.isDomainFeatureEnabled()) {
LyHelper.setCookie('ly-lang-selected', currentLang, 365);
}
this.redirectMatched(LyHelper.getCookie('ly-lang-selected'));
}
}
}
this._geolocationAppSupport();
}
redirectMatched(userLang) {
var match = this.matchHreflangList(userLang);
if(match) {
this.redirectHref(match.href, match.lang);
}
return match;
}
matchHreflangList(userLang) {
var matchedHreflang = false;
var browserLang = userLang;
// Find candidates
var candidates = this.hreflangList.filter(item => item.lang === browserLang);
if(candidates.length === 0) {
browserLang = userLang.toLowerCase();
candidates = this.hreflangList.filter(item => item.lang.toLowerCase().indexOf(browserLang) === 0);
}
if(candidates.length === 0) {
browserLang = userLang.toLowerCase().substring(0, 2);
candidates = this.hreflangList.filter(item => item.lang.toLowerCase().indexOf(browserLang) === 0);
}
// Handle candidates
if(candidates.length === 1) {
return({href: candidates[0].href, lang: browserLang});
}
else if(candidates.length > 1) {
var preferedCandidate = candidates.find(item => item.href.indexOf(window.location.host) >= 0)
if(preferedCandidate) {
return({href: preferedCandidate.href, lang: browserLang});
} else {
return({href: candidates[0].href, lang: browserLang});
}
}
return false;
}
redirectHref(href, userLang) {
var queryString = window.location.search;
var url = href.split('?')[0];
if(queryString === '') {
queryString = '?redirected=true';
} else {
queryString += '&redirected=true';
}
window.location.replace(url + queryString);
}
getHreflangList() {
var hreflangTags = document.querySelectorAll('link[hreflang]');
var hreflangList = [];
var countryCode = false;
// Cross Domain Links option
if(LyHelper.isDomainFeatureEnabled()) {
for(var i = 0; i < langify.locale.languages.length; i++) {
hreflangList.push({
href: 'https://' + langify.locale.languages[i].domain + window.location.pathname + window.location.search + window.location.hash,
lang: langify.locale.languages[i].iso_code,
});
}
}
for(var i = 0; i < hreflangTags.length; i++) {
var hreflang = hreflangTags[i].getAttribute('hreflang').toLowerCase();
hreflang = hreflang.replace('zh-hans', 'zh-cn').replace('zh-hant', 'zh-tw'); // Chinese special cases
hreflangList.push({
href: hreflangTags[i].getAttribute('href'),
lang: hreflang
});
}
return hreflangList;
}
_langToHreflang(userLang) {
var hreflang = '';
this.hreflangList.map(function(item) {
if(item.lang === userLang) {
hreflang = userLang;
}
});
if(hreflang === '') {
this.hreflangList.map(function(item) {
var browserLang = userLang.toLowerCase();
if(item.lang.toLowerCase().indexOf(browserLang) === 0) {
hreflang = browserLang;
}
else if(item.lang.toLowerCase().indexOf(browserLang.substring(0, 2)) === 0) {
hreflang = browserLang.substring(0, 2);
}
});
}
return hreflang || userLang;
}
_hreflangToLanguageCode(hreflangTag) {
if(!hreflangTag || !hreflangTag.lang) return false;
var languageCode = false;
langify.locale.languages.forEach(function(item) {
if(item.iso_code.toLowerCase() === hreflangTag.lang.toLowerCase()) {
languageCode = item.iso_code;
}
});
if(!languageCode) {
langify.locale.languages.forEach(function(item) {
if(item.iso_code.toLowerCase() === hreflangTag.lang.substring(0, 2).toLowerCase()) {
languageCode = item.iso_code;
}
});
}
return languageCode;
}
_geolocationAppSupport() {
var target = document.querySelector('body');
var config = { childList: true, subtree: true };
var geolocationObserver = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {
var target = mutation.target.getElementsByClassName('locale-bar__form');
if(target[0]) {
target[0].onsubmit = function() {
var locale_code = target[0].elements['locale_code'].value;
var selector = target[0].getElementsByClassName('locale-bar__selector');
if(selector.length >= 1) {
locale_code = selector[0].options[selector[0].selectedIndex].value;
}
LyHelper.setCookie('ly-lang-selected', locale_code, 365);
};
}
var selectors = mutation.target.getElementsByClassName('locale-selectors__selector');
if(selectors.length > 0) {
for(var selector of selectors) {
if(selector.getAttribute('name') === 'locale_code') {
selector.onchange = function() {
var locale_code = selector.options[selector.selectedIndex].value;
LyHelper.setCookie('ly-lang-selected', locale_code, 365);
};
}
}
}
}
});
});
geolocationObserver.observe(target, config);
setTimeout(function() {
geolocationObserver.disconnect();
}, 10000);
}
}
/**
*
*
* @class Recommendation
*/
class Recommendation extends LanguageDetection {
constructor() {
super();
LyHelper.log('Recommendation instantiation');
}
init() {
this.hreflangList = this.getHreflangList();
var userLang = navigator.language || navigator.userLanguage;
userLang = userLang.toLowerCase();
var recommendation = this.matchHreflangList(userLang);
var recommendationLanguageCode = this._hreflangToLanguageCode(recommendation);
if(recommendationLanguageCode && recommendationLanguageCode !== langify.locale.iso_code && !LyHelper.getCookie('ly-lang-selected')) {
this.recommended_language_code = recommendationLanguageCode;
this.recommended_country_code = null;
this.recommended_currency_code = null;
this._translateStrings(recommendationLanguageCode);
this._bindings();
} else {
return false;
}
}
_translateStrings(languageCode) {
var recommendationElement = document.querySelectorAll('.ly-recommendation')[0];
var strings = langify.settings.switcher.recommendation_strings[languageCode];
var recommendationStr = 'Looks like your browser is set to [[language]]. Change the language?';
var buttonStr = 'Change';
var matchedLanguageCode = this._langToHreflang(languageCode).toLowerCase();
var languageStr = langify.settings.switcher.languages.find(x => x.iso_code.toLowerCase() === matchedLanguageCode) ? langify.settings.switcher.languages.find(x => x.iso_code.toLowerCase() === matchedLanguageCode).name : languageCode.toUpperCase();
if(strings) {
recommendationStr = strings.recommendation ? strings.recommendation : recommendationStr;
buttonStr = strings.button ? strings.button : buttonStr;
languageStr = strings.language ? strings.language : languageStr;
}
var newCode = recommendationElement.innerHTML;
newCode = newCode.replaceAll('[[recommendation]]', recommendationStr).replaceAll('[[button]]', buttonStr).replaceAll('[[language]]', languageStr);
recommendationElement.innerHTML = newCode;
}
_bindings() {
var _this = this;
var lyForceOff = location.search.split('ly-force-off=')[1];
var recommendationElement = document.querySelectorAll('.ly-recommendation')[0];
var form = recommendationElement.querySelectorAll('.ly-recommendation-form')[0];
var links = recommendationElement.getElementsByClassName('ly-custom-dropdown-list-element');
var customDropdown = recommendationElement.querySelectorAll('.ly-custom-dropdown-switcher');
var nativeSelects = recommendationElement.getElementsByClassName('ly-native-select');
form.addEventListener('submit', function(e) {
e.preventDefault();
if(_this.recommended_country_code || _this.recommended_currency_code) {
// When a country or currency is involved, use old redirection
var additionalFields = [];
if(_this.recommended_country_code) {
additionalFields.push({
name: 'country_code',
value: _this.recommended_country_code
});
}
if(_this.recommended_currency_code) {
additionalFields.push({
name: 'currency_code',
value: _this.recommended_currency_code
});
}
LyHelper.setCookie('ly-lang-selected', _this.recommended_language_code, 365);
LyHelper.localizationRedirect('language_code', _this.recommended_language_code, additionalFields);
} else {
//...or use new hreflang redirection
_this.redirectMatched(_this.recommended_language_code);
}
});
// Overwrite switchers
for(var l = 0; l < links.length; l++) {
links[l].addEventListener('click', function(event) {
event.preventDefault();
// When clicked from within a custom dropdown
var parentCustomDropdown = event.currentTarget.closest('.ly-custom-dropdown-switcher');
if(parentCustomDropdown) {
_this._selectCustomDropdownEntry(parentCustomDropdown, this);
} else {
_this.recommended_language_code = this.getAttribute('data-language-code');
}
});
}
for(var i = 0; i < nativeSelects.length; i++) {
nativeSelects[i].onchange = _this._selectNativeDropdownEntry.bind(this);
if(nativeSelects[i].classList.contains('ly-languages-switcher')) {
nativeSelects[i].value = _this.recommended_language_code;
}
}
for(var i = 0; i < customDropdown.length; i++) {
if(recommendationElement.className.indexOf('bottom') > -1) {
customDropdown[i].classList.add('ly-is-dropup');
}
if(customDropdown[i].classList.contains('ly-languages-switcher')) {
_this._selectCustomDropdownEntry(customDropdown[i], customDropdown[i].querySelector('.ly-custom-dropdown-list a[data-language-code="'+ _this.recommended_language_code +'"]'));
}
}
if(!lyForceOff) {
recommendationElement.classList.add('ly-is-open');
}
}
_selectNativeDropdownEntry(event) {
event.preventDefault();
var element = event.currentTarget;
var _this = this;
if(element[element.selectedIndex].hasAttribute('data-language-code')) {
_this.recommended_language_code = element[element.selectedIndex].getAttribute('data-language-code');
}
if(element[element.selectedIndex].hasAttribute('data-country-code')) {
_this.recommended_country_code = element[element.selectedIndex].getAttribute('data-country-code');
}
if(element[element.selectedIndex].hasAttribute('data-currency-code')) {
_this.recommended_currency_code = element[element.selectedIndex].getAttribute('data-currency-code');
}
}
_selectCustomDropdownEntry(element, entry) {
if(!entry) return;
var _this = this;
var currentElem = element.querySelector('.ly-custom-dropdown-current');
var currentIcon = currentElem.querySelector('.ly-icon');
var currentLabel = currentElem.querySelector('span');
var valueToSelect = '';
if(entry.hasAttribute('data-language-code')) {
_this.recommended_language_code = entry.getAttribute('data-language-code');
valueToSelect = _this.recommended_language_code;
}
if(entry.hasAttribute('data-country-code')) {
_this.recommended_country_code = entry.getAttribute('data-country-code');
valueToSelect = _this.recommended_country_code;
}
if(entry.hasAttribute('data-currency-code')) {
_this.recommended_currency_code = entry.getAttribute('data-currency-code');
valueToSelect = _this.recommended_currency_code;
}
if(entry.hasAttribute('data-country-code') && entry.hasAttribute('data-currency-code')) {
valueToSelect = _this.recommended_country_code + '-' + _this.recommended_currency_code;
}
if(element.querySelector('.ly-custom-dropdown-list li.current')) {
element.querySelector('.ly-custom-dropdown-list li.current').classList.remove('current');
element.querySelector('.ly-custom-dropdown-list li[key="'+ valueToSelect +'"]').classList.add('current');
}
if(element.querySelector('.ly-custom-dropdown-list li.current span')) currentLabel.innerHTML = element.querySelector('.ly-custom-dropdown-list li.current span').innerHTML;
if(element.querySelector('.ly-custom-dropdown-list li.current .ly-icon')) currentIcon.classList = element.querySelector('.ly-custom-dropdown-list li.current .ly-icon').classList;
}
toggleOpen(e) {
e.closest('.ly-recommendation').classList.toggle('ly-is-open');
if(!e.closest('.ly-recommendation').classList.contains('ly-is-open')) {
LyHelper.setCookie('ly-lang-selected', this.recommended_language_code, 365);
}
}
}
/**
*
*
* @class Langify
*/
class Langify {
constructor(settings, locale) {
LyHelper.log('Langify instantiation')
var translationObserver = new TranslationObserver().init();
langify.helper = new LyHelper();
LyHelper.log(langify.helper);
var lyForceOff = location.search.split('ly-force-off=')[1];
if(lyForceOff === 'true') {
document.getElementById('preview-bar-iframe').classList.add('ly-hide');
return false;
}
if(settings.theme && ((settings.theme.loadJquery && settings.theme.loadJquery === true) || typeof settings.theme.loadJquery === 'undefined')) {
if(typeof jQuery === 'undefined') {
LyHelper.loadScript('//cdn.jsdelivr.net/jquery/1.9.1/jquery.min.js', function() {});
}
}
//document.addEventListener("DOMContentLoaded", function() {
langify.switcher = new Switcher();
langify.switcher.init();
if(settings.switcher) {
if(settings.switcher.recommendation && settings.switcher.recommendation_enabled) {
langify.recommendation = new Recommendation();
langify.recommendation.init();
} else {
if(settings.switcher.languageDetection) {
langify.languageDetection = new LanguageDetection();
langify.languageDetection.init();
}
}
}
//});
}
}
// Polyfills
(function(){var t;null==window.MutationObserver&&(t=function(){function t(t){this.callBack=t}return t.prototype.observe=function(t,n){return this.element=t,this.interval=setInterval((e=this,function(){var t;if((t=e.element.innerHTML)!==e.oldHtml)return e.oldHtml=t,e.callBack.apply(null)}),200);var e},t.prototype.disconnect=function(){return window.clearInterval(this.interval)},t}(),window.MutationObserver=t)}).call(this);
!function(){"use strict";if("object"==typeof window)if("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});else{var t=function(t){for(var e=window.document,o=i(e);o;)o=i(e=o.ownerDocument);return e}(),e=[],o=null,n=null;s.prototype.THROTTLE_TIMEOUT=100,s.prototype.POLL_INTERVAL=null,s.prototype.USE_MUTATION_OBSERVER=!0,s._setupCrossOriginUpdater=function(){return o||(o=function(t,o){n=t&&o?l(t,o):{top:0,bottom:0,left:0,right:0,width:0,height:0},e.forEach(function(t){t._checkForIntersections()})}),o},s._resetCrossOriginUpdater=function(){o=null,n=null},s.prototype.observe=function(t){if(!this._observationTargets.some(function(e){return e.element==t})){if(!t||1!=t.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:t,entry:null}),this._monitorIntersections(t.ownerDocument),this._checkForIntersections()}},s.prototype.unobserve=function(t){this._observationTargets=this._observationTargets.filter(function(e){return e.element!=t}),this._unmonitorIntersections(t.ownerDocument),0==this._observationTargets.length&&this._unregisterInstance()},s.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorAllIntersections(),this._unregisterInstance()},s.prototype.takeRecords=function(){var t=this._queuedEntries.slice();return this._queuedEntries=[],t},s.prototype._initThresholds=function(t){var e=t||[0];return Array.isArray(e)||(e=[e]),e.sort().filter(function(t,e,o){if("number"!=typeof t||isNaN(t)||t<0||t>1)throw new Error("threshold must be a number between 0 and 1 inclusively");return t!==o[e-1]})},s.prototype._parseRootMargin=function(t){var e=(t||"0px").split(/\s+/).map(function(t){var e=/^(-?\d*\.?\d+)(px|%)$/.exec(t);if(!e)throw new Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(e[1]),unit:e[2]}});return e[1]=e[1]||e[0],e[2]=e[2]||e[0],e[3]=e[3]||e[1],e},s.prototype._monitorIntersections=function(e){var o=e.defaultView;if(o&&-1==this._monitoringDocuments.indexOf(e)){var n=this._checkForIntersections,r=null,s=null;this.POLL_INTERVAL?r=o.setInterval(n,this.POLL_INTERVAL):(h(o,"resize",n,!0),h(e,"scroll",n,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in o&&(s=new o.MutationObserver(n)).observe(e,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),this._monitoringDocuments.push(e),this._monitoringUnsubscribes.push(function(){var t=e.defaultView;t&&(r&&t.clearInterval(r),c(t,"resize",n,!0)),c(e,"scroll",n,!0),s&&s.disconnect()});var u=this.root&&(this.root.ownerDocument||this.root)||t;if(e!=u){var a=i(e);a&&this._monitorIntersections(a.ownerDocument)}}},s.prototype._unmonitorIntersections=function(e){var o=this._monitoringDocuments.indexOf(e);if(-1!=o){var n=this.root&&(this.root.ownerDocument||this.root)||t;if(!this._observationTargets.some(function(t){var o=t.element.ownerDocument;if(o==e)return!0;for(;o&&o!=n;){var r=i(o);if((o=r&&r.ownerDocument)==e)return!0}return!1})){var r=this._monitoringUnsubscribes[o];if(this._monitoringDocuments.splice(o,1),this._monitoringUnsubscribes.splice(o,1),r(),e!=n){var s=i(e);s&&this._unmonitorIntersections(s.ownerDocument)}}}},s.prototype._unmonitorAllIntersections=function(){var t=this._monitoringUnsubscribes.slice(0);this._monitoringDocuments.length=0,this._monitoringUnsubscribes.length=0;for(var e=0;e<t.length;e++)t[e]()},s.prototype._checkForIntersections=function(){if(this.root||!o||n){var t=this._rootIsInDom(),e=t?this._getRootRect():{top:0,bottom:0,left:0,right:0,width:0,height:0};this._observationTargets.forEach(function(n){var i=n.element,s=u(i),h=this._rootContainsTarget(i),c=n.entry,a=t&&h&&this._computeTargetAndRootIntersection(i,s,e),l=null;this._rootContainsTarget(i)?o&&!this.root||(l=e):l={top:0,bottom:0,left:0,right:0,width:0,height:0};var f=n.entry=new r({time:window.performance&&performance.now&&performance.now(),target:i,boundingClientRect:s,rootBounds:l,intersectionRect:a});c?t&&h?this._hasCrossedThreshold(c,f)&&this._queuedEntries.push(f):c&&c.isIntersecting&&this._queuedEntries.push(f):this._queuedEntries.push(f)},this),this._queuedEntries.length&&this._callback(this.takeRecords(),this)}},s.prototype._computeTargetAndRootIntersection=function(e,i,r){if("none"!=window.getComputedStyle(e).display){for(var s,h,c,a,f,d,g,m,v=i,_=p(e),b=!1;!b&&_;){var w=null,y=1==_.nodeType?window.getComputedStyle(_):{};if("none"==y.display)return null;if(_==this.root||9==_.nodeType)if(b=!0,_==this.root||_==t)o&&!this.root?!n||0==n.width&&0==n.height?(_=null,w=null,v=null):w=n:w=r;else{var I=p(_),E=I&&u(I),T=I&&this._computeTargetAndRootIntersection(I,E,r);E&&T?(_=I,w=l(E,T)):(_=null,v=null)}else{var R=_.ownerDocument;_!=R.body&&_!=R.documentElement&&"visible"!=y.overflow&&(w=u(_))}if(w&&(s=w,h=v,c=void 0,a=void 0,f=void 0,d=void 0,g=void 0,m=void 0,c=Math.max(s.top,h.top),a=Math.min(s.bottom,h.bottom),f=Math.max(s.left,h.left),d=Math.min(s.right,h.right),m=a-c,v=(g=d-f)>=0&&m>=0&&{top:c,bottom:a,left:f,right:d,width:g,height:m}||null),!v)break;_=_&&p(_)}return v}},s.prototype._getRootRect=function(){var e;if(this.root&&!d(this.root))e=u(this.root);else{var o=d(this.root)?this.root:t,n=o.documentElement,i=o.body;e={top:0,left:0,right:n.clientWidth||i.clientWidth,width:n.clientWidth||i.clientWidth,bottom:n.clientHeight||i.clientHeight,height:n.clientHeight||i.clientHeight}}return this._expandRectByRootMargin(e)},s.prototype._expandRectByRootMargin=function(t){var e=this._rootMarginValues.map(function(e,o){return"px"==e.unit?e.value:e.value*(o%2?t.width:t.height)/100}),o={top:t.top-e[0],right:t.right+e[1],bottom:t.bottom+e[2],left:t.left-e[3]};return o.width=o.right-o.left,o.height=o.bottom-o.top,o},s.prototype._hasCrossedThreshold=function(t,e){var o=t&&t.isIntersecting?t.intersectionRatio||0:-1,n=e.isIntersecting?e.intersectionRatio||0:-1;if(o!==n)for(var i=0;i<this.thresholds.length;i++){var r=this.thresholds[i];if(r==o||r==n||r<o!=r<n)return!0}},s.prototype._rootIsInDom=function(){return!this.root||f(t,this.root)},s.prototype._rootContainsTarget=function(e){var o=this.root&&(this.root.ownerDocument||this.root)||t;return f(o,e)&&(!this.root||o==e.ownerDocument)},s.prototype._registerInstance=function(){e.indexOf(this)<0&&e.push(this)},s.prototype._unregisterInstance=function(){var t=e.indexOf(this);-1!=t&&e.splice(t,1)},window.IntersectionObserver=s,window.IntersectionObserverEntry=r}function i(t){try{return t.defaultView&&t.defaultView.frameElement||null}catch(t){return null}}function r(t){this.time=t.time,this.target=t.target,this.rootBounds=a(t.rootBounds),this.boundingClientRect=a(t.boundingClientRect),this.intersectionRect=a(t.intersectionRect||{top:0,bottom:0,left:0,right:0,width:0,height:0}),this.isIntersecting=!!t.intersectionRect;var e=this.boundingClientRect,o=e.width*e.height,n=this.intersectionRect,i=n.width*n.height;this.intersectionRatio=o?Number((i/o).toFixed(4)):this.isIntersecting?1:0}function s(t,e){var o,n,i,r=e||{};if("function"!=typeof t)throw new Error("callback must be a function");if(r.root&&1!=r.root.nodeType&&9!=r.root.nodeType)throw new Error("root must be a Document or Element");this._checkForIntersections=(o=this._checkForIntersections.bind(this),n=this.THROTTLE_TIMEOUT,i=null,function(){i||(i=setTimeout(function(){o(),i=null},n))}),this._callback=t,this._observationTargets=[],this._queuedEntries=[],this._rootMarginValues=this._parseRootMargin(r.rootMargin),this.thresholds=this._initThresholds(r.threshold),this.root=r.root||null,this.rootMargin=this._rootMarginValues.map(function(t){return t.value+t.unit}).join(" "),this._monitoringDocuments=[],this._monitoringUnsubscribes=[]}function h(t,e,o,n){"function"==typeof t.addEventListener?t.addEventListener(e,o,n||!1):"function"==typeof t.attachEvent&&t.attachEvent("on"+e,o)}function c(t,e,o,n){"function"==typeof t.removeEventListener?t.removeEventListener(e,o,n||!1):"function"==typeof t.detatchEvent&&t.detatchEvent("on"+e,o)}function u(t){var e;try{e=t.getBoundingClientRect()}catch(t){}return e?(e.width&&e.height||(e={top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.right-e.left,height:e.bottom-e.top}),e):{top:0,bottom:0,left:0,right:0,width:0,height:0}}function a(t){return!t||"x"in t?t:{top:t.top,y:t.top,bottom:t.bottom,left:t.left,x:t.left,right:t.right,width:t.width,height:t.height}}function l(t,e){var o=e.top-t.top,n=e.left-t.left;return{top:o,left:n,height:e.height,width:e.width,bottom:o+e.height,right:n+e.width}}function f(t,e){for(var o=e;o;){if(o==t)return!0;o=p(o)}return!1}function p(e){var o=e.parentNode;return 9==e.nodeType&&e!=t?i(e):(o&&o.assignedSlot&&(o=o.assignedSlot.parentNode),o&&11==o.nodeType&&o.host?o.host:o)}function d(t){return t&&9===t.nodeType}}();
!function(){if("function"==typeof window.CustomEvent)return!1;window.CustomEvent=function(n,t){t=t||{bubbles:!1,cancelable:!1,detail:null};var e=document.createEvent("CustomEvent");return e.initCustomEvent(n,t.bubbles,t.cancelable,t.detail),e}}();
var langify = window.langify || {};
var customContents = {};
var customContents_image = {};
var langifySettingsOverwrites = {};
var defaultSettings = {
debug: false, // BOOL : Enable/disable console logs
observe: true, // BOOL : Enable/disable the entire mutation observer (off switch)
observeLinks: false,
observeImages: true,
observeCustomContents: true,
maxMutations: 5,
timeout: 100, // INT : Milliseconds to wait after a mutation, before the next mutation event will be allowed for the element
linksBlacklist: [],
};
if(langify.settings) {
langifySettingsOverwrites = Object.assign({}, langify.settings);
langify.settings = Object.assign(defaultSettings, langify.settings);
} else {
langify.settings = defaultSettings;
}langify.settings = Object.assign(langify.settings, {"debug":false,"lazyload":false,"observe":true,"observeLinks":true,"observeImages":true,"observeCustomContents":true,"linksBlacklist":["\/zh"],"loadJquery":false,"nonStrict":false}, langifySettingsOverwrites);
langify.settings.theme = {"debug":false,"lazyload":false,"observe":true,"observeLinks":true,"observeImages":true,"observeCustomContents":true,"linksBlacklist":["\/zh"],"loadJquery":false,"nonStrict":false};
langify.settings.switcher = {"customCSS":"display:none","languageDetection":false,"languageDetectionDefault":"en","enableDefaultLanguage":false,"breakpoints":[{"key":0,"label":"0px","config":{"type":"custom","corner":"top_right","position":"fixed","show_flags":true,"rectangle_icons":true,"square_icons":false,"round_icons":false,"show_label":true,"show_custom_name":true,"show_name":false,"show_iso_code":false,"is_dark":false,"is_transparent":false,"is_dropup":false,"arrow_size":100,"arrow_width":1,"arrow_filled":false,"h_space":0,"v_space":0,"h_item_space":0,"v_item_space":0,"h_item_padding":0,"v_item_padding":0,"text_color":"#000","link_color":"#000","arrow_color":"#000","bg_color":"#fff","border_color":"#000","border_width":0,"border_radius":0,"fontsize":14,"recommendation_fontsize":14,"recommendation_border_width":0,"recommendation_border_radius":0,"recommendation_text_color":"#000","recommendation_link_color":"#000","recommendation_button_bg_color":"#999","recommendation_button_text_color":"#fff","recommendation_bg_color":"#fff","recommendation_border_color":"#000","show_currency_selector":false,"currency_switcher_enabled":false,"country_switcher_enabled":false,"switcherLabel":"show_custom_name","switcherIcons":"rectangle_icons"}},{"key":1000,"label":"1000px","config":{"type":"custom","corner":"top_right","position":"custom","show_flags":true,"rectangle_icons":false,"square_icons":false,"round_icons":true,"show_label":true,"show_custom_name":true,"show_name":false,"show_iso_code":false,"is_dark":false,"is_transparent":true,"is_dropup":false,"arrow_size":0,"arrow_width":1,"arrow_filled":false,"h_space":0,"v_space":0,"h_item_space":-14,"v_item_space":0,"h_item_padding":0,"v_item_padding":0,"text_color":"#a05e5e","link_color":"#000","arrow_color":"#000","bg_color":"#fff","border_color":"#000","border_width":0,"border_radius":0,"fontsize":15,"recommendation_fontsize":14,"recommendation_border_width":0,"recommendation_border_radius":0,"recommendation_text_color":"#000","recommendation_link_color":"#000","recommendation_button_bg_color":"#999","recommendation_button_text_color":"#fff","recommendation_bg_color":"#fff","recommendation_border_color":"#000","show_currency_selector":false,"currency_switcher_enabled":false,"country_switcher_enabled":false,"switcherLabel":"show_custom_name","switcherIcons":"round_icons","no_icons":true,"links_color":"#d0021b"}}],"languages":[{"iso_code":"en","root_url":"\/","name":"English","primary":true,"domain":"mflorist.hk","published":true,"custom_name":"EN"},{"iso_code":"zh-TW","root_url":"\/zh-TW","name":"Chinese (Traditional)","primary":false,"domain":false,"published":true,"custom_name":"中文"}],"recommendation_enabled":false,"recommendation_type":"popup","recommendation_switcher_key":-1,"recommendation_strings":{},"recommendation":{"recommendation_backdrop_show":true,"recommendation_corner":"center_center","recommendation_banner_corner":"top","recommendation_fontsize":14,"recommendation_border_width":0,"recommendation_border_radius":0,"recommendation_text_color":"#000","recommendation_link_color":"#000","recommendation_button_bg_color":"#999","recommendation_button_text_color":"#fff","recommendation_bg_color":"#fff","recommendation_border_color":"#000"}};
langify.locale = langify.locale || {
primary: true,
iso_code: "en",
root_url: "\/",
language_id: "ly175153",
shop_url: "https:\/\/mflorist.hk",
domain_feature_enabled: null,
languages: [{
iso_code: "en",
root_url: "\/",
domain: null,
},{
iso_code: "zh-TW",
root_url: "\/zh",
domain: null,
},],};
// Disable link correction ALWAYS on languages with mapped domains
if(langify.locale.root_url == '/') {
langify.settings.observeLinks = false;
}
window.addEventListener('DOMContentLoaded', function() {
langify.helper = new LyHelper();
// Custom Contents Section
// Images Section
var langifyInstance = new Langify(langify.settings, langify.locale);
});
</script>
<div data-breakpoint="0" class="ly-switcher-wrapper ly-breakpoint-1 fixed top_right ly-hide" style="font-size: 14px; margin: 0px 0px; "><div aria-label="Selected language: English" aria-description="Language selector" data-dropup="false" onclick="langify.switcher.toggleSwitcherOpen(this)" class="ly-languages-switcher ly-custom-dropdown-switcher ly-bright-theme" style=" margin: 0px 0px;">
<span role="button" aria-expanded="false" aria-controls="languagesSwitcherList-1" class="ly-custom-dropdown-current" style="background: #fff; color: #000; border-style: solid; border-width: 0px; border-radius: 0px; border-color: #000; padding: 0px 0px;"><i class="ly-icon ly-flag-icon ly-flag-icon-en"></i><span class="ly-custom-dropdown-current-inner ly-custom-dropdown-current-inner-text">EN</span>
<div class="ly-arrow ly-arrow-black stroke" style="vertical-align: middle; width: 14.0px; height: 14.0px;">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.0 14.0" height="14.0px" width="14.0px" style="position: absolute;">
<path d="M1 4.5 L7.0 10.5 L13.0 4.5" fill="transparent" stroke="#000" stroke-width="1px"/>
</svg>
</div>
</span>
<ul id="languagesSwitcherList-1" role="list" class="ly-custom-dropdown-list ly-is-open ly-bright-theme" style="background: #fff; color: #000; border-style: solid; border-width: 0px; border-radius: 0px; border-color: #000;"><li key="zh-TW" style="color: #000; margin: 0px 0px; padding: 0px 0px;" tabindex="-1">
<a class="ly-custom-dropdown-list-element ly-languages-switcher-link ly-bright-theme" href="#" data-language-code="zh-TW" data-ly-locked="true"><i class="ly-icon ly-flag-icon ly-flag-icon-zh-TW"></i><span class="ly-custom-dropdown-list-element-right">中文</span></a>
</li><li key="en" class="current" style="color: #000; margin: 0px 0px; padding: 0px 0px;" tabindex="-1">
<a class="ly-custom-dropdown-list-element ly-languages-switcher-link ly-bright-theme current_lang" href="#" data-language-code="en" data-ly-locked="true"><i class="ly-icon ly-flag-icon ly-flag-icon-en"></i><span class="ly-custom-dropdown-list-element-right">EN</span></a>
</li></ul>
</div></div>
<div data-breakpoint="1000" class="ly-switcher-wrapper ly-breakpoint-2 custom ly-custom ly-is-transparent ly-hide" style="font-size: 15px; "><div aria-label="Selected language: English" aria-description="Language selector" data-dropup="false" onclick="langify.switcher.toggleSwitcherOpen(this)" class="ly-languages-switcher ly-custom-dropdown-switcher ly-bright-theme ly-is-transparent" style=" margin: 0px -14px;">
<span role="button" aria-expanded="false" aria-controls="languagesSwitcherList-2" class="ly-custom-dropdown-current" style="color: #a05e5e; border-style: solid; border-width: 0px; border-radius: 0px; border-color: #000; padding: 0px 0px;"><i class="ly-icon ly-flag-icon ly-flag-icon-en ly-flag-rounded"></i><span class="ly-custom-dropdown-current-inner ly-custom-dropdown-current-inner-text">EN</span>
<div class="ly-arrow ly-arrow-black stroke" style="vertical-align: middle; width: 0.0px; height: 0.0px;">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0.0 0.0" height="0.0px" width="0.0px" style="position: absolute;">
<path d="M1 1.0 L0.0 0.0 L-1.0 1.0" fill="transparent" stroke="#a05e5e" stroke-width="1px"/>
</svg>
</div>
</span>
<ul id="languagesSwitcherList-2" role="list" class="ly-custom-dropdown-list ly-is-open ly-bright-theme" style="color: #a05e5e; border-style: solid; border-width: 0px; border-radius: 0px; border-color: #000;"><li key="zh-TW" style="color: #a05e5e; margin: 0px -14px; padding: 0px 0px;" tabindex="-1">
<a class="ly-custom-dropdown-list-element ly-languages-switcher-link ly-bright-theme" href="#" data-language-code="zh-TW" data-ly-locked="true"><i class="ly-icon ly-flag-icon ly-flag-icon-zh-TW ly-flag-rounded"></i><span class="ly-custom-dropdown-list-element-right">中文</span></a>
</li><li key="en" class="current" style="color: #a05e5e; margin: 0px -14px; padding: 0px 0px;" tabindex="-1">
<a class="ly-custom-dropdown-list-element ly-languages-switcher-link ly-bright-theme current_lang" href="#" data-language-code="en" data-ly-locked="true"><i class="ly-icon ly-flag-icon ly-flag-icon-en ly-flag-rounded"></i><span class="ly-custom-dropdown-list-element-right">EN</span></a>
</li></ul>
</div></div>
<style>.ly-languages-switcher ul > li[key="en"] {
order: -1 !important;
}
.ly-popup-modal .ly-popup-modal-content ul > li[key="en"],
.ly-languages-switcher.ly-links a[data-language-code="en"] {
order: 1 !important;
}.ly-languages-switcher ul > li[key="zh-TW"] {
order: -2 !important;
}
.ly-popup-modal .ly-popup-modal-content ul > li[key="zh-TW"],
.ly-languages-switcher.ly-links a[data-language-code="zh-TW"] {
order: 2 !important;
}
.ly-flag-icon-en { background-image: url('//mflorist.hk/cdn/shop/t/2/assets/ly-icon-en.svg?v=168749326791323067301657872257'); }
.ly-flag-icon-zh-TW { background-image: url('//mflorist.hk/cdn/shop/t/2/assets/ly-icon-zh-TW.svg?v=55070669892274659201657872257'); }
.ly-breakpoint-1 { display: none; }
@media (min-width:0px) and (max-width: 999px ) {
.ly-breakpoint-1 { display: inline-block; }
.ly-recommendation .ly-banner-content,
.ly-recommendation .ly-popup-modal-content {
font-size: 14px !important;
color: #000 !important;
background: #fff !important;
border-radius: 0px !important;
border-width: 0px !important;
border-color: #000 !important;
}
.ly-recommendation-form button[type="submit"] {
font-size: 14px !important;
color: #fff !important;
background: #999 !important;
}
}
.ly-breakpoint-1 .ly-flag-icon-en { background-image: url('//mflorist.hk/cdn/shop/t/2/assets/ly-icon-en.svg?v=168749326791323067301657872257') !important; }
.ly-breakpoint-1 .ly-flag-icon-zh-TW { background-image: url('//mflorist.hk/cdn/shop/t/2/assets/ly-icon-zh-TW.svg?v=55070669892274659201657872257') !important; }
.ly-breakpoint-2 { display: none; }
@media (min-width:1000px) {
.ly-breakpoint-2 { display: inline-block; }
.ly-recommendation .ly-banner-content,
.ly-recommendation .ly-popup-modal-content {
font-size: 14px !important;
color: #000 !important;
background: #fff !important;
border-radius: 0px !important;
border-width: 0px !important;
border-color: #000 !important;
}
.ly-recommendation-form button[type="submit"] {
font-size: 14px !important;
color: #fff !important;
background: #999 !important;
}
}
.ly-breakpoint-2 .ly-flag-icon-en { background-image: url('//mflorist.hk/cdn/shop/t/2/assets/ly-icon-en_1x1.svg?v=115769669583621851721657872257') !important; }
.ly-breakpoint-2 .ly-flag-icon-zh-TW { background-image: url('//mflorist.hk/cdn/shop/t/2/assets/ly-icon-zh-TW_1x1.svg?v=80770156098163592941657872257') !important; }
.ly-switcher-wrapper {
}
.ly-switcher-wrapper.fixed {
position: fixed;
z-index: 1000;
}
.ly-switcher-wrapper.absolute {
position: absolute;
z-index: 1000;
}
.ly-switcher-wrapper.fixed.top_left,
.ly-switcher-wrapper.absolute.top_left {
top: 0;
left: 0;
}
.ly-switcher-wrapper.fixed.top_right,
.ly-switcher-wrapper.absolute.top_right {
top: 0;
right: 0;
}
.ly-switcher-wrapper.fixed.bottom_left,
.ly-switcher-wrapper.absolute.bottom_left {
bottom: 0;
left: 0;
}
.ly-switcher-wrapper.fixed.bottom_right,
.ly-switcher-wrapper.absolute.bottom_right {
bottom: 0;
right: 0;
}
.ly-switcher-wrapper .shopify-currency-form {
display: inline-block;
}
.ly-currency-switcher {
font-size: 1em;
}
.ly-inner-text {
margin: 0 0.2em;
white-space: nowrap;
}
.ly-flag-icon {
background-size: contain;
background-position: 50%;
background-repeat: no-repeat;
position: relative;
display: inline-block;
width: 1.33333333em;
line-height: 1em;
}
.ly-flag-icon:before {
content: '';
display: inline-block;
}
.ly-flag-icon.ly-flag-squared {
width: 1em;
}
.ly-flag-icon.ly-flag-rounded {
width: 1em;
border-radius: 50%;
}
.ly-languages-switcher {
white-space: nowrap;
list-style-type: none;
display: flex;
font-size: 1em;
}
.ly-languages-switcher-link {
margin: 0 0.2em;
cursor: pointer;
white-space: nowrap;
text-decoration: none;
display: inline-block;
}
.ly-languages-switcher.ly-list {
margin: 0;
padding: 0;
display: block;
}
.ly-languages-switcher.ly-native-select {
}
.ly-icon {
margin: 0 0.2em;
}
.ly-arrow {
display: inline-block;
position: relative;
vertical-align: middle;
direction: ltr !important;
-webkit-transition: transform 0.25s;
-moz-transition: transform 0.25s;
transition: transform 0.25s;
margin: 0 0.2em;
}
.ly-custom-dropdown-switcher.ly-is-open .ly-arrow {
transform: rotate(180deg);
}
.ly-custom-dropdown-switcher.ly-arrow.ly-arrow-up {
transform: rotate(180deg);
}
.ly-custom-dropdown-switcher.ly-is-open .ly-arrow.ly-arrow-up {
transform: rotate(0deg);
}
.ly-custom-dropdown-switcher {
text-align: left;
display: inline-block;
position: relative;
user-select: none;
cursor: pointer;
}
.ly-custom-dropdown-current {
display: block;
vertical-align: middle;
}
.ly-custom-dropdown-current-inner {
display: inline-block;
vertical-align: middle;
}
.ly-custom-dropdown-current-inner-image {
margin-right: 0.25em;
}
.ly-custom-dropdown-current-inner-text {
margin: 0 0.2em;
}
.ly-custom-dropdown-list {
display: none !important;
list-style: none;
position: absolute;
left: 0;
padding: inherit !important;
padding: 0 !important;
margin: 0;
z-index: 99999;
text-align: left;
width: 100%;
font-size: 1em;
}
.ly-custom-dropdown-list-element {
color: inherit !important;
display: block;
}
.ly-custom-dropdown-list > li {
margin: 0 !important;
display: block;
}
.ly-custom-dropdown-list-element-left {
margin-right: 0.5em;
}
.ly-custom-dropdown-list-element-right {
text-align: left;
}
.ly-custom-dropdown-list-element-left,
.ly-custom-dropdown-list-element-right {
vertical-align: middle;
}
.ly-custom-dropdown-switcher .ly-languages-switcher-link {
margin: 0;
}
.ly-languages-switcher-dropdown {
display: inline-block;
}
.ly-languages-links-switcher {
display: inline-block;
}
.ly-languages-links-switcher > .ly-languages-link {
/*margin-right: 0.5em;*/
padding: inherit !important;
color: inherit !important;
}
.ly-custom-dropdown-list-element {
/*padding: inherit !important;*/
text-decoration: none;
}
.ly-is-uppercase {
text-transform: uppercase;
}
.ly-is-transparent.ly-links,
.ly-is-transparent.ly-list,
.ly-is-transparent.ly-currency-switcher,
.ly-is-transparent.ly-custom-dropdown-switcher,
.ly-is-transparent.ly-custom-dropdown-switcher .ly-custom-dropdown-list {
background: transparent !important;
}
.ly-arrow-up {
transform: rotateZ(180deg);
}
.ly-custom-dropdown-switcher .ly-custom-dropdown-list li.current{
display: none;
}
.ly-custom-dropdown-switcher.ly-is-open .ly-custom-dropdown-list {
display: flex !important;
min-width: 100%;
width: 100%;
flex-direction: column-reverse;
right: 0;
left: auto;
overflow: auto;
max-height: 350px;
max-height: 50vh;
}
.ly-is-dropup .ly-custom-dropdown-list {
bottom: 100%;
}
.ly-hide {
display: none !important;
}
body.ly-force-off #preview-bar-iframe,
body.ly-force-off .ly-languages-switcher {
display: none !important;
}
.ly-close {
position: absolute;
opacity: 0.3;
right: 0;
top: 0;
width: 3em;
height: 3em;
display: inline-block !important;
background: rbga(0,0,0,0);
padding: 1em;
}
.ly-close:hover {
opacity: 1;
}
.ly-close .inner {
transform: translateX(-50%);
position: relative;
width: 100%;
height: 100%;
display: inline-block;
}
.ly-close .inner:before, .ly-close .inner:after {
position: absolute;
left: 1em;
content: ' ';
height: 1em;
width: 2px;
background-color: #333;
}
.ly-close .inner:before {
transform: rotate(45deg);
}
.ly-close .inner:after {
transform: rotate(-45deg);
}
.ly-popup-switcher {}
.ly-popup-switcher .ly-popup-current {
cursor: pointer;
background: transparent;
}
.ly-popup-switcher .ly-popup-modal {
position: fixed;
z-index: 1000;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: none;
justify-content: center;
align-items: center;
}
.ly-popup-switcher.ly-is-open .ly-popup-modal {
display: flex;
}
.ly-popup-switcher .ly-popup-modal-backdrop {
position: fixed;
width: 100%;
height: 100%;
z-index: 0;
top: 0;
left: 0;
background:rgba(0, 0, 0, 0.38);
cursor: pointer;
}
.ly-popup-switcher .ly-popup-modal .ly-popup-modal-content {
padding: 1em;
position: absolute;
z-index: 1000;
}
.ly-popup-switcher .ly-popup-modal .ly-popup-modal-content ul {
padding: 0;
margin: 12px 0 0 0;
list-style: none;
display: flex;
flex-direction: column;
}
.ly-popup-switcher .ly-popup-modal .ly-popup-modal-content ul .ly-languages-switcher-link {
margin: 0;
border: solid 1px;
padding: 1em;
display: block;
min-width: 225px;
margin-top: 1em;
}
.ly-popup-switcher .ly-popup-modal .ly-popup-modal-content ul .ly-languages-switcher-link.current_lang {
display: none;
}
/* Recommendation */
.ly-recommendation {
display: none;
}
.ly-recommendation.ly-is-open {
display: inline-block;
}
.ly-recommendation form {
display: inline-block;
}
.ly-recommendation .ly-arrow,
.ly-arrow.recommendation {
display: none;
}
.ly-recommendation .ly-arrow.recommendation {
display: inline-block;
}
.ly-recommendation .ly-switcher-wrapper {
font-size: 1em !important;
}
.ly-recommendation .ly-popup-modal .ly-popup-switcher .ly-popup-modal .ly-popup-modal-backdrop {
display: none;
}
.ly-recommendation-form button[type="submit"] {
cursor: pointer;
}
/* Recommendation Banner */
.ly-recommendation .ly-banner {
position: fixed;
z-index: 100000;
width: 100%;
}
.ly-recommendation .ly-banner .ly-banner-content {
width: 100%;
padding: 1em 30px 1em 1em;
box-shadow: 0 0 20px rgba(0,0,0,.25);
}
.ly-recommendation .ly-banner.top {
top: 0;
}
.ly-recommendation .ly-banner.bottom {
bottom: 0;
}
.ly-recommendation .ly-banner .ly-banner-content .ly-switcher-wrapper {
position: relative !important;
margin: 0 !important;
display: inline-block !important;
}
.ly-recommendation .ly-banner .ly-recommendation-form button[type="submit"] {
margin-left: 10px;
}
/* Recommendation Popup */
.ly-recommendation .ly-popup-modal {
position: fixed;
z-index: 10000;
}
.ly-recommendation .ly-popup-modal .ly-switcher-wrapper {
position: relative !important;
margin: 0 !important;
display: inline-block !important;
}
.ly-recommendation .ly-popup-modal-backdrop {
position: fixed;
width: 100%;
height: 100%;
z-index: 1000;
top: 0;
left: 0;
background:rgba(0, 0, 0, 0.38);
}
.ly-recommendation .ly-popup-modal .ly-popup-modal-content {
padding: 1em 30px 1em 1em;
}
.ly-recommendation .ly-popup-modal .ly-popup-modal-content .ly-languages-switcher {
position: relative !important;
margin: 0 !important;
}
.ly-recommendation .ly-popup-modal .ly-popup-modal-content h3 {
margin: 0 2em 1em 0;
font-size: inherit;
position: relative;
}
.ly-recommendation .ly-popup-modal.top_left { top: 0; left: 0; margin-right: 0 !important; margin-bottom: 0 !important; padding-right: 0 !important; padding-bottom: 0 !important;}
.ly-recommendation .ly-popup-modal.top_center { top: 0; left: 50%; transform: translateX(-50%); margin-right: 0 !important; margin-bottom: 0 !important; margin-left: 0 !important; padding-right: 0 !important; padding-bottom: 0 !important; padding-left: 0 !important;}
.ly-recommendation .ly-popup-modal.top_right { top: 0; right: 0; margin-left: 0 !important; margin-bottom: 0 !important; padding-left: 0 !important; padding-bottom: 0 !important; }
.ly-recommendation .ly-popup-modal.center_center { top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); margin: 0 !important; padding: 0 !important; }
.ly-recommendation .ly-popup-modal.bottom_left { bottom: 0; left: 0; margin-right: 0 !important; margin-top: 0 !important; padding-right: 0 !important; padding-top: 0 !important; }
.ly-recommendation .ly-popup-modal.bottom_center { bottom: 0; left: 50%; transform: translateX(-50%); margin-right: 0 !important; margin-left: 0 !important; margin-top: 0 !important; padding-right: 0 !important; padding-left: 0 !important; padding-top: 0 !important; }
.ly-recommendation .ly-popup-modal.bottom_right { bottom: 0; right: 0; margin-left: 0 !important; margin-top: 0 !important; padding-left: 0 !important; padding-top: 0 !important; }
display:none
</style><!-- langify-v2-scripts-end --><style> h1 {font-size: 20px;} h2 {font-size: 19px;} h3 {font-size: 18px;} h4 {font-size: 17px;} h5 {font-size: 16px;} h6 {font-size: 15px;} @media (max-width: 767px) {h1 {font-size: 20px; } h2 {font-size: 19px; } h3 {font-size: 18px; } h4 {font-size: 17px; } h5 {font-size: 16px; } h6 {font-size: 15px; }} </style>
<div id="shopify-block-7555218208816688692" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: pop-init --><script type="text/javascript" id="pop-app-embed-init">
window.Pop = window.Pop || {};
window.Pop.embedded_version_enabled = true;
window.Pop.common = window.Pop.common || {};
window.Pop.common.shop = {
permanent_domain: 'mflorist.myshopify.com',
currency: "HKD",
money_format: "${{amount}}",
id: 54936535274
};
window.Pop.common.template = 'index';
window.Pop.common.cart = {};
window.Pop.global_config = {"asset_urls":{"loy":{},"rev":{},"pu":{"init_js":null},"widgets":{"init_js":"https:\/\/cdn.shopify.com\/s\/files\/1\/0194\/1736\/6592\/t\/1\/assets\/ba_widget_init.js?v=1704919191","modal_js":"https:\/\/cdn.shopify.com\/s\/files\/1\/0194\/1736\/6592\/t\/1\/assets\/ba_widget_modal.js?v=1704919193","modal_css":"https:\/\/cdn.shopify.com\/s\/files\/1\/0194\/1736\/6592\/t\/1\/assets\/ba_widget_modal.css?v=1654723622"},"forms":{},"global":{"helper_js":"https:\/\/cdn.shopify.com\/s\/files\/1\/0194\/1736\/6592\/t\/1\/assets\/ba_pop_tracking.js?v=1704919189"}},"proxy_paths":{"pop":"\/apps\/ba-pop","app_metrics":"\/apps\/ba-pop\/app_metrics","push_subscription":"\/apps\/ba-pop\/push"},"aat":["pop"],"pv":false,"sts":false,"bam":true,"batc":true,"base_money_format":"${{amount}}","online_store_version":2,"loy_js_api_enabled":false,"shop":{"id":54936535274,"name":"M FLORIST","domain":"mflorist.hk"}};
window.Pop.widgets_config = {"id":82127,"active":false,"frequency_limit_amount":2,"frequency_limit_time_unit":"days","background_image":{"position":"background","widget_background_preview_url":""},"initial_state":{"body":"Sign up and unlock your instant discount","title":"Get 10% off your order","cta_text":"Claim Discount","show_email":"true","action_text":"Saving...","footer_text":"You are signing up to receive communication via email and can unsubscribe at any time.","dismiss_text":"No thanks","email_placeholder":"Email Address","phone_placeholder":"Phone Number"},"success_state":{"body":"Thanks for subscribing. Copy your discount code and apply to your next order.","title":"Discount Unlocked 🎉","cta_text":"Continue shopping","cta_action":"dismiss","redirect_url":"","open_url_new_tab":"false"},"closed_state":{"action":"close_widget","font_size":"20","action_text":"GET 10% OFF","display_offset":"300","display_position":"left"},"error_state":{"submit_error":"Sorry, please try again later","invalid_email":"Please enter valid email address!","error_subscribing":"Error subscribing, try again later","already_registered":"You have already registered","invalid_phone_number":"Please enter valid phone number!"},"trigger":{"action":"on_timer","delay_in_seconds":"0"},"colors":{"link_color":"#4FC3F7","sticky_bar_bg":"#C62828","cta_font_color":"#fff","body_font_color":"#000","sticky_bar_text":"#fff","background_color":"#fff","error_text_color":"#ff2626","title_font_color":"#000","footer_font_color":"#bbb","dismiss_font_color":"#bbb","cta_background_color":"#000","sticky_coupon_bar_bg":"#286ef8","error_text_background":"","sticky_coupon_bar_text":"#fff"},"sticky_coupon_bar":{"enabled":"false","message":"Don't forget to use your code"},"display_style":{"font":"Arial","size":"regular","align":"center"},"dismissable":true,"has_background":true,"opt_in_channels":["email"],"rules":[],"widget_css":".powered_by_rivo{\n display: block;\n}\n.ba_widget_main_design {\n background: #fff;\n}\n.ba_widget_content{text-align: center}\n.ba_widget_parent{\n font-family: Arial;\n}\n.ba_widget_parent.background{\n background-image: url(\"https:\/\/d15d3imw3mjndz.cloudfront.net\/qsyia232hi7ydp2t8b73rb8aygpz\");\n}\n.ba_widget_left_content{\n}\n.ba_widget_right_content{\n}\n#ba_widget_cta_button:disabled{\n background: #000cc;\n}\n#ba_widget_cta_button{\n background: #000;\n color: #fff;\n}\n#ba_widget_cta_button:after {\n background: #000e0;\n}\n.ba_initial_state_title, .ba_success_state_title{\n color: #000;\n}\n.ba_initial_state_body, .ba_success_state_body{\n color: #000;\n}\n.ba_initial_state_dismiss_text{\n color: #bbb;\n}\n.ba_initial_state_footer_text, .ba_initial_state_sms_agreement{\n color: #bbb;\n}\n.ba_widget_error{\n color: #ff2626;\n background: ;\n}\n.ba_link_color{\n color: #4FC3F7;\n}\n","custom_css":null,"logo":null};
</script>
<!-- END app snippet -->
</div><div id="shopify-block-13019466082614940324" class="shopify-block shopify-app-block">
</div><div id="shopify-block-10111608272286102450" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: disable-checkout-until-slots-load-with-listener --><style>
.cart__ctas{ display: block !important }
.cart-notification__links .button.button--primary.button--full-width{ display: none !important }
</style>
<script>
var isHulkAppGetDetailsRequestListened = false;
var validCartForms = getvalidCartForms();
var xhrRequestExactMatch = null;
var xhrRequestPartialMatch = null;
var xhrRequestExactMatchTimeout = 500;
var xhrRequestPartialMatchTimeout = 500;
var fetchRequestExactMatch = null;
var fetchRequestPartialMatch = null;
var fetchRequestExactMatchTimeout = 500;
var fetchRequestPartialMatchimeout = 500;
var isVersion2Theme = false;
if(validCartForms.length && checkIsVersion2Theme(validCartForms)) {
isVersion2Theme = true;
}
function hulkappsCheckoutClick() {
return false;
}
function checkIsVersion2Theme(cartForms) {
var firstTwoCartForms = cartForms.slice(0, 2);
var isFormWithButton = false;
for (let cartForm of firstTwoCartForms) {
if (isCheckoutButtonFound(cartForm)) {
isFormWithButton = true;
}
}
if (isFormWithButton)
return false;
else {
if (getNextValidSubmitButton(firstTwoCartForms[firstTwoCartForms.length - 1])) {
return true;
}
return false;
}
}
function getNextValidSubmitButton(cartForm) {
if (!isCheckoutButtonFound(cartForm)) {
let nextSibling = cartForm.nextElementSibling;
let parentNode = cartForm.parentNode;
if (nextSibling) {
if (isCheckoutButtonFound(nextSibling))
return true;
else
return getNextValidSubmitButton(nextSibling);
}
else if (parentNode)
return getNextValidSubmitButton(parentNode);
else
return false;
}
else
return true;
}
function isCheckoutButtonFound(cartForm) {
var submitButtons = cartForm.querySelectorAll("button[type='submit'][name='checkout']");
var submitInputs = cartForm.querySelectorAll("input[type='submit'][name='checkout']");
if ((submitButtons && submitButtons.length) || (submitInputs && submitInputs.length))
return true;
else
return false;
}
function reLoadSlotPicker(request, requestType, url, timeOut) {
if(requestType === "exact" && url === request) {
isHulkAppGetDetailsRequestListened = false;
disableCheckout();
setTimeout(function(){disableCheckout();}, 10);
setTimeout(function(){if(typeof loadSlots !== 'undefined')loadSlots();}, timeOut);
}
else if(requestType === "partial" && url.indexOf(request) !== -1) {
isHulkAppGetDetailsRequestListened = false;
disableCheckout();
setTimeout(function(){disableCheckout();}, 10);
setTimeout(function(){if(typeof loadSlots !== 'undefined')loadSlots();}, timeOut);
}
}
function getvalidCartForms() {
let cartForms = [];
var formsInPage = document.querySelectorAll('form');
if(formsInPage) {
for(var i = 0; i < formsInPage.length; i++) {
if(
(formsInPage[i].method === 'post') &&
(formsInPage[i].action.endsWith('/cart') || formsInPage[i].action.endsWith('/cart/') || formsInPage[i].action.indexOf('/cart?') > -1)
) {
cartForms.push(formsInPage[i]);
}
}
}
return cartForms;
}
function isCartAction(url) {
return ["/cart/add.js","/cart/update.js","/cart/change.js","/cart/clear.js","/cart/add","/cart/update","/cart/change","/cart/clear",].includes(url)
}
function disableCheckout() {
//Polyfill for endsWith - starts
if (!String.prototype.endsWith) {
String.prototype.endsWith = function(search, this_len) {
if (this_len === undefined || this_len > this.length) {
this_len = this.length;
}
return this.substring(this_len - search.length, this_len) === search;
};
}
//Polyfill for endsWith - ends
if(validCartForms.length) {
if(isVersion2Theme) {
var checkoutButtonsInPage1 = document.querySelectorAll("button[name='checkout'][type='submit']");
var checkoutButtonsInPage2 = document.querySelectorAll("input[name='checkout'][type='submit']");
if (checkoutButtonsInPage1 && checkoutButtonsInPage1.length) {
checkoutButtonsInPage1[0].disabled = true;
if (checkoutButtonsInPage1.length > 1) { checkoutButtonsInPage1[1].disabled = true;}
}
if (checkoutButtonsInPage2 && checkoutButtonsInPage2.length) {
checkoutButtonsInPage2[0].disabled = true;
if (checkoutButtonsInPage2.length > 1) { checkoutButtonsInPage2[1].disabled = true;}
}
}
else {
var checkoutButton1 = validCartForms[0].querySelector("button[name='checkout'][type='submit']");
if(checkoutButton1) { checkoutButton1.disabled = true;}
else {
checkoutButton1 = validCartForms[0].querySelector("input[name='checkout'][type='submit']");
if(checkoutButton1){ checkoutButton1.disabled = true;}
}
if(validCartForms.length > 1) {
var checkoutButton2 = validCartForms[1].querySelector("button[name='checkout'][type='submit']");
if(checkoutButton2) { checkoutButton2.disabled = true;}
else {
checkoutButton2 = validCartForms[1].querySelector("input[name='checkout'][type='submit']");
if(checkoutButton2){ checkoutButton2.disabled = true;}
}
}
}
}
};
disableCheckout();
var open = window.XMLHttpRequest.prototype.open;
function openReplacement(method, url, async, user, password) { if(window && window.pickeasy && window.pickeasy.isLoggingEnabled) console.log('XHR', method, url)
this.addEventListener("load", function () {
if(typeof url === "string") { let splitURL = url.split("?");
if(splitURL && splitURL.length) {
if (isCartAction(splitURL[0])) { isHulkAppGetDetailsRequestListened = false;
disableCheckout();
setTimeout(function(){if(typeof loadSlots !== 'undefined')loadSlots();}, 500);
}
}
if(method === 'POST' && isHulkAppGetDetailsRequestListened === false && url.indexOf('get_cart_details') !== -1) { // Hulk app listener
isHulkAppGetDetailsRequestListened = true;
disableCheckout();
setTimeout(function(){disableCheckout();}, 10);
setTimeout(function(){if(typeof loadSlots !== 'undefined')loadSlots();}, 500);
}
if(xhrRequestExactMatch) { let xhrRequestExactSplits = xhrRequestExactMatch.split(",");
for(var x = 0; x < xhrRequestExactSplits.length; x++) { reLoadSlotPicker(xhrRequestExactSplits[x], "exact", url, xhrRequestExactMatchTimeout);}
}
if(xhrRequestPartialMatch) { let xhrRequestsPartialSplits = xhrRequestPartialMatch.split(",");
for(var x = 0; x < xhrRequestsPartialSplits.length; x++) { reLoadSlotPicker(xhrRequestsPartialSplits[x], "partial", url, xhrRequestPartialMatchTimeout);}
}
}
});
return open.apply(this, arguments);
}
window.XMLHttpRequest.prototype.open = openReplacement;
var oldFetch = fetch; // must be on the global scope
fetch = async function(url, options) { if(window && window.pickeasy && window.pickeasy.isLoggingEnabled) console.log('Fetch', url);
var promise = oldFetch(url, options);
await promise;
if(typeof url === "string") { let splitURL = url.split("?");
if(splitURL && splitURL.length) {
if (isCartAction(splitURL[0])) { isHulkAppGetDetailsRequestListened = false;
disableCheckout();
setTimeout(function(){if(typeof loadSlots !== 'undefined')loadSlots();}, 500);
}
}
if(fetchRequestExactMatch) { let fetchRequestsExactSplits = fetchRequestExactMatch.split(",");
for(var x = 0; x < fetchRequestsExactSplits.length; x++) { reLoadSlotPicker(fetchRequestsExactSplits[x], "exact", url, fetchRequestExactMatchTimeout);}
}
if(fetchRequestPartialMatch) { let fetchRequestsPartialSplits = fetchRequestPartialMatch.split(",");
for(var x = 0; x < fetchRequestsPartialSplits.length; x++) { reLoadSlotPicker(fetchRequestsPartialSplits[x], "partial", url, fetchRequestPartialMatchimeout);}
}
}
return promise;
}
</script><!-- END app snippet --><!-- BEGIN app snippet: additional-javascript-and-css --><style>
.pickup-location{
padding: 0px !important;
display: flex !important;
flex-wrap: wrap !important;
padding: 10px 10px 10px 10px !important;
}
.pickup-location > input[type=radio] {
margin: 2px 0px 10px 0px !important;
display: none !important;
}
.product-actions .order-slots{
display:none !important;}
.pickup-location > label{
margin-left: 5px !important;
width: 80% !important;
}
.pickup-location > label:last-child {
padding-left: 5px !important;
padding-top: 5px !important;
margin-left: 0px !important;
}
.order-slots input[type='radio']:after {
min-width: 15px;
height: 15px;
border-radius: 15px;
top: -1px;
left: -1px;
position: relative;
background-color: #d1d3d1;
content: '';
display: inline-block;
visibility: visible;
border: 0.5px solid white;
}
.order-slots input[type='radio']:checked:after {
min-width: 15px;
height: 15px;
border-radius: 15px;
top: -1px;
left: -1px;
position: relative;
background-color: #e0c2c0 !important;
content: '';
display: inline-block;
visibility: visible;
border: 0.5px solid white;
}
.pickup-location:has(input[type='radio']:checked){
background-color: #A05E5E
!important;
}
.order-pickup-locations::-webkit-scrollbar{
display: none !important;
}
.order-pickup-locations {
max-height: max-content
!important;
}
.pickup-location, input[name="pickup-location-option"]{
cursor: pointer;
}
.pickup-location label {
cursor: pointer;
}
.neo-popup {
position: relative !important;}
margin: 3px -28px !important
</style><!-- END app snippet -->
</div></body>
</html>