Alumiermd-retinol-resurfacing-serum-0-25
Products
AlumierMD Retinol Resurfacing Serum 0.25%
Alumier and ZO products are only available specialist clinics and require a phone before . Please submit your enquiry below and our skin specialist will be in touch to the best for your needs.
Resurfacing Serum 0.25% from is a pure potent retinol serum that dramatically the of fine lines, wrinkles, blemishes, and skin texture, while your skin tone.
Cutting-edge microencapsulated retinol allows for gradual timed release overnight. By encapsulating the retinol and adding soothing and hydrating ingredients such as niacinamide, honey, and sodium hyaluronate, maximal results can be in .
AlumierMD Retinol Resurfacing Serum 0.25% is in 30ml.
Enjoying the AlumierMD ? Why not try out the ?
Dye free
free
free
free
Animal cruelty free
Artificial
filter free
Twist pump left to open and right to close. Apply 1-2 pumps to face and neck after at night. Follow with your favorite Alumier MD . If you are not currently using a retinol product, begin using once or twice a week and increase frequency to nightly as your skin adjusts.
Caution: Do not use if you are pregnant, or to become pregnant. Mild redness, peeling and are expected when using this . Use MD sunscreen during the day and limit sun exposure while using the and for a week following discontinuation. Anti-Wrinkle for Women use only. Avoid with eyes, eyelids and mucous membranes. Keep out of reach of .
Microencapsulated Retinol (0.25%): A vitamin A and antioxidant that reduces the of fine lines and wrinkles and texture and tone by skin, improving and increasing skin turnover. also skin by unclogging pores and skin tone by reducing the of hyperpigmentation. Encapsulated retinol allows for a slow into the skin overnight side-effects, so you can enjoy all the of with little to no irritation!
Niacinamide ( B3): Niacinamide increases and free fatty acids in the skin, which are key components of its lipid barrier. Along with in moisture and boosting hydration, it also skin, calms and increases tolerance to topical retinoids.
MATRIXYL™ Synthe’6™®: Derived from a naturally found in and laminins, MATRIXYL™ Synthe’6™ is a that the skin and reduces the appearance of fine lines and .
Tetrapeptide-14, Tea Extracts, Boswellia Serrate Extract, Honey: A combined with the properties of tea and the qualities of honey and .
Gluconolactone: A type of polyhydroxy acid that exfoliates more gently than an alpha hydroxy acid (e.g. glycolic and lactic acids). Gluconolactone is also a antioxidant with .
Sodium Hyaluronate: A form of hyaluronic acid that hydrates by 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.
Aloe: Extracted from the aloe vera plant, aloe amino acids, vitamins and .
Glutathione: An antioxidant produced naturally in our bodies, glutathione helps other antioxidants. levels with age.
Full Ingredient List: WATER/AQUA/EAU, HAMAMELIS VIRGINIANA (WITCH HAZEL) WATER, GLYCERIN, HYDROXYETHYL ACRYLATE/SODIUM ACRYLOYLDIMETHYL TAURATE COPOLYMER, ALCOHOL, ALOE BARBADENSIS LEAF JUICE, NIACINAMIDE, RETINOL, APRICOT KERNEL OIL PEG-6 ESTERS, ASPALATHUS LINEARIS (ROOIBOS) EXTRACT, (TEA) EXTRACT, TETRAPEPTIDE-14, PALMITOYL TRIPEPTIDE-38, SODIUM HYALURONATE, TOCOPHERYL ACETATE, OF CAPRYLIC/CAPRIC ACID, METHACRYLATE, BOSWELLIA EXTRACT, HONEY ( DE MIEL), PALMITATE, CYCLODEXTRIN, GLUTATHIONE, GLUCONOLACTONE, GLYCERYL LINOLEATE, CAPRYLIC/CAPRIC TRIGLYCERIDE, CYCLOPENTASILOXANE, POLYSORBATE 20, BUTYLENE GLYCOL, AMMONIUM ACRYLOYLDIMETHYLTAURATE/VP COPOLYMER, DIMETHICONE, POLYSILICONE-11, SODIUM HYDROXIDE, EDTA, DECYL GLUCOSIDE, CITRIC ACID, SORBATE, BHT, SODIUM BENZOATE, PHENOXYETHANOL
MATRIXYL™ Synthe’6™ is used under authorization of Inc.
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 b64-49f0-81c7-e33ad8f678be\u0022).ready(function() var $ = yext.$, $widget = $(\u0022#yext-widget .js-yext-reviews.yext-widget-uuid b64-49f0-81c7-e33ad8f678be\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();
)();