<!doctypehtml><html lang=en><title>
   Sign In
  </title><meta charset=utf-8><link rel="shortcut icon"href=/favicon.ico type=image/vnd.microsoft.icon><link href=https://www.instyle.com/img/favicons/favicon-32.png rel=icon sizes=32x32><meta content=IE=edge http-equiv=X-UA-Compatible><link href=https://www.instyle.com/img/favicons/favicon-57.png rel=apple-touch-icon><link href=https://www.instyle.com/img/favicons/favicon-57.png rel=apple-touch-icon sizes=57x57><link href=https://www.instyle.com/img/favicons/favicon-72.png rel=apple-touch-icon sizes=72x72><link href=https://www.instyle.com/img/favicons/favicon-76.png rel=apple-touch-icon sizes=76x76><link href=https://www.instyle.com/img/favicons/favicon-114.png rel=apple-touch-icon sizes=114x114><link href=https://www.instyle.com/img/favicons/favicon-120.png rel=apple-touch-icon sizes=120x120><link href=https://www.instyle.com/img/favicons/favicon-144.png rel=apple-touch-icon sizes=144x144><link href=https://www.instyle.com/img/favicons/favicon-152.png rel=apple-touch-icon sizes=152x152><link href=https://www.instyle.com/img/favicons/favicon-180.png rel=apple-touch-icon sizes=180x180><link href=/img/favicons/favicon-192.png rel=icon sizes=192x192><link href=/manifest.json rel=manifest><meta content=width=device-width,initial-scale=1 name=viewport><meta content="InStyle is the leading site for celebrity style. See expert fashion advice, star hairstyles, beauty tips, how-to videos and real-time red carpet coverage."name=description><link href=https://www.instyle.com/account/signin rel=canonical><meta content="Sign In | InStyle"property=og:title><meta content=article property=og:type><meta content=InStyle property=og:site_name><meta content=https://www.instyle.com/account/signin property=og:url><meta content="InStyle is the leading site for celebrity style. See expert fashion advice, star hairstyles, beauty tips, how-to videos and real-time red carpet coverage. "property=og:description><meta content=https://www.instyle.com/account/signin name=pinterest:url><meta content=summary_large_image name=twitter:card><meta content=https://www.instyle.com/account/signin name=twitter:url><meta content=https://www.instyle.com name=twitter:title><meta content="InStyle is the leading site for celebrity style. See expert fashion advice, star hairstyles, beauty tips, how-to videos and real-time red carpet coverage."name=twitter:description><meta content="InStyle is the leading site for celebrity style. See expert fashion advice, star hairstyles, beauty tips, how-to videos and real-time red carpet coverage."name=pinterest:description><meta content=https://www.instyle.com/img/misc/og-default.png name=pinterest:media><meta content=https://www.instyle.com/img/misc/og-default.png name=twitter:image><meta content=https://www.instyle.com/img/misc/og-default.png property=og:image><meta content=1846286175658788 property=fb:app_id><meta content=18938064984 property=fb:pages><script type=application/ld+json>
   [
      {
        "@context": "http://schema.org",
        "@type": "Organization",
        "name": "InStyle",
        "url": "https://www.instyle.com",
        "logo": {
          "@type": "ImageObject",
          "url": "https://www.instyle.com/img/logo.png",
          "width": 205,
          "height": 60
        },
        "sameAs": [
          "https://www.facebook.com/InStyle",
          "https://twitter.com/InStyle",
          "https://www.pinterest.com/instyle/",
          "https://www.instagram.com/instylemagazine/"
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "SiteNavigationElement",
        "name": [
          [
            "News",
            "Fashion",
            "Celebrity",
            "Beauty",
            "Hair",
            "Lifestyle",
            "Politics & Social Issues",
            "Pop Culture",
            "How To",
            "Shopping",
            "Video",
            "In The Mag"
          ]
        ],
        "url": [
          [
            "https://www.instyle.com/news",
            "https://www.instyle.com/fashion",
            "https://www.instyle.com/celebrity",
            "https://www.instyle.com/beauty",
            "https://www.instyle.com/hair",
            "https://www.instyle.com/lifestyle",
            "https://www.instyle.com/politics-social-issues",
            "https://www.instyle.com/reviews-coverage",
            "https://www.instyle.com/how-tos",
            "https://www.instyle.com/shopping",
            "https://www.instyle.com/videos",
            "https://www.instyle.com/in-the-mag"
          ]
        ]
      }
    ]
  </script><script>(function() {
          var ots = document.createElement('script');
          ots.async = false;
          ots.src = 'https://cdn.cookielaw.org/scripttemplates/otSDKStub.js';
          ots.charset = 'utf-8';
          ots.type = 'text/javascript';
          ots.setAttribute('data-domain-script', '6b95c48d-0ad2-4975-a4e9-34b8aa21e2f0');
          document.head.appendChild(ots);
        })();</script><script>// Arguments passed to this function:
        //  OneTrust ID (required): The OneTrust-assigned ID for this site.
        //  Environment (optional): Test environment is assumed. Specify 'prod' for production.
    
        var mdp = mdp || {};
    
        mdp.locinfo = (function () {
          const ckName = 'mdp.privacy.loc';
          let locCode = 0;
    
          const init = function () {
            const oTGeoSvc = 'https://geolocation.onetrust.com/cookieconsentpub/v1/geo/location/meredithOneTrustGeoloc';
            const re = new RegExp('(?:(?:^|.*;\\s*)' + ckName.replace(/\./g, '\\.') + '\\s*\\=\\s*([^;]*).*$)|^.*$');
            const ckVal = document.cookie.replace(re, '$1');
            if (ckVal.length) {
              locCode = Number(ckVal);
              if (locCode === 0) {
                hideCcpaLink();
              }
            } else {
              const jsonp = document.createElement('script');
              jsonp.setAttribute('src', oTGeoSvc);
              document.head.appendChild(jsonp);
            }
          }
    
          const jsonpHandler = function (res) {
            const euNtns = ['BE','BG','CZ','DK','DE','EE','IE','GR','ES','FR','IT','CY','LV','LT','LU','HU','MT','NL','AT','PL','PT','RO','SI','SK','FI','SE','GB','HR','LI','NO','IS'];
            const country = res.country;
            if (euNtns.indexOf(country) !== -1) {
              locCode = 1;
            } else if (country === 'US') {
              locCode = 2;
            }
    
            document.cookie = ckName + '=' + locCode;
            document.cookie = ckName + '=' + locCode + '; max-age=604800';
            document.cookie = ckName + '=' + locCode + '; max-age=604800; secure';
    
            if (locCode === 0) {
              hideCcpaLink();
            }
          };
    
          const hideCcpaLink = function () {
            const otParent = document.getElementsByClassName('ot-sdk-show-settings-parent');
            if (otParent.length !== 0) {
              otParent[0].style.display = 'none';
            }
          }
    
          const getValidationState = function () {
            const hash = window.document.location.hash;
            return locCode !== 0 && hash !== '#ccpa';
          };
    
          const checkIfInUS = function () {
            return locCode === 2;
          };
    
          return {
            init: init,
            jsonpHandler: jsonpHandler,
            getValidationState: getValidationState,
            hideCcpaLink: hideCcpaLink,
            checkIfInUS: checkIfInUS
          };
        }());
    
        mdp.locinfo.init();
    
        // OneTrust geo service JSONP callback. Must be in global scope.
        function meredithOneTrustGeoloc(res) {
          mdp.locinfo.jsonpHandler(res);
        };</script><script>function OptanonWrapper() { }</script><script id=universal-data-layer>(function setDataLayer(global) {
        function UniversalDataLayer(udl) {
          this._data = udl;
          this.get = function (key) {
            if (this._data[key] !== undefined) {
              return this._data[key];
            }
            
            return null;
          };
          this.set = function (key, value) {
            this._data[key] = value;
          }
          this.getAsync = function (key) {
            return new Promise(r => {
              if (this.get(key) !== undefined) {
                r(this.get(key));
              }
              r(null);
            });
          };
          this.setAsync = function (key, value) {
            return new Promise(r => {
              this._data[key] = value;
              r(this);
            });
          }
        }
        global.udl = new UniversalDataLayer({
      "affiliate_link_count": 0,
      "author": [],
      "channel": "",
      "category": "",
      "cms_id": "",
      "sub_category": "",
      "primary_image": "",
      "headline": "",
      "post_or_index": "index",
      "title": "",
      "last_updated_date": "",
      "nlp_sentiment_label": "",
      "nlp_sentiment_score": "",
      "nlp_sentiment_magnitude": "",
      "nlp_entities": "",
      "nlp_payload": "",
      "nlp_categories": "",
      "publish_date": "",
      "shown_on_platform": "own",
      "syndicated": "",
      "taxonomy_id": [],
      "uuid": "",
      "content_graph_id": "",
      "brand": "",
      "path": "",
      "url": "",
      "content_type": "accounts/signin",
      "created_date": ""
    });
      })(window)</script><script>function getQueryParam(paramName) {
        var query = window.location.search.substring(1);
        var params = query.split('&');
        for (var i = 0; i < params.length; i += 1) {
          var pair = params[i].split('=');
          if (pair[0] === paramName) {
            return pair[1];
          }
        }
        return false;
      };
      function removeURLParameter(url, param) {
        var urlParts = url.split('?');
        if (urlParts.length >= 2) {
          var prefix = "".concat(encodeURIComponent(param), "=");
          var params = urlParts[1].split(/[&;]/g);
          for (var i = params.length - 1; i >= 0; i -= 1) {
            if (params[i].lastIndexOf(prefix, 0) !== -1) {
              params.splice(i, 1);
            }
          }
          url = urlParts[0];
          if (params.length > 0) {
            url += "?".concat(params.join('&'));
          }
          return url;
        }
        return url;
      };
      function setCookie(cookieName, value, daysToExpire) {
        var expires = '';
        if (daysToExpire) {
          var date = new Date();
          date.setTime(date.getTime() + daysToExpire * 24 * 60 * 60 * 1000);
          expires = "; expires=".concat(date.toGMTString());
        }
        if (expires !== '') {
          document.cookie = "".concat(cookieName, "=").concat(value).concat(expires, "; path=/");
        }
        return true;
      };
      (function(){
        var hid = getQueryParam('hid');
        if (!hid) {
          return;
        }
        setCookie('hid', hid, 90);
        window.location.replace(removeURLParameter(window.location.href, 'hid'));
      })();</script><script>window.mdp = window.mdp || {};
      window.mdp.getCookieValue = function getCookieValue(name) {
        var cookie = document.cookie.match('(^|;)\\s*' + name + '\\s*=\\s*([^;]+)');
        return cookie ? decodeURIComponent(cookie.pop()) : '';
      }</script><script defer src=https://www.instyle.com/dist/main.js></script><script defer src=//native.sharethrough.com/assets/sfp.js></script><script>!function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics}};for(var t=0;t<analytics.methods.length;t++){var e=analytics.methods[t];analytics[e]=analytics.factory(e)}analytics.load=function(t){var e=document.createElement("script");e.async=!1;e.src=("https:"===document.location.protocol?"https://":"http://")+"cdn.segment.com/analytics.js/v1/"+t+"/analytics.min.js";document.head.appendChild(e)};analytics.SNIPPET_VERSION="4.0.0";
      analytics.load('cAULcB6CAxnO49GO0JKjLts8OfZqAK8d');
      }}();</script><script>window.ELEMENT_CLIENT_CONFIG = {
        brand_public_folder: null
      };</script><script>var _sf_async_config = _sf_async_config || {};
        /** CONFIGURATION START **/
        _sf_async_config.uid = 63768;
        _sf_async_config.domain = 'instyle.com';
        _sf_async_config.flickerControl = false;
        _sf_async_config.useCanonical = true;
        _sf_async_config.useCanonicalDomain = true;
        /** CONFIGURATION END **/</script><script async src=//static.chartbeat.com/js/chartbeat_mab.js></script><script data-brand-domain=https://www.instyle.com data-client-id=AjjW5ll0cBqmbnmSnO327stUgCRGgHQj data-domain=accounts.instyle.com data-nonce=randomStrings data-regsource=21023 data-social-client-id=AjjW5ll0cBqmbnmSnO327stUgCRGgHQj data-social-domain=accounts.instyle.com data-state=qwerty id=auth0config></script><link href=//tia.timeinc.net rel=dns-prefetch><link href=//imagesvc.meredithcorp.io rel=dns-prefetch><link href=//ape-asset-tag.timeinc.com rel=dns-prefetch><link href=//cdn.segment.com rel=dns-prefetch><link href=//subscription-assets.timeinc.com rel=dns-prefetch><link href=https://www.instyle.com/dist/style.css rel=stylesheet><script>var linkElement = document.querySelector("link[href='https://www.instyle.com/dist/style.css']");
          linkElement.onload = function(){
              var evt = new Event('global:blocking-css-loaded');
              window.dispatchEvent(evt);
          };</script><body class=layout--thin><div class=thinNavigation><div class=thinNavigation__wrapper><div class=thinNavigation__logo><a data-tracking-label="brand logo"class=full-logo data-action=primary-nav-logo href=https://www.instyle.com>  <svg style="enable-background:new 0 0 6632.1 1585.6;"viewbox="0 0 6632.1 1585.6"height=140px id=Layer_1 version=1.1 width=140px x=0px xml:space=preserve xmlns=http://www.w3.org/2000/svg xmlns:xlink=http://www.w3.org/1999/xlink y=0px><title>whitelogo</title><path d="M6012.9,598.7c179.4,0,337.9,75.4,364.4,209.9h-727.2C5678.6,672.1,5831.5,598.7,6012.9,598.7 M2352.6,1403.4 c390.9,0,649.8-146.8,649.8-409.3c0-358.3-468.4-360.4-723.2-372.6c-85.6-4.1-423.5-4.1-423.5-136.6 c0-130.4,254.8-177.3,425.6-177.3c252.7,0,454.1,77.5,568.3,165.1l118.2-165.1c-144.7-99.9-360.8-185.5-690.6-185.5 c-360.4-2-655.9,114.1-655.9,378.7c0,311.4,435.8,317.6,657.9,329.8c112.1,8.2,496.9-8.2,496.9,169.2c0,150.8-201.8,214-423.5,214 c-384.8,0-598.8-138.6-653.9-183.4l-120.3,183.4C1796.6,1368.7,2029,1403.4,2352.6,1403.4 M3462.7,1401.3 c114.1,0,281.3-42.8,281.3-42.8l-53-189.6c0,0-91.7,36.7-185.5,36.7c-89.7,0-120.3-22.4-120.3-97.8l-2-492.8h303.7V429.5h-303.7 V197.2H3161v232.4h-159V615h159v497.3c0,209.9,97.8,289,301.7,291.1V1401.3L3462.7,1401.3z M4371.7,1585.6l644.9-1156.1H4772 l-382.8,704.8l-368.5-704.8h-265l507.5,927l-132.9,229.1H4371.7L4371.7,1585.6z M5085.9,1368.7h226.2V30h-226.2V1368.7z M5648.5,989.6h983.6c-2-405.2-277.2-584.6-619.2-586.6c-364.8-2-609,201.8-609,499.4s220.1,499,609,499 c289.4-2,450-65.2,582.5-171.2l-116.2-152.9c-71.3,61.1-193.6,126.4-466.3,126.4C5858,1205.7,5676.6,1142.5,5648.5,989.6 M44.2,1366.7h227.1V30H44.2V1366.7L44.2,1366.7z M1269.1,1366.7H1530V798.4c-2-287.4-144.7-409.7-513.2-409.7 c-189.6,0-313.5,59.1-374.6,91.7v-67.3H395.5v953.5h254.8V716.9c22.4-20.4,163.1-106,356.3-106c220.1,0,265,61.1,265,262.9 L1269.1,1366.7z"></path></svg> </a></div><div class=thinNavigation__menuContainer><div class=accountPage__signin><span class=accountPage__signinText> Don't have an account? </span><a class=accountPage__link href=https://www.instyle.com/account/signup?regSource=21023&returnURL=https%3A%2F%2Fwww.instyle.com%2Fcelebrity%2Fellen-degeneres%2Fellen-degeneres-justin-bieber-hailey-children> Sign Up </a></div></div></div></div><div id=page-keyvals><div class=keyvals data-pinterest_multi_templates=gallery></div></div><div id=page-segment-values><div data-time_inc_application="front end"class=keyvals data-affiliate_link_count=0 data-content_author_name data-content_cms_category data-content_cms_id data-content_cms_sub_category data-content_cms_tags data-content_featured_image data-content_headline data-content_is_post=index data-content_modified_date data-content_nlp_categories data-content_nlp_entities data-content_nlp_sentiment_label data-content_nlp_sentiment_magnitude data-content_nlp_sentiment_score data-content_published_date data-content_shown_on_platform=own data-content_syndicated=false data-content_syndicated_brand data-content_syndicated_url data-content_type=accounts/signin data-karma_id data-karma_type=accounts/signin data-path data-referrer data-time_inc_brand=instyle.com data-title data-video_id data-video_version=v4></div></div><div data-brand-async=newsletter,featured-gallery,homepage,makeover data-brand-sync=pinterest-multi data-core-async=video,feed,gallery,gallery-test,add-product,add-recipe,swears,breadcrumbs,product-detail,docked-sharebar,gallery-view-all,gallery-everything-in,dropdown,autofill-content-container,expander,outbrain,font-size-slider,newsletter-signup-modal,vertical-gallery,search-results-form,embed-playbuzz,pinterest-board,pinterest-pin,topic-sub-nav,embed-facebook,embed-instagram,embed-twitter,build-a-meal,ecommerce-hub,content-loader,before-after,burst-text,bucket,progress-bar,amazon-price,image-zoom,embed-apester,glossary-header,embed-omnivirt,map-overlay,tabs,recirculation,share-new,circular-countdown,fancy-chart,navigation-test,filmstrip-slide,footer-test,topics-carousel,circular-carousel,category-page-videos,auto-advance,category-page-list-load-more,recipe-ratings,ugc-reviews,ugc-upload,recipe-reviews,recipe-reviews-sort,recipe-ingredients-new,recipe-instructions-new,recipe-nutrition,print-preview,faceted-search-filters,image-link,saga,saga-ribbon,slider,search-results,alert-banner,entity-summary,sticky-action-bar,faceted-search-widget,ugc-comments,project-ratings,ugc-photo-upload,button-pdf,buying-information,recirculation-toaster,social-stories,call-to-action,category-page-promo-entity,node-interactive-content,profile-management-page,tout-cards,entity-full,quick-registration,poll-template,embedded-auth,manage-push-notifications,sweepstakes-entry-page,selectable,sweepstakes-description,sweepstakes-confirmation,print-preview-new,feedback,entity-table-of-contents,video-transcript,audio,user-profile-management,add-swearby-story,gallery-right-rail-video data-core-sync=navigation,lazy-image,overlay,popup,line-clamp,gdpr,atg,auth,search-by-ingredient,user-auth,registration-login,eu-disable-links,newsletter-unsubscribe id=site-components></div><script src=https://cdn.auth0.com/js/auth0/9.11.2/auth0.min.js></script><script>// Auth0 Configs
    const auth0config = {
        clientId: 'AjjW5ll0cBqmbnmSnO327stUgCRGgHQj',
        domain: 'accounts.instyle.com',
        regsource: '21023',
        domain: 'accounts.instyle.com',
        socialClientId: 'AjjW5ll0cBqmbnmSnO327stUgCRGgHQj',
        socialDomain: 'accounts.instyle.com',
        brandDomain: 'https://www.instyle.com',
        database: 'atg-idp',
        customDomain: 'true' === 'true' ? true : false,
    }</script><script>const errorList = {
    Error: {
      description: 'Your password or email do not match. <a href="https://www.instyle.com/account/forgot-password" class="accountPage__link">Please try again or reset your password</a>',
      target: 'password',
    },
    enter_email: {
      description: 'Please enter your email',
      target: 'email'
    },
    all_password: {
      description: 'Please provide a password with 8 characters including 1 uppercase, 1 lowercase, and 1 number',
      target: 'password',
    },
    enter_password: {
      description: 'Please enter your password',
      target: 'password',
    },
    password_format: {
      description: 'Please provide your email address in the format yourname@example.com',
      target: 'password',
    },
    password_strength_error: {
      description: 'The chosen password is too weak',
      target: 'password',
    },
    PasswordStrengthError: {
      description: 'Password not strong enough',
      target: 'password',
    },
    password_dictionary_error: {
      description: 'The chosen password is too common',
      target: 'password',
    },
    invalid_password: {
      description: 'Password not valid',
      target: 'password',
    },
    Conflict: {
      description: 'Account with this email already exists.',
      target: 'email',
    },
    username_exists: {
      description: '',
      target: 'email',
    },
    invalid_signup: {
      description: 'Account with this email already exists.',
      target: 'email',
    },
    password_no_user_info_error: {
      description: 'The chosen password is based on user information',
      target: 'password',
    },
    unauthorized: {
      description: 'You cannot signup/signin for this application. User blocked.',
      target: 'email',
    },
    access_denied: {
      description: 'Wrong email or password',
      target: 'email',
    },
    mfa_invalid_code: {
      description: 'The multi-factor authentication (MFA) code provided by the user is invalid/expired.',
      target: 'password',
    },
    mfa_registration_required: {
      description: 'The administrator has required multi-factor authentication, but the user has not enrolled.',
      target: 'password',
    },
    invalid_user_password: {
      description: 'Your password or email do not match.  <a href="https://www.instyle.com/account/forgot-password" class="accountPage__link">Please try again or reset your password</a>',
      target: 'password',
    },
    mfa_required: {
      description: 'The user must provide the multi-factor authentication code to authenticate',
      target: 'password',
    },
    password_leaked: {
      description: 'The password has been leaked and a different one needs to be used',
      target: 'password',
    },
    PasswordHistoryError: {
      description: 'The password provided for sign up/update has already been used.',
      target: 'password',
    },
    too_many_attempts: {
      description: 'The account is blocked due to too many attempts to sign in, reset password',
      target: 'email',
    },
    'Bad Request': {
      description: 'Is this a valid email? (Bad Request Response)',
      target: 'email',
    },
    spam_email_detected: {
      description: 'Invalid email address',
      target: 'email',
    },
    generic_error: {
      description: 'Something went wrong. Please look over your info and try again',
      target: 'email',
    },
  }

  function findCookie(cookies, key) {
    return cookies.split(';').filter(item => item.trim().startsWith(key))[0];
  }

  function authenticatedUserHid() {
    const parentCookies = window.parent.document.cookie;
    const mdpaccount = typeof findCookie(parentCookies, 'mdpaccount=') !== 'undefined' ? findCookie(parentCookies, 'mdpaccount=') : null;
    const hashid = mdpaccount ? JSON.parse(mdpaccount.replace('mdpaccount=', '')).hashId.trim() : null;
    const hid = typeof findCookie(parentCookies, 'hid=') !== 'undefined' ? findCookie(parentCookies, 'hid=').replace('hid=', '').trim() : null;

    return hid || hashid;
  }

  //  Hide email field if user is already authenticated
  function hideAuthenticatedEmail() {
    if(authenticatedUserHid()){
      const emailContainer = document.querySelector('.userAccountForm__emailGroup');
      emailContainer.style.display = 'none';
      emailContainer.setAttribute('data-authenticated', 'true');
    }
  }

  // Show/Hide password toggling Proof of concept
  function showHidePassword(showPasswordElementId, passwordElementId) {
    const passwordButton = document.getElementById(showPasswordElementId);
    if (passwordButton) {
      passwordButton.addEventListener('click', function (e) {
        e.preventDefault();
        const passwordInput = document.getElementById(passwordElementId);
        if (passwordInput.type === 'password') {
          passwordInput.type = 'text';
          passwordButton.innerHTML = 'HIDE';
        } else {
          passwordInput.type = 'password';
          passwordButton.innerHTML = 'SHOW';
        }
      });
    }
  }
  // Clear validation events
  function clearError(target, func, submitBtnId) {
    removeInputError(target, func);
    document.getElementById(submitBtnId).removeAttribute('disabled');
  }

  // Process error
  function processError(target, resp, func, submitBtnId) {
    addInputError(target, resp, func, submitBtnId);
    document.getElementById(submitBtnId).setAttribute('disabled', 'disabled');
  }

  // process validation for username
  function spamEmail(email) {
    let errorMsg = '';
    let status = '';

    status = 'error';
    errorMsg = errorList.spam_email_detected.description;

    return { status, errorMsg };
  }

  // when a user enters a spam email, tell them to enter a good one
  function badEmailSubmitted(e, emailElementId, submitBtnId) {
    const emailTarget = document.getElementById(emailElementId);
    const spamEmailCheck = spamEmail(emailTarget.value);
    processError(emailTarget, spamEmailCheck, curriedWatchEmailInput(submitBtnId), submitBtnId);
  }

  // used in onSubmit sign-in function
  function validateInputs(emailElementId, passwordElementId, submitBtnId, passwordNotEmpty) {
    const emailTarget = document.getElementById(emailElementId);
    const emailValidation = validateEmail(emailTarget.value);
    if (document.querySelector('.userAccountForm__emailGroup') && document.querySelector('.userAccountForm__emailGroup').getAttribute('data-authenticated')) {
      emailValidation.status = 'ready'
    }
    let validEmail = false;
    let validPassword = false;
    if (emailValidation.status != 'ready') {
      processError(emailTarget, emailValidation, curriedWatchEmailInput(submitBtnId), submitBtnId);
    } else {
      validEmail = true;
    }
    if (passwordElementId !== undefined) {
      const passwordTarget = document.getElementById(passwordElementId);
      const passwordValidation = validatePassword(passwordTarget.value, passwordNotEmpty);
      if (passwordValidation.status != 'ready') {
        processError(passwordTarget, passwordValidation, curriedWatchPasswordInput(submitBtnId), submitBtnId);
      } else {
        validPassword = true;
      }
    } else {
      // Where no password field is to be checked pass as true.
      validPassword = true;
    }
    return validEmail && validPassword;
  }

  // Pass in input element to "check off" email validation
  function usernameCheck(target) {
    const resp = validateEmail(target.value);
    if (resp.status == 'ready') {
      addClassToTarget(target, 'checkOn');
    } else {
      removeClassFromTarget(target, 'checkOn');
    }
  }

  const curriedEmailWatchers = {};
  // KeyUp callback during error state
  function curriedWatchEmailInput(submitBtnId) {
    if (curriedEmailWatchers[submitBtnId] === undefined) {
      curriedEmailWatchers[submitBtnId] = (e) => {
        const resp = validateEmail(e.target.value);
        if (resp.status == 'ready') {
          clearError(e.target, curriedWatchEmailInput(submitBtnId), submitBtnId)
        }
      }
    }
    return curriedEmailWatchers[submitBtnId];
  }

  // when user leaves an input box validate current value
  function validateEmailAfterBlur(e, submitBtnId) {
    clearError(e.target, curriedWatchEmailInput(submitBtnId), submitBtnId);
    const resp = validateEmail(e.target.value);
    if (resp.status == 'ready') {
      clearError(e.target, curriedWatchEmailInput(submitBtnId), submitBtnId);
    } else {
      processError(e.target, resp, curriedWatchEmailInput(submitBtnId), submitBtnId);
    }
  }

  // Pass in input element to "check off" password validation
  function passwordCheck(target) {
    const resp = validatePassword(target.value);
    setPasswordRuleChecks(resp.matches);
  }

  // KeyUp callback during error state for Password
  const curriedPasswordWatchers = {};
  function curriedWatchPasswordInput(submitBtnId, passwordNotEmpty) {
    if (curriedPasswordWatchers[submitBtnId] === undefined) {
      curriedPasswordWatchers[submitBtnId] = (e) => {
        const resp = validatePassword(e.target.value, passwordNotEmpty);
        if (resp.status == 'ready') {
          clearError(e.target, curriedWatchPasswordInput(submitBtnId), submitBtnId)
        }
      }
    }
    return curriedPasswordWatchers[submitBtnId];
  }

  // when user leaves an input box validate current value
  function validatePasswordAfterBlur(e, submitBtnId, emptyOnly) {
    clearError(e.target, curriedWatchPasswordInput(submitBtnId, emptyOnly), submitBtnId);
    const resp = validatePassword(e.target.value, emptyOnly);
    if (resp.status == 'ready') {
      clearError(e.target, curriedWatchPasswordInput(submitBtnId, emptyOnly), submitBtnId);
    } else {
      processError(e.target, resp, curriedWatchPasswordInput(submitBtnId, emptyOnly), submitBtnId);
    }
  }

  // processes the validation results matches for password rule display checks
  function setPasswordRuleChecks(matches) {
    const targets = document.querySelectorAll('.userAccountForm__rules');
    for (let i = 0; i < targets.length; i++) {
      (matches[i] == 'valid') ? addClassToTarget(targets[i], 'checkOn') : removeClassFromTarget(targets[i], 'checkOn');
    }
  }

  // disable submit and display input error
  function addInputError(target, resp, func) {
    document.getElementById(target.id).addEventListener('keyup', func);
    displayInputError(target, resp.errorMsg);
  }

  // Remove the KeyUp listener so we don't have multiple listeners
  function removeKeyListener(target, func) {
    document.getElementById(target.id).removeEventListener('keyup', func);
  }

  // enable submit and remove input error
  function removeInputError(target, func) {
    document.getElementById(target.id).removeEventListener('keyup', func);
    hideInputError(target);
  }

  // remove error dropdown message for quick signup when clicked
  function removeClose() {
    const errorMessageQuickSignup = document.getElementById("userSignupFormEmail-error");
    errorMessageQuickSignup.classList.remove('userAccountForm__error--active');
  }

  // display an input message on and form input value
  function displayInputError(target, message) {
    addClassToTarget(target, 'alertOn');
    const errorBox = document.getElementById(`${target.id}-error`);
    const messageContainer = errorBox.querySelector('.userAccountForm__errorMessage');
    messageContainer.innerHTML = message;
    messageContainer.setAttribute("aria-live", "assertive")
    errorBox.classList.add('userAccountForm__error--active');
  }

  // remove an input message on and form input value
  function hideInputError(target) {
    removeClassFromTarget(target, 'alertOn');
    const errorBox = document.getElementById(`${target.id}-error`);
    errorBox.classList.remove('userAccountForm__error--active');
  }

  // process validation for username
  function validateEmail(email) {
    // Used regex from here:
    // https://www.w3resource.com/javascript/form/email-validation.php
    const regex = new RegExp(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/);
    const matchEmail = (email) => (regex.test(email)) ? "valid" : "invalid";
    let errorMsg = '';
    let status = '';
    if (email.length == 0) {
      status = 'empty';
      errorMsg = errorList.enter_email.description;
    } else if (matchEmail(email) == "invalid") {
      status = 'watching';
      errorMsg = errorList.password_format.description;
    } else {
      status = 'ready';
    }
    return { status, errorMsg };
  }

  // process validation for password
  function validatePassword(password, emptyOnly) {
    let matches = matchPasswordRules(password);
    if (emptyOnly) {
      matches = 'valid';
    }
    let errorMsg = '';
    let status = '';
    if (password.length == 0) {
      status = 'empty';
      errorMsg = errorList.enter_password.description;
    } else if (matches.indexOf('invalid') > -1) {
      status = 'watching';
      errorMsg = errorList.all_password.description;
    } else {
      status = 'ready';
    }
    return { status, matches, errorMsg };
  }

  // match each password rule
  function matchPasswordRules(password) {
    const matches = [];
    const rules = [
      new RegExp('^(?=.{8,}).*$'),   // Has 8 characters.
      new RegExp('^(?=.*[A-Z]).*$'), // Has 1 uppercase character.
      new RegExp('^(?=.*[a-z]).*$'), // Has 1 lowercase character.
      new RegExp('^(?=.*[0-9]).*$'), // Has 1 number character.
    ];
    for (let i = 0; i < rules.length; i++) {
      matches[i] = (rules[i].test(password)) ? 'valid' : 'invalid';
    }
    return matches;
  }

  // add a class to an input target
  function addClassToTarget(target, classname) {
    const classArr = target.getAttribute('class').split(' ');
    classArr.push(classname);
    const newClassArr = classArr.filter((i, p) => classArr.indexOf(i) == p);
    target.setAttribute('class', newClassArr.join(' '));
  }

  // remove a class from an input target
  function removeClassFromTarget(target, classname) {
    const classArr = target.getAttribute('class').split(' ');
    const newClassArr = classArr.filter((i, p) => ((i != classname) && (classArr.indexOf(i) == p)));
    target.setAttribute('class', newClassArr.join(' '));
  }

  function getDomain(href) {
    const urlParser = document.createElement('a');
    let url = href;
    if (href === undefined) {
      url = window.location.hostname;
    }
    urlParser.href = url;
    let domain = urlParser.hostname;
    if (domain.substr(0, domain.lastIndexOf('.')).lastIndexOf('.') > -1) {
     domain = domain.substr(domain.substr(0, domain.lastIndexOf('.')).lastIndexOf('.') + 1)
    }
    return domain;
  }

  function setCookie(key, value, expiry, domain) {
    const expires = new Date();
    const host = getDomain(domain);
    expires.setTime(expires.getTime() + (expiry * 24 * 60 * 60 * 1000));
    document.cookie = key + '=' + value + ';path=/;domain=' + host + ';' + 'expires=' + expires.toUTCString();
  }

  function eraseCookie(key) {
    var keyValue = this.getCookie(key);
    this.setCookie(key, keyValue, -1, auth0config.brandDomain);
  }

  function getCookie(key) {
    var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');
    return keyValue ? keyValue[2] : null;
  }

  function readCookie(name) {
    const cookie = getCookie(name);
    try {
      const cookieJson = JSON.parse(cookie);
      return cookieJson;
    } catch (e) {

    }
    return {};
  }

  function getUrlParameter(name) {
    name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
    var regex = new RegExp('[\\?&]' + name + '=([^&#]*)');
    var results = regex.exec(location.search);
    return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
  };

  function setHidCookie(hashId, domain) {
    setCookie('hid', hashId, 365, domain);
  }</script><script>window.addEventListener('load', () => {
    // Fire Page Event once everything is ready.
    window.analytics.page(data('signin'));
  });

  const cookieData = {
    type: 'log',
    regsource: '',
  };

  const returnUrl = getUrlParameter('returnURL') || getUrlParameter('returnUrl');
  if (returnUrl !== '') {
    cookieData.returnUrl = returnUrl;
  }
  const action = getUrlParameter('action');
  if (action !== '') {
    cookieData.action = action;
  }
  const debug = getUrlParameter('debug');
  if (debug !== '') {
    cookieData.debug = true;
  }
  setCookie('mdplogreg', JSON.stringify(cookieData), 365, auth0config.brandDomain);

  const webAuthEmail = new auth0.WebAuth({
    domain: auth0config.domain,
    clientID: auth0config.clientId,
    redirectUri: debug !== '' ? `${auth0config.brandDomain}/account/session-info` : `${auth0config.brandDomain}/account/signinemailcallback`,
    responseType: 'code token',
  });

  const webAuthSocial = new auth0.WebAuth({
    domain: auth0config.socialDomain,
    clientID: auth0config.socialClientId,
    redirectUri: debug !== '' ? `${auth0config.brandDomain}/account/session-info` : `${auth0config.brandDomain}/account/signinemailcallback`,
    responseType: 'code token',
  });

  // Starts an email registration flow
  const signinEmail = () => {
    cookieData.type = 'email';
    setCookie('mdplogreg', JSON.stringify(cookieData), 365);
    // Fire Segment Tracking
    trackLogRegButtonClick('Login Click', 'Email');
    // Build URL to redirect to
    window.location.href = webAuthEmail.client.buildAuthorizeUrl({
      clientID: auth0config.clientId,
      responseType: 'token id_token',
      redirectUri: debug !== '' ? `${auth0config.brandDomain}/account/session-info` : `${auth0config.brandDomain}/account/signinemailcallback`,
      state: 'qwerty',
      nonce: 'randomStrings',
      scope: 'openid email profile',
      login_hint: 'signin',
      data: {
        regsource: auth0config.regsource,
        pagetype: 'signup',
      },
    });
  }
  // Starts a social connection flow
  const signinSocial = (socialConnection) => {
    cookieData.type = 'social';
    setCookie('mdplogreg', JSON.stringify(cookieData), 365);

    // Fire Segment Tracking
    const socialValue = socialConnection === 'google-oauth2' ? 'Google' : (socialConnection === 'facebook' ? 'Facebook' : '');
    trackLogRegButtonClick('Login Click', socialValue);
    // Trigger login with google
    const webAuthParams = {
      connection: socialConnection,
      clientID: auth0config.socialClientId,
      responseType: 'token id_token', // code or token
      redirectUri: debug !== '' ? `${auth0config.brandDomain}/account/session-info` : `${auth0config.brandDomain}/account/signinsocialcallback`,
      state: 'qwerty',
      nonce: 'randomStrings',
      scope: 'openid email profile',
      data: {
        regsource: auth0config.regsource,
        pageType: 'signup',
      },
    };

    if (window.self !== window.top) {
      webAuthSocial.popup.authorize(webAuthParams, (err, authResult) => {
        if (err || authResult) {
          const event = new CustomEvent(
            'user-authenticated',
            {
              detail: {
                type: authResult ? 'signin' : 'error',
                response: authResult ? '' : err,
                context: window,
              }
            }
          );

          window.parent.dispatchEvent(event);
        }
      });
    } else {
      webAuthSocial.authorize(webAuthParams);
    }
  }</script><div class=accountPage><div class=accountPage__accountBlock><h2 class=accountPage__heading>Sign In</h2><div class=accountPage__options><div class=loginRegistration__facebook><a class="loginRegistration__facebookLink loginRegistration__button"href=# onclick=signinSocial('facebook')> <span class="icon icon-facebook social-icon"> <svg class="icon-share icon-share-facebook"viewbox="0 0 24 24"aria-hidden=true height=44 role=img tabindex=-1 width=44 xmlns=http://www.w3.org/2000/svg><path d="M13.774 8.824c.355-.012.71-.003 1.066-.003h.147V7.079c-.19-.018-.388-.043-.587-.052-.364-.015-.73-.033-1.094-.025-.557.01-1.084.139-1.544.45-.528.358-.818.86-.928 1.454a4.708 4.708 0 0 0-.064.747c-.01.39-.002.78-.002 1.172v.146H9v1.945h1.758v4.889h2.148v-4.88h1.752l.27-1.955h-.394c-.498.002-1.643 0-1.643 0s.006-.964.018-1.382c.017-.573.378-.748.865-.764"fill=#685F55></path></svg> </span> <span class="loginRegistration__facebookText loginRegistration__buttonText"> Sign In with Facebook </span> </a></div><div class=loginRegistration__google><a class="loginRegistration__googleLink loginRegistration__button"href=# onclick=signinSocial('google-oauth2')> <span class="icon icon-google2 default-icon"> <svg class="icon-share icon-share-google2"viewbox="0 0 24 24"aria-hidden=true height=44 role=img tabindex=-1 width=44 xmlns=http://www.w3.org/2000/svg><path d="M12.001 10.571V14h5.671c-.228 1.471-1.714 4.313-5.671 4.313-3.415 0-6.2-2.828-6.2-6.314 0-3.485 2.785-6.314 6.2-6.314 1.942 0 3.243.828 3.985 1.543l2.715-2.615c-1.742-1.628-4-2.613-6.7-2.613A9.993 9.993 0 002 11.999 9.994 9.994 0 0012.001 22c5.772 0 9.6-4.058 9.6-9.771 0-.659-.071-1.159-.157-1.658h-9.443z"></path></svg> </span> <span class="loginRegistration__googleText loginRegistration__buttonText"> Sign In with Google </span> </a></div><div class=loginRegistration__email><a class="loginRegistration__emailLink loginRegistration__button"href=# onclick=signinEmail()> <span class="icon icon-email-outline default-icon"> <svg class="icon-share icon-share-email-outline"viewbox="0 0 24 24"aria-hidden=true height=44 role=img tabindex=-1 width=44 xmlns=http://www.w3.org/2000/svg><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V8l8 5 8-5v10zm-8-7L4 6h16l-8 5z"fill-opacity=.65></path></svg> </span> <span class="loginRegistration__emailText loginRegistration__buttonText"> Sign In with Email </span> </a></div></div></div><div class=accountPage__signin><span class=accountPage__signinText> Don't have an account? </span><a class=accountPage__link href=https://www.instyle.com/account/signup?regSource=21023&returnURL=https%3A%2F%2Fwww.instyle.com%2Fcelebrity%2Fellen-degeneres%2Fellen-degeneres-justin-bieber-hailey-children> Sign Up </a></div></div><script>// Grab the data from the data-attributes on the segment div.
     	const getDataPairs = () => {
     		let segmentData = document.querySelector('#page-segment-values .keyvals').dataset;
     		segmentData = Object.assign({}, segmentData);
     		return segmentData;
     	}
     
     	// Strip out underscores and camelCase all key names.
     	const camelize = (text) => {
     		if (typeof text === 'string') {
     			text = text.replace(/[-_\s.]+(.)?/g, (match, c) => c ? c.toUpperCase() : '');
     			return text.substr(0, 1).toLowerCase() + text.substr(1);
     		}
     		return text;
     	}
     
     	// Grab any url params
     	const getURLParams = () => {
     		const paramsObj = {};
     		let params = (new URL(document.location)).searchParams;
     
     		if (params.get('did')) {
     			paramsObj.emailLaunchId = params.get('did');
     		}
     		if (params.get('psrc')) {
     			paramsObj.internalCampaign = params.get('psrc');
     		}
     		return paramsObj;
     	}
     
     	// Grab and prepare all base data to pass into Segment.
     	const data = (pageType) => {
     		let segmentData = getDataPairs();
     		const newSegmentData = {};
     
     		if (segmentData) {
     			Object.keys(segmentData).forEach((key) => {
     				var newKey = camelize(key);
     				newSegmentData[newKey] = typeof segmentData[key] === 'string' ? segmentData[key].toLowerCase() : segmentData[key];
     			})
     		}
     		let pageTitle = 'Login';
     
     		// Determine the current page url and assign the associate page title
     		switch (pageType) {
     				case 'signin':
     					pageTitle = 'Login:Main';
     					break;
     				case 'signup':
     					pageTitle = 'Registration:Main';
     					break;
     				case 'signin-email':
     					pageTitle = 'Login:Login with Email';
     					break;
     				case 'forgot-password':
     					pageTitle = 'Login:Forgot Password';
     					break;
     				case 'signup-email':
     					pageTitle = 'Registration:Register with Email';
     					break;
     				case 'forgot-password-success':
     					pageTitle = 'Login:Password Reset Instructions Sent';
     					break;
     				case 'reset-password':
     					pageTitle = 'Login:Reset your Password';
     					break;
     				case 'signup-social':
     					pageTitle = 'Registration:Newsletter Subscriptions';
     					break;
             case 'signup-regstep':
               pageTitle = `Registration:Step ${regData.step}`;
               break;
     				default:
     					pageTitle = '';
     		}
     		let extraSegmentProps = {
     			referrer: document.referrer,
     			search: location.search,
     			url: document.location.href,
     			path: window.location.pathname,
     			title: pageTitle,
     			registrationsource: auth0config && auth0config.regsource ? auth0config.regsource : '',
     			contentType: 'registration',
     			meredithApplication: 'auth0',
     		}
     		let urlParams = getURLParams();
     
     		const mdpaccountCookie = getCookie('mdpaccount');
     		if (mdpaccountCookie) {
     			extraSegmentProps.meredithHashId = mdpaccountCookie.hashId;
     		}
     
     		// Delete obsolete properties
     		if (newSegmentData.internalcampaign) {
     			delete newSegmentData.internalcampaign;
     		}
     		if (newSegmentData.emaillaunchid) {
     			delete newSegmentData.emaillaunchid;
     		}
     		if (newSegmentData.videoVersion) {
     			delete newSegmentData.videoVersion;
     		}
     
     		return Object.assign(newSegmentData, extraSegmentProps, urlParams);
     	};
     
     	/*
     		Login/Registration Event
     	*/
     	// Fire on successfull registration or signin
     	function trackSuccessLoginReg(event, hashid, regsource) {
     		let eventName = event;
     		let eventProps = {
     			category: 'Login & Registration',
     			meredithHashId: hashid,
     		}
     
     		if (event == 'login') {
     			eventName = 'Login';
     			eventProps.metric11 = '1';
     		}
     
     		if (event == 'registration') {
     			eventName = 'Registrations';
     			eventProps.metric10 = '1';
     			eventProps.regsource = regsource;
     			eventProps.label = regsource;
     		}
     		window.analytics.track(eventName, Object.assign(data(), eventProps));
     	}
     
     	/*
     		Login/Reg Click
     	*/
     	// Track clicks for Signup / Signin button. Email and Social
     	function trackLogRegButtonClick(event, label) {
     		let eventProps = {
     			category: 'Login & Registration',
     			label: label,
     		}
     		window.analytics.track(event, Object.assign(data(), eventProps));
     	}
     
     	/*
     		Newsletter Events
     	*/
     	const buttonId = document.querySelector('#btnSave, #userSignupForm_btnSignup');
     	if (buttonId) {
     		buttonId.addEventListener('click', (e) => {
     			const newsLetterInputs = document.querySelectorAll('.userAccountForm__userInputSelectOption:checked');
     			let eventProps = {
     				category: 'Login & Registration',
     				metric9: '1',
     			}
     
     			// TODO: Segment spec requires us to ensure that the user hasn't already subscribed
     			// to the same newsletter, have to figure out how to implement later
     			newsLetterInputs.forEach((checkbox) => {
     				eventProps.label = checkbox.value;
     				// Fire individual track events for every newsletter selected
     				window.analytics.track('Newsletter Signup', Object.assign(data(), eventProps))
     			})
     		})
     	}
     
       /*
     		Brand Specific Registration Data
     	*/
       const additionalInfo = document.querySelector('.accountPage__signin');
       if (additionalInfo) {
         const saveButton = additionalInfo.querySelector('#btnSave');
         additionalInfo.addEventListener('click', (event) => {
           let eventProps = {
             category: 'Login & Registration',
             label: saveButton.value,
           }
           
         window.analytics.track(event, Object.assign(data(), eventProps));
         })
       }</script><div class=thinFooter><div class=thinFooter__copyright><span class=thinFooter__brandLogo> <svg viewbox="0 4 139 24"height=24 width=104 xmlns=http://www.w3.org/2000/svg><path d="M59.26 16.047V16c0-3.604 2.533-6.562 6.107-6.562 3.977 0 5.99 3.148 5.99 6.776 0 .264-.025.527-.048.811h-9.186c.31 2.053 1.753 3.198 3.6 3.198 1.396 0 2.39-.525 3.386-1.503l1.68 1.503c-1.184 1.432-2.818 2.364-5.114 2.364-3.622 0-6.416-2.649-6.416-6.539zm9.256-.931c-.19-1.861-1.279-3.318-3.173-3.318-1.752 0-2.984 1.361-3.243 3.318h6.416zm13.502.931V16c0-3.604 2.532-6.562 6.107-6.562 3.977 0 5.99 3.148 5.99 6.776 0 .264-.025.527-.048.811h-9.185c.306 2.053 1.75 3.198 3.597 3.198 1.397 0 2.392-.525 3.386-1.503l1.68 1.503c-1.183 1.432-2.817 2.364-5.112 2.364-3.622 0-6.415-2.649-6.415-6.539zm9.255-.931c-.189-1.861-1.278-3.318-3.172-3.318-1.752 0-2.984 1.361-3.243 3.318h6.415zm4.453.906v-.048c0-4.176 2.818-6.537 5.8-6.537 2.798 0 4.097 1.54 4.262 1.7v-6.24h2.862V22.3h-2.862v-1.456c-.238.242-1.51 1.72-4.263 1.72-2.934 0-5.799-2.365-5.799-6.542zm10.109 0v-.048c0-2.433-1.706-4.032-3.623-4.032-1.965 0-3.599 1.527-3.599 4.032v.048c0 2.435 1.658 4.034 3.6 4.034 1.916 0 3.622-1.624 3.622-4.034zm18.233 6.537c-3.681 0-5.704-1.15-5.704-4.701V4.898h2.864v4.801h2.841v2.481h-2.841v5.39c0 2.32 1.351 2.507 2.84 2.507v2.482zm2.514-17.662h2.864v6.252c.158-.2 1.259-1.712 3.59-1.712 3.018 0 4.767 2.003 4.767 4.843v8.02h-2.864v-7.137c0-1.891-1.04-3.102-2.745-3.102-1.657 0-2.748 1.146-2.748 3.102V22.3h-2.865V4.897h.001zM112.075 9.7h2.863v12.6h-2.863zM114.919 6.627v1.12h-2.844v-2.85h2.844zM38.002 9.7h2.864v1.493c.135-.16 1.407-1.756 3.692-1.756 2.6 0 3.531 1.63 3.835 2.218.215-.351 1.417-2.218 3.94-2.218 2.72 0 4.678 2.003 4.678 4.82V22.3h-2.864v-7.137c0-1.924-.995-3.102-2.604-3.102-1.563 0-2.604 1.129-2.604 3.102V22.3h-2.865v-7.137c0-1.956-1.017-3.102-2.604-3.102-1.58 0-2.604 1.146-2.604 3.102V22.3h-2.864V9.7zm35.75 0h2.863v2.042c.249-.424 1.224-2.283 4.428-2.283v2.97h-.61c-2.48 0-3.818 1.593-3.818 3.95v5.922h-2.862V9.699z"fill=#695E4A></path><path d="M15.918 7.413l-3.232 3.232-2.082-2.082 3.232-3.232zM21.207 19.258l2.066 2.082 3.232-3.258-2.066-2.083zM19.628 3.65a2.265 2.265 0 0 1 3.232 0c.941.949.856 2.395 0 3.26l-1.653 1.666 2.065 2.082 1.654-1.666c1.016-1.025 2.454-.785 3.233 0 .979.987.805 2.447 0 3.257l-1.654 1.668 2.065 2.082 1.654-1.667c2.09-2.107 1.989-5.417 0-7.422a5.183 5.183 0 0 0-3.775-1.537 5.236 5.236 0 0 0-1.523-3.806c-1.954-1.97-5.26-2.12-7.363 0l-1.654 1.668 2.066 2.082 1.653-1.667zM15.91 13.917l2.065 2.082 3.232-3.258-2.066-2.083z"fill=#009BDA></path><path d="M10.611 23.422l3.233 3.26 2.065-2.083-3.232-3.259zM28.57 16l-2.066 2.082 1.654 1.667c.805.811.98 2.27 0 3.258-.778.785-2.217 1.025-3.232 0l-1.654-1.667-2.066 2.082 1.653 1.666c.857.864.942 2.311 0 3.26a2.265 2.265 0 0 1-3.232 0l-1.654-1.668-2.065 2.083 1.654 1.667c2.102 2.12 5.408 1.97 7.362 0a5.239 5.239 0 0 0 1.524-3.805 5.182 5.182 0 0 0 3.775-1.537c1.988-2.006 2.09-5.315 0-7.423L28.57 16zM15.91 18.082l3.232 3.258 2.065-2.082-3.232-3.259zM23.273 10.658l-2.066 2.083 3.232 3.258 2.066-2.082-3.232-3.259z"fill=#6FBE44></path><path d="M15.9 24.584l3.233-3.232 2.081 2.081-3.232 3.233zM12.19 28.348c-.805.811-2.253.987-3.232 0-.778-.784-1.016-2.234 0-3.258v-.002l1.653-1.666-2.066-2.082-1.653 1.666c-.856.863-2.291.949-3.232 0a2.31 2.31 0 0 1 0-3.259l1.652-1.666-2.064-2.082-1.653 1.667c-2.103 2.12-1.954 5.452 0 7.422a5.146 5.146 0 0 0 3.774 1.536c-.015.768.143 2.414 1.524 3.806 1.99 2.006 5.273 2.108 7.362 0l1.654-1.667-2.065-2.082-1.654 1.667zM13.844 16l-3.233 3.258 2.066 2.082 3.232-3.258L13.844 16zM8.546 10.658l-3.232 3.259 2.065 2.082 3.232-3.258z"fill=#F7901E></path><path d="M10.611 19.258l-3.232-3.26-2.066 2.083 3.233 3.259zM3.66 12.25a2.31 2.31 0 0 1 0-3.258c.942-.95 2.377-.864 3.233 0l1.653 1.666 2.066-2.082L8.959 6.91v-.001c-1.016-1.023-.778-2.474 0-3.259.979-.987 2.427-.81 3.231 0l1.654 1.667 2.066-2.081-1.654-1.667c-2.09-2.107-5.373-2.006-7.362 0C5.512 2.96 5.354 4.607 5.37 5.374A5.145 5.145 0 0 0 1.595 6.91c-1.953 1.97-2.102 5.303 0 7.424L3.25 16l2.065-2.082L3.66 12.25zM17.983 5.33l3.232 3.232-2.082 2.081L15.9 7.412zM13.844 15.999l2.066-2.082-3.233-3.259-2.066 2.083 3.233 3.258z"fill=#ED174C></path><path d="M17.985 5.324L15.92 7.39l-2.082-2.083 2.065-2.064z"fill=#583357></path><path d="M5.323 13.926l2.065 2.065-2.082 2.082-2.066-2.065z"fill=#BF272E></path><path d="M26.5 18.074l-2.066-2.065 2.083-2.082 2.065 2.065z"fill=#008F4C></path><path d="M13.833 26.675L15.9 24.61l2.081 2.081-2.065 2.066z"fill=#7A783E></path><path d="M23.281 10.667l-2.064 2.065-2.083-2.082L21.2 8.585z"fill=#443639></path><path d="M10.618 19.263l2.066 2.066L10.6 23.41l-2.065-2.065z"fill=#803136></path><path d="M10.62 8.585l2.066 2.065-2.083 2.083-2.066-2.065z"fill=#5A3438></path><path d="M13.835 15.992l2.066-2.066 2.081 2.082-2.065 2.066z"fill=#443639></path><path d="M23.283 21.35l-2.065 2.065-2.083-2.083 2.066-2.065z"fill=#2B6442></path></svg> </span><span class=thinFooter__copyrightText> InStyle is part of the Meredith Beauty Group. © Copyright 2020 Meredith Corporation. All Rights Reserved. InStyle may receive compensation for some links to products and services on this website. Offers may be subject to change without notice. <span class=thinFooter__legalLink> <a href=https://www.meredith.com/nmg/privacy target=_blank> Privacy Policy <span class=hidden-label> this link opens in a new tab </span> </a> </span> <span class=thinFooter__legalLink> <a href=https://www.meredith.com/legal-ti/instyle/privacy_terms_service.html target=_blank> Terms of Service <span class=hidden-label> this link opens in a new tab </span> </a> </span> <span class=thinFooter__legalLink> <a href=https://www.meredith.com/adchoices target=_blank> Ad Choices <span class=hidden-label> this link opens in a new tab </span> </a> </span> <span class=thinFooter__legalLink> <a class=ot-sdk-show-settings href=javascript:void(0) target=_blank> California Do Not Sell <span class=hidden-label> this link opens in a new tab </span> </a> </span> <span class=thinFooter__legalLink> <a href=https://www.meredith.com/legal/web-accessibility target=_blank> Web Accessibility <span class=hidden-label> this link opens in a new tab </span> </a> </span> </span></div></div>