Products
AlumierMD Clarifying Serum (Acne Balancing)
Alumier and ZO products are only through specialist clinics and require a phone consultation before purchase. Please submit your below and our skin will be in touch to discuss the best products for your needs.
The Acne Balancing Serum from AlumierMD is an advanced, lightweight acne serum that penetrates pores to reduce acne, allows skin to heal, and prevents new pimples. An innovative encapsulated salicylic acid technology provides a slow even release into the skin, minimising irritation while extending effectiveness.
Oligopeptide-10 works synergistically with salicylic acid. Resveratrol and hinokitiol provide antioxidant protection. Sea whip, honey, aloe and boswellia calm the skin and moisturise. Niacinamide and sodium hyaluronate work together to maintain skin’s hydrolipid barrier.
Acne Balancing 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 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.
Encapsulated Salicylic Acid (2%): An innovative microencapsulated technology that provides controlled delivery of salicylic acid into the skin, which decreases its side effects and extends its effectiveness over time.
Salicylic Acid: Effectively exfoliates dead skin cells and controls acne pimples.
Hinokitiol (Beta-Thujaplicin): Extracted from the oils of the western red cedar tree, hinokitiol is a superpower ingredient that has soothing, anti-irritant, antioxidant and brightening . These properties allow hinokitiol to target multifactorial and blemishes. More than 100 scientific articles exist on the biological effects of hinokitiol.
Sea Whip: The active ingredient extract is derived from a marine organism known as sea whip, which is a renewable resource in the Caribbean Sea. Gorgonian extract has powerful anti-irritant and soothing properties.
Oligopeptide-10: This antimicrobial peptide complex works synergistically with salicylic acid in acne-prone skin.
Niacinamide ( B3): Niacinamide increases ceramide and free fatty acids in the skin, which are key components of its protective lipid barrier. Along with keeping in moisture and boosting hydration, it also calms redness and brightens skin.
Resveratrol: Derived either from grape seeds or the Japanese knotweed plant, this antioxidant protects the skin from free radical damage related to the sun and irritation.
Sodium Hyaluronate: A form of hyaluronic acid that by drawing water into the outer layers from deep within the skin. It holds up to 1,000 times its weight in water, making skin plumper, softer and smoother.
Boswellia Serrata Extract: Fragrant plant extracts with anti-irritant properties.
Honey: A naturally moisturising and Keravive Hair Treatment soothing antioxidant.
Full Ingredient List:
ACTIVE INGREDIENTS – SALICYLIC ACID (2%)
INACTIVE INGREDIENTS – WATER/AQUA/EAU, ISOSORBIDE, PROPANEDIOL, NIACINAMIDE, GLYCERYL CAPRATE, HINOKITIOL, SEA WHIP EXTRACT, ORYZA SATIVA (RICE) BRAN EXTRACT, BOSWELLIA SERRATA GUM EXTRACT, ALOE BARBADENSIS LEAF JUICE, ACID, CAPRYLYL GLYCOL, SODIUM HYALURONATE, GLYCERIN, RESVERATROL, OLIGOPEPTIDE-10, HONEY EXTRACT (EXTRAIT DE MIEL), AMMONIUM ACRYLOYLDIMETHYLTAURATE/VP COPOLYMER, ALLYL METHACRYLATES CROSSPOLYMER, XANTHAN GUM, CETYL HYDROXYETHYLCELLULOSE, PENTYLENE GLYCOL, ALLANTOIN, DISODIUM EDTA, POLYMETHYL METHACRYLATE, TRICAPRYLIN, SODIUM HYDROXIDE, XYLITOL, ETHYLHEXYLGLYCERIN.
Reviews
There are no reviews 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
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() ; 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-4ed6827e-afac-42d8-baaa-52389ec6afa8\u0022).ready(function() var $ = yext.$, $widget = $(\u0022#yext-widget .js-yext-reviews.yext-widget-uuid-4ed6827e-afac-42d8-baaa-52389ec6afa8\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();
)();