Alumiermd-matticlear-serum
Products
AlumierMD Matticlear Serum
ZO are only available through specialist clinics and require a phone consultation before purchase. Please submit your enquiry below and our skin specialist will be in touch to discuss the best products About Laser Hair Removal for Women your needs.
from AlumierMD is a lightweight serum that helps reduce shine and refine skin texture, giving your skin a smooth, matte finish.
Linseed extract and tripeptide-1 help to reduce the appearance of oily skin, while an innovative microparticle complex absorbs excess sebum to create an immediate mattifying effect.
AlumierMD Matticlear Serum is available in 30ml.
Enjoying the AlumierMD products? Why not try out the ?
Dye free
Paraben free
Sulfate free
Phthalate free
Animal cruelty free
Artificial fragrance free
Chemical sunscreen filter free
Twist pump left to open and right to close. Smooth 1-2 pumps over face twice daily after cleansing. Follow with Alumier MD moisturiser at night and sunscreen during the day.
Caution: For external use only. Avoid contact with eyes, eyelids and mucous membranes. Keep out of reach of children.
Cellulose Magnesium Silicate, Oil, Pumpkin Oil: This microparticle complex absorbs excess sebum and creates an immediate mattifying effect. Nigella and pumpkin seed oils balance skin moisture and prevent dryness.
Linseed Extract: Derived from concentrated flax seed ligans, linseed helps reduce shine and the appearance of oily skin.
Tripeptide-1: A tripeptide that strengthens and firms the skin. It also has been shown to improve the appearance of oily skin.
Full Ingredient List: WATER/AQUA/EAU, PROPANEDIOL, GLYCERIN, HYDROXYETHYL ACRYLATE/SODIUM ACRYLOYLDIMETHYL COPOLYMER, MAGNESIUM ALUMINUM SILICATE, BUTYLENE GLYCOL, LINUM USITATISSIMUM (LINSEED) SEED EXTRACT, NIGELLA SATIVA SEED OIL, EPILOBIUM ANGUSTIFOLIUM FLOWER/LEAF/STEM EXTRACT, ORTHOSIPHON STAMINEUS EXTRACT, HYDROXYETHYLCELLULOSE, CUCURBITA PEPO (PUMPKIN) SEED OIL, LEUCONOSTOC/RADISH ROOT FERMENT FILTRATE, ALLANTOIN, TRIPEPTIDE-1, DEXTRAN, SORBITAN ISOSTEARATE, POLYSORBATE 60, SILICA, DISODIUM EDTA, PHOSPHOLIPIDS, SODIUM METABISULFITE, ETHYLHEXYLGLYCERIN, PHENOXYETHANOL
Reviews
There are no yet.
You must be to post a review.
Related products
ZO Soothing Hydro Mist
ZO Peptide Facial Refining Concentrate
Intradermology Synergy6 SPF50
Vie Aesthetics Hyaluronic Acid Gold Eye Patches
No reviews
var hasJQuery = document.getElementById('yext-jquery');
var head = document.getElementsByTagName('head')[0];
if (hasJQuery === null)
var jQueryScript = document.createElement('script');
jQueryScript.type = 'text/javascript';
jQueryScript.src = '//sites.yext.com/static/jquery-1.12.4.min.js';
jQueryScript.id = 'yext-jquery';
var loaded = false;
jQueryScript.onload = jQueryScript.onreadystatechange = function() var state = this.readyState; if (!loaded && (!state ; head.appendChild(jQueryScript);
onJQuery(function() var hasYextFotorama = document.getElementById('yext-fotorama') !== null;
if (!hasYextFotorama) var fotorama = document.createElement("script"); fotorama.id = 'yext-fotorama'; fotorama.type = "text/javascript"; fotorama.src = "//sites.yext.com/static/fotorama-4.4.4.js"; head.appendChild(fotorama);
var script = document.createElement("script");
script.type = "text/javascript";
head.appendChild(script); script.text = 'yext.$(\u0022#yext-widget .js-yext-reviews.yext-widget-uuid-1b052c8b-446b-4c3a-ae1a-30e193ac3f82\u0022).ready(function() var $ = yext.$, $widget = $(\u0022#yext-widget .js-yext-reviews.yext-widget-uuid-1b052c8b-446b-4c3a-ae1a-30e193ac3f82\u0022), $buttonsWrapper = $widget.find(\u0022.yext-reviews-body\u0022).find(\u0022.yext-pagination\u0022), $buttons = $buttonsWrapper.find(\u0022.js-yext-pagination-button\u0022), $page = $widget.find(\u0022.yext-reviews-page\u0022), $popup = $widget.find(\u0022.popup-body\u0022), $popupButtonsWrapper = $popup.find(\u0022.yext-pagination\u0022), $popupButtons = $popupButtonsWrapper.find(\u0022.js-yext-pagination-button\u0022), $star = $widget.find(\u0022.yext-reviews-star\u0022); var paginationIndex = 0, size = 5, maxScore = 5, total = $widget.data(\u0022review-total\u0022), numPages = Math.ceil(total\/size), numLinks = Math.min(5, numPages); \/** * Wait for widget to load and then fire the \u0022yext-widget-loaded\u0022 event *\/ var waitForWidgetReady = function() setTimeout(function() if ($widget.is(\u0022:visible\u0022)) $widget.trigger(\u0022yext-widget-loaded\u0022); else waitForWidgetReady(); , 200); ; \/** * Update the pagination buttons based on the current page number *\/ var updatePaginationButtons = function($buttons) \/* Only show pagination buttons if there is more than one page. *\/ const $paginationSection = $buttons.parent(); if (numPages \u003e 1) const selectedButtonClasses = \u0022yext-bg-color-text yext-text-color-bg selected\u0022; $buttons .removeAttr(\u0022style\u0022) .hide() .removeClass(selectedButtonClasses); var offset = Math.min(numPages - numLinks, Math.max(0, Math.ceil(paginationIndex - numLinks\/2))); for (var i = offset; i \u003c offset \u002b numLinks; i\u002b\u002b) var $button = $buttons.eq(i); if (paginationIndex === i) $button.addClass(selectedButtonClasses); $button.show(); $(\u0022.js-yext-back\u0022).toggleClass(\u0022arrow-invisible\u0022, paginationIndex === 0); $(\u0022.js-yext-forward\u0022).toggleClass(\u0022arrow-invisible\u0022, paginationIndex === numPages - 1); $paginationSection.fadeIn(\u0022slow\u0022); else $paginationSection.hide(); ; \/* * Truncates reviews that are too long. Clicking a long review expands it. *\/ var handleLongReviews = function($widget) $widget.find(\u0022.js-review-message\u0022).each(function() var $self = $(this); var $reviewContent = $self.find(\u0022.review-content\u0022); var originalContent = $reviewContent.text(); var truncatedContent = originalContent.substr(0, 255); if (truncatedContent !== originalContent) $reviewContent.text(truncatedContent \u002b \u0022...\u0022); $reviewContent.css(\u0022cursor\u0022, \u0022pointer\u0022); $reviewContent.on(\u0022click\u0022, function() $reviewContent.text(originalContent); $reviewContent.css(\u0022cursor\u0022, \u0022\u0022); ); ); ; \/* * Bind forward\/back listeners for reviews. *\/ var bindMoveReviews = function($widget) $widget.on(\u0022click\u0022, \u0022.js-yext-back\u0022, function() if (paginationIndex === 0) return; paginationIndex--; updatePage(); ); $widget.on(\u0022click\u0022, \u0022.js-yext-forward\u0022, function() if (paginationIndex === numPages-1) return; paginationIndex\u002b\u002b; updatePage(); ); $widget.on(\u0022click\u0022, \u0022.js-yext-pagination-button\u0022, function() const clickedPageNumber = $(this).data(\u0022page-number\u0022); if (paginationIndex !== clickedPageNumber) paginationIndex = clickedPageNumber; updatePage(); ); ; \/* * Binds the popup navigation link *\/ var bindPopupNavigation = function() var $popupContent = $widget.find(\u0022.js-yext-reviews-popup\u0022); $widget.on(\u0022click\u0022, \u0022.js-yext-review-nav-popup\u0022, function() $popupContent.dialog( closeOnEscape: false, draggable: false, modal: true, resizable: false, title: \u0022Reviews\u0022, height: 550, width: 375, dialogClass: \u0022yext-widget-popup yext-reviews js-yext-reviews\u0022 ); ); ; \/** * Update stars based on its score stored in data tag. *\/ var updateStars = function() $(\u0022.js-stars\u0022).each(function() var $self = $(this); if ($self.hasClass(\u0022header-stars\u0022) \u0026\u0026 $self.html().length) return true; var score = $self.data(\u0022score\u0022); $self.empty(); for (var i = 1; i \u003c= Math.floor(score); i \u002b\u002b) $self.append($star.filter(\u0022.full\u0022).clone().show()); if (Math.floor(score) != Math.ceil(score)) $self.append($star.filter(\u0022.half\u0022).clone().show()); for (var i = Math.ceil(score); i \u003c maxScore; i \u002b\u002b) $self.append($star.filter(\u0022.empty\u0022).clone().show()); $self.find(\u0022\u003e:first-child\u0022).attr(\u0022alt\u0022, score \u002b \u0022 stars out of 5\u0022) ); ; \/** * Send cross-domain ajax call to fetch reviews in the new page. *\/ var updatePage = function() if (paginationIndex \u003e numPages - 1) return; $page.fadeOut(\u0022slow\u0022, function() var script = document.createElement(\u0022script\u0022); script.src = \u0022\/\/sites.yext.com\/reviews\/343050?callback=yext_render_reviews_343050\u0026\u0026pageNumber=\u0022\u002bpaginationIndex; var scriptParent = getScriptParentElement_(); scriptParent.appendChild(script); $buttonsWrapper.hide(); $popupButtonsWrapper.hide(); ); ; \/** * Gets the DOM element under which we should add new script elements. * How? Take the first head element, and if not found take doc.documentElement, * which always exists. * source: https:\/\/github.com\/google\/closure-library\/blob\/f1343d3b4f7673a2f2d829da635f8c4a331dd124\/closure\/goog\/net\/jsloader.js#L305 * * @return !Element The script parent element. * @private *\/ var getScriptParentElement_ = function() var headElements = document.getElementsByTagName(\u0022head\u0022); if (!headElements ; \/** * Ajax callback function to render reviews. * * @param html string callback html *\/ window.yext_render_reviews_ = function(html) $page .html(html) .fadeIn(\u0022slow\u0022); updateStars(); updatePaginationButtons($buttons); updatePaginationButtons($popupButtons); handleLongReviews($page); ; var bindPageButtons = function(page) bindMoveReviews(page); handleLongReviews(page); ; \/** Handle the initialization of the yext widget. *\/ waitForWidgetReady(); $widget.on(\u0022yext-widget-loaded\u0022, function() bindPageButtons($widget); bindPageButtons($popup); bindPopupNavigation(); updateStars(); updatePaginationButtons($buttons); updatePaginationButtons($popupButtons); ); ); ';
);
function onJQuery(cb)
if (!window.yext_jQuery) setTimeout(function() onJQuery(cb); , 100);
else cb();
(function()
function firePixel() var img = document.createElement("img"); img.setAttribute("src", "//us.yextevents.com/plpixel?pid=jLO3skWo0D&action=impression&businessids= &source=reviews"); img.style.display = "none"; img.setAttribute("width", "1"); img.setAttribute("height", "1"); img.setAttribute("alt", ""); document.getElementsByTagName("body")[0].appendChild(img);
firePixel();
)();