It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: http://www.elle.com/rss/feed/Style-Tips

  1.  
  2. <!DOCTYPE html>
  3. <html class="no-js" lang="en-US">
  4. <head>
  5. <title>404 | Elle</title>
  6. <meta charset="UTF-8" >
  7.  
  8. <meta name="x-ua-compatible" content="IE=edge,chrome=1" http_equiv="X-UA-Compatible">
  9. <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=6">
  10. <meta name="msapplication-tap-highlight" content="no">
  11. <meta name="theme-color" content="#EC008C">
  12. <meta content="website" property="og:type">
  13. <meta content="364664413547847" property="fb:app_id">
  14. <meta content="https://www.facebook.com/ellemagazine" property="article:publisher">
  15. <meta content="31911516300" property="fb:pages">
  16. <meta name="twitter:site" content="@ELLEmagazine">
  17. <meta name="google-site-verification" content="W6SOBCzCmb2sA5l3z9YK1yO7I7bPYArVQCP09_e2zck">
  18. <meta content="ELLE" property="og:site_name">
  19. <link href="data:;base64,=" rel="shortcut icon">
  20. <link href="/sites/elle/assets/images/favicon.ico" rel="shortcut icon">
  21. <link href="/sites/elle/assets/images/favicon.ico" rel="icon">
  22. <link href="/sites/elle/assets/images/apple-touch-icon-152x152.png" rel="apple-touch-icon" sizes="152x152">
  23. <link href="/sites/elle/assets/images/apple-touch-icon-120x120.png" rel="apple-touch-icon" sizes="120x120">
  24. <link href="/sites/elle/assets/images/apple-touch-icon-76x76.png" rel="apple-touch-icon" sizes="76x76">
  25. <link href="/sites/elle/assets/images/apple-touch-icon.png" rel="apple-touch-icon">
  26. <link href="https://assets.hearstapps.com/assets/dist/js/main.993ea55.js" rel="preload" as="script">
  27. <link href="https://assets.hearstapps.com/assets/dist/js/shared/jquery.864c6f5.js" rel="preload" as="script">
  28. <link href="https://assets.hearstapps.com/assets/dist/js/shared/vendors.2982034.js" rel="preload" as="script">
  29. <link type="font/woff2" href="https://assets.hearstapps.com/sites/elle/assets/fonts/IconFont.715bd0fb607d39da3e335ac7b23e3145.woff2" rel="preload" as="font" crossorigin="anonymous">
  30. <link href="https://assets.hearstapps.com/sites/elle/assets/css/fonts-deferred.c2f3654.css" rel="preload" as="style">
  31. <link href="https://assets.hearstapps.com" rel="preconnect">
  32. <link href="https://hips.hearstapps.com" rel="preconnect">
  33. <link href="//nexus.ensighten.com" rel="preconnect">
  34. <link href="https://assets.hearstapps.com/sites/elle/assets/css/fonts-deferred.c2f3654.css" rel="stylesheet" media="none" onload="this.media = &#039;all&#039;;">
  35. <style id="/sites/elle/assets/css/error-critical.4dc33d2">.clearfix:after,.footer-inner:after,.footer-social-menu:after,.footer-menu:after{content:' ';display:table;clear:both}.nav-bar-container,.shopping-links-ad,.error-page,.footer-inner{padding-left:.938rem;padding-right:.938rem}@media(min-width:40.625rem){.nav-bar-container,.shopping-links-ad,.error-page,.footer-inner{padding-left:2.5rem;padding-right:2.5rem}}.nav-bar-container,.shopping-links-ad,.error-page,.footer-inner{max-width:75rem;margin:0 auto}.slideshow-leaderboard{transform:translate(-.938rem,0);width:calc(100% + (.938rem*2))}@media only screen and (min-width:40.625rem){.slideshow-leaderboard{transform:none;width:auto}}.list-vertical-ad,.transporter-vertical-ad,.list-breaker-ad,.grid-breaker-ad,.standard-article-breaker-ad,.recipe-breaker-ad,.listicle-slide-list-ad,.listicle-breaker-ad,.slideshow-list-ad{width:100vw;margin-left:-.938rem}@media only screen and (min-width:40.625rem){.list-vertical-ad,.transporter-vertical-ad,.list-breaker-ad,.grid-breaker-ad,.standard-article-breaker-ad,.recipe-breaker-ad,.listicle-slide-list-ad,.listicle-breaker-ad,.slideshow-list-ad{transform:translate(-2.5rem,0);width:calc(100% + (2.5rem*2));margin-left:inherit}}@media only screen and (min-width:61.25rem){.list-vertical-ad,.transporter-vertical-ad,.list-breaker-ad,.grid-breaker-ad,.standard-article-breaker-ad,.recipe-breaker-ad,.listicle-slide-list-ad,.listicle-breaker-ad,.slideshow-list-ad{transform:none;width:auto}}@media only screen and (min-width:40.625rem){.slideshow-leaderboard{transform:translate(-2.5rem,0);width:calc(100% + (2.5rem*2))}}@media only screen and (min-width:61.25rem){.slideshow-leaderboard{transform:none;width:auto}}.sponsor-bar{transform:translate(-.938rem,0);width:calc(100% + (.938rem*2));clear:both}@media only screen and (min-width:40.625rem){.sponsor-bar{transform:none;width:100vw;position:relative;left:calc(-50vw + 50%)}}.aspect-ratio-8x1{position:relative}.aspect-ratio-8x1:before{content:'';display:block;width:100%;padding-bottom:12.5%}.aspect-ratio-8x1>*{position:absolute;top:0;left:0;width:100%;height:100%}.aspect-ratio-5x1{position:relative}.aspect-ratio-5x1:before{content:'';display:block;width:100%;padding-bottom:20%}.aspect-ratio-5x1>*{position:absolute;top:0;left:0;width:100%;height:100%}.aspect-ratio-8x10{position:relative}.aspect-ratio-8x10:before{content:'';display:block;width:100%;padding-bottom:125%}.aspect-ratio-8x10>*{position:absolute;top:0;left:0;width:100%;height:100%}.aspect-ratio-16x9{position:relative}.aspect-ratio-16x9:before{content:'';display:block;width:100%;padding-bottom:56.25%}.aspect-ratio-16x9>*{position:absolute;top:0;left:0;width:100%;height:100%}.aspect-ratio-3x1{position:relative}.aspect-ratio-3x1:before{content:'';display:block;width:100%;padding-bottom:33.3333333333%}.aspect-ratio-3x1>*{position:absolute;top:0;left:0;width:100%;height:100%}.aspect-ratio-1x1{position:relative}.aspect-ratio-1x1:before{content:'';display:block;width:100%;padding-bottom:100%}.aspect-ratio-1x1>*{position:absolute;top:0;left:0;width:100%;height:100%}.aspect-ratio-18x11{position:relative}.aspect-ratio-18x11:before{content:'';display:block;width:100%;padding-bottom:61.1111111111%}.aspect-ratio-18x11>*{position:absolute;top:0;left:0;width:100%;height:100%}.aspect-ratio-6x4{position:relative}.aspect-ratio-6x4:before{content:'';display:block;width:100%;padding-bottom:66.6666666667%}.aspect-ratio-6x4>*{position:absolute;top:0;left:0;width:100%;height:100%}.aspect-ratio-2x1{position:relative}.aspect-ratio-2x1:before{content:'';display:block;width:100%;padding-bottom:50%}.aspect-ratio-2x1>*{position:absolute;top:0;left:0;width:100%;height:100%}.aspect-ratio-4x6{position:relative}.aspect-ratio-4x6:before{content:'';display:block;width:100%;padding-bottom:150%}.aspect-ratio-4x6>*{position:absolute;top:0;left:0;width:100%;height:100%}.aspect-ratio-4x3{position:relative}.aspect-ratio-4x3:before{content:'';display:block;width:100%;padding-bottom:75%}.aspect-ratio-4x3>*{position:absolute;top:0;left:0;width:100%;height:100%}.aspect-ratio-freeform,.aspect-ratio-original{position:relative}.aspect-ratio-freeform:before,.aspect-ratio-original:before{content:'';display:block;width:100%}.aspect-ratio-freeform>img,.aspect-ratio-original>img,.aspect-ratio-freeform picture,.aspect-ratio-original picture,.aspect-ratio-freeform iframe,.aspect-ratio-original iframe,.aspect-ratio-freeform video,.aspect-ratio-original video{position:absolute;top:0;left:0;width:100%;height:100%}.footer-social-menu-item{transition:color .3s ease-in-out}.nav-menu,.nav-submenu,.nav-menu .nav-menu-item,.nav-submenu .nav-menu-item,.search-overlay{transition:opacity .3s ease-in-out;width:0;height:0;opacity:0;overflow:hidden}.active.nav-menu,.active.nav-submenu,.nav-menu .active.nav-menu-item,.nav-submenu .active.nav-menu-item,.active.search-overlay{width:auto;height:auto;opacity:1;overflow:inherit}.nav-menu,.nav-submenu,.sidepanel-menu,.sidepanel-submenu,.sidepanel-new-menu,.footer-menu,.footer-legal-menu{list-style-type:none}.link{text-decoration:none;cursor:pointer}.link-button{outline:none;border:none}.icon,.nav-swipeable .nav-menu-subscribe:before,.new-sidepanel-menu-parent-item.has-children:before,.sidepanel-location-choice-parent-item:before,.sidepanel-location-choice-parent-item div a:before,.sidepanel-item.has-children>a:before,.sidepanel-item.has-children>div .sidepanel-submenu-toggle,.sidepanel-new-item.has-children>a:before{line-height:inherit}body{position:relative;-webkit-font-kerning:normal;font-kerning:normal}img{max-width:100%}ul{list-style-position:inside;list-style-type:disc}ol{list-style-position:outside;list-style-type:decimal}strong,b{font-weight:600}em,i,q{font-style:italic}/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}body{margin:0}*{box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:0}h2{margin:0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@keyframes dropdown-menu-hide{0%{visibility:visible;opacity:1}1%{z-index:-1}30%{visibility:visible;opacity:1}100%{z-index:-1;transform:translateY(-100%)}}@keyframes dropdown-menu-show{0%{z-index:-1;transform:translateY(-100%)}99%{z-index:-1}100%{z-index:9999999;transform:translateY(0)}}@keyframes input-add-button{0%{visibility:hidden;display:none;transform:scale(.95);opacity:0}100%{top:0;visibility:visible;display:block;transform:scale(1);opacity:1}}@keyframes input-hide{0%{transform:scale(1);opacity:1;display:block}20%{transform:scale(1.01)}100%{transform:scale(.87);opacity:0;display:none}}@keyframes input-show{0%{transform:scale(.98);opacity:0}95%{transform:scale(1.004)}100%{transform:scale(1);opacity:1}}@keyframes modal{0%{top:55%}100%{top:50%}}@keyframes tabbed-modal{0%{opacity:0;transform:scale(.97)}100%{opacity:1;transform:scale(1)}}@keyframes rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes animation-hue-rotate{0%{filter:hue-rotate(0deg)}100%{filter:hue-rotate(-100deg)}}@keyframes shine{100%{left:125%}}head{font-family:'{"mobile":320,"mobile-wide":480,"tablet":650,"tablet-wide":768,"desktop":980,"desktop-wide":1180,"desktop-max":1200,"desktop-extra-wide":1600}'}@keyframes lazyLoad{0%{background-position:-31.25rem 0}100%{background-position:31.25rem 0}}.sidepanel-new-item.has-children>a,.sidepanel-new-item.has-children .sidepanel-new-submenu a,.nav-sidepanel-button.new-nav .sidepanel-close-button,.sidepanel-location-choice-menu .sidepanel-legal-ads-free a,.sidepanel-location-choice-submenu .sidepanel-legal-ads-free a,.new-sidepanel-menu .sidepanel-legal-ads-free a,.new-sidepanel-submenu .sidepanel-legal-ads-free a,.sidepanel-item.sidepanel-legal-ads-free a,.footer-menu-item a,.footer-network-tagline,.footer-affiliate-disclosure,.footer-copyright,.footer-brand-director,.footer-legal-menu-item a,.footer-network-tagline a,.footer-affiliate-disclosure a,.footer-copyright a,.footer-brand-director a,.sponsor-logo-separator,.new-sidepanel-menu-parent-item a,.new-sidepanel-menu-parent-item.has-children a,.new-sidepanel-menu-parent-item.has-children div a,.new-sidepanel-submenu-item,.new-sidepanel-menu-recipe-box a,body,.sponsor-bar .sponsor-logo-separator,.nav-button.location-choice .location-choice-country,.location-right-side-panel .sidepanel-header,.location-right-side-panel .location-choice-sidepanel-menu a{font-family:Charter,Georgia,Times,Serif;font-size:1.1875rem;line-height:1.6}.sidepanel-new-item.has-children>a u,.sidepanel-new-item.has-children .sidepanel-new-submenu a u,.nav-sidepanel-button.new-nav .sidepanel-close-button u,.sidepanel-location-choice-menu .sidepanel-legal-ads-free a u,.sidepanel-location-choice-submenu .sidepanel-legal-ads-free a u,.new-sidepanel-menu .sidepanel-legal-ads-free a u,.new-sidepanel-submenu .sidepanel-legal-ads-free a u,.sidepanel-item.sidepanel-legal-ads-free a u,.footer-menu-item a u,.footer-network-tagline u,.footer-affiliate-disclosure u,.footer-copyright u,.footer-brand-director u,.footer-legal-menu-item a u,.sponsor-logo-separator u,.new-sidepanel-menu-parent-item a u,.new-sidepanel-menu-parent-item.has-children a u,.new-sidepanel-submenu-item u,.new-sidepanel-menu-recipe-box a u,body u,.sponsor-bar .sponsor-logo-separator u,.nav-button.location-choice .location-choice-country u,.location-right-side-panel .sidepanel-header u,.location-right-side-panel .location-choice-sidepanel-menu a u{text-decoration:none}.sidepanel-new-item.has-children>a,.sidepanel-new-item.has-children .sidepanel-new-submenu a,.nav-sidepanel-button.new-nav .sidepanel-close-button{font-family:Charter,Georgia,Times,Serif;font-size:.9375rem;line-height:1.4}.sidepanel-location-choice-menu .sidepanel-legal-ads-free a,.sidepanel-location-choice-submenu .sidepanel-legal-ads-free a,.new-sidepanel-menu .sidepanel-legal-ads-free a,.new-sidepanel-submenu .sidepanel-legal-ads-free a,.sidepanel-item.sidepanel-legal-ads-free a,.footer-menu-item a{font-family:Charter,Georgia,Times,Serif;font-size:.75rem;line-height:1.4}.footer-network-tagline,.footer-affiliate-disclosure,.footer-copyright,.footer-brand-director,.footer-legal-menu-item a,.footer-network-tagline a,.footer-affiliate-disclosure a,.footer-copyright a,.footer-brand-director a{font-family:Charter,Georgia,Times,Serif;font-size:.625rem;line-height:1}.sponsor-logo-separator{font-family:Charter,Georgia,Times,Serif;font-size:1.0625rem;line-height:1.4}.nav-button.subscribe-button.subscribe-text,.nav-button.account-button .account-text,.account-dropdown-container .account-dropdown .account-dropdown-link,.nav-swipeable-inner.sso-enabled .nav-secondary-menu .nav-menu-item>a,.top-nav-subscribe,.nav-button.location-choice.sso-enabled .location-choice-country{font-family:-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:.75rem;line-height:1;letter-spacing:.02em}.nav-button.subscribe-button.subscribe-text a,.nav-button.account-button .account-text a,.account-dropdown-container .account-dropdown .account-dropdown-link a,.nav-swipeable-inner.sso-enabled .nav-secondary-menu .nav-menu-item>a a,.top-nav-subscribe a,.nav-button.location-choice.sso-enabled .location-choice-country a{color:initial}.top-nav-subscribe{padding:0 1rem;border-radius:.125rem;border:0}.new-sidepanel-menu-parent-item a,.new-sidepanel-menu-parent-item.has-children a,.new-sidepanel-menu-parent-item.has-children div a,.new-sidepanel-submenu-item,.new-sidepanel-menu-recipe-box a{font-family:-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:.8125rem;line-height:1}.sidepanel-location-choice-parent-item div a,.sidepanel-location-choice-submenu-item,.sidepanel-search-button{font-family:-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:.8125rem;line-height:1}.sidepanel-footer-item{font-family:-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:.625rem;line-height:1;letter-spacing:.05em}.sidepanel-location-choice-menu .sidepanel-legal-ads-free a,.sidepanel-location-choice-submenu .sidepanel-legal-ads-free a,.new-sidepanel-menu .sidepanel-legal-ads-free a,.new-sidepanel-submenu .sidepanel-legal-ads-free a,.sidepanel-item.sidepanel-legal-ads-free a,.footer-menu-item a{font-weight:700}body{background:#fff}.sidepanel-new-item.has-children>a,.sidepanel-new-item.has-children .sidepanel-new-submenu a,.nav-sidepanel-button.new-nav .sidepanel-close-button,.sidepanel-location-choice-menu .sidepanel-legal-ads-free a,.sidepanel-location-choice-submenu .sidepanel-legal-ads-free a,.new-sidepanel-menu .sidepanel-legal-ads-free a,.new-sidepanel-submenu .sidepanel-legal-ads-free a,.sidepanel-item.sidepanel-legal-ads-free a,.footer-menu-item a,.footer-network-tagline,.footer-affiliate-disclosure,.footer-copyright,.footer-brand-director,.footer-legal-menu-item a,.footer-network-tagline a,.footer-affiliate-disclosure a,.footer-copyright a,.footer-brand-director a,.sponsor-logo-separator,.new-sidepanel-menu-parent-item a,.new-sidepanel-menu-parent-item.has-children a,.new-sidepanel-menu-parent-item.has-children div a,.new-sidepanel-submenu-item,.new-sidepanel-menu-recipe-box a,body,.sponsor-bar .sponsor-logo-separator,.nav-button.location-choice .location-choice-country,.location-right-side-panel .sidepanel-header,.location-right-side-panel .location-choice-sidepanel-menu a{color:#202020}.byline,.breadcrumbs-section.content-breadcrumbs{font-family:Gabor,Arial,Sans-serif;font-size:.625rem;line-height:1;color:#000;text-transform:uppercase;letter-spacing:.03rem}@media only screen and (min-width:40.625rem){.byline,.breadcrumbs-section.content-breadcrumbs{font-size:.75rem;line-height:1}}.byline .byline-name{color:#000}.nav-button.subscribe-button.subscribe-text,.nav-button.account-button .account-text,.account-dropdown-container .account-dropdown .account-dropdown-link,.nav-swipeable-inner.sso-enabled .nav-secondary-menu .nav-menu-item>a,.top-nav-subscribe,.nav-button.location-choice.sso-enabled .location-choice-country{font-family:Gabor,Arial,Sans-serif;font-size:.875rem;line-height:1;text-transform:uppercase;font-weight:700;letter-spacing:.02em;padding-top:.125rem;color:#000}.new-sidepanel-menu-parent-item a,.new-sidepanel-menu-parent-item.has-children a,.new-sidepanel-menu-parent-item.has-children div a,.new-sidepanel-submenu-item,.new-sidepanel-menu-recipe-box a{font-family:Gabor,Arial,Sans-serif;font-size:1rem;line-height:1}.sidepanel-location-choice-parent-item div a,.sidepanel-location-choice-submenu-item,.sidepanel-search-button,.sidepanel-footer-item{font-family:Gabor,Arial,Sans-serif;font-size:.8125rem;line-height:1}a.top-nav-subscribe{font-weight:lighter;color:#000;box-shadow:none}.sidepanel-location-choice-menu .sidepanel-legal-ads-free a,.sidepanel-location-choice-submenu .sidepanel-legal-ads-free a,.new-sidepanel-menu .sidepanel-legal-ads-free a,.new-sidepanel-submenu .sidepanel-legal-ads-free a,.sidepanel-item.sidepanel-legal-ads-free a,.footer-menu-item a{font-family:Gabor,Arial,Sans-serif;font-size:.75rem;line-height:1}.footer-network-tagline,.footer-affiliate-disclosure,.footer-copyright,.footer-brand-director,.footer-legal-menu-item a{font-family:Gabor,Arial,Sans-serif;font-size:.75rem;line-height:1}.error-page-description a{text-decoration:none;color:#202020;border-bottom:.063rem solid #e638c5;padding-top:.05rem;padding-bottom:.05rem;background:linear-gradient(to bottom,#fff 0,#fff 100%);background-position:0 100%;background-repeat:repeat-x;background-size:0 0}@media only screen and (min-width:61.25rem){.error-page-description a{transition:background .4s ease-in-out,color .4s ease-in-out}.error-page-description a:hover{color:#e638c5;background-size:.625rem 3.125rem}}.error-page-description a u{text-decoration:none}.nav-button,.nav-swipeable a,.nav-swipeable .nav-menu-link,.nav-sidepanel-button .sidepanel-close-button,.sidepanel-menu a,.sidepanel-new-menu a,.sidepanel-submenu-toggle,.search-overlay-inner .search-overlay-close-button{text-decoration:none}@media only screen and (min-width:61.25rem){.nav-button,.nav-swipeable a,.nav-swipeable .nav-menu-link,.nav-sidepanel-button .sidepanel-close-button,.sidepanel-menu a,.sidepanel-new-menu a,.sidepanel-submenu-toggle,.search-overlay-inner .search-overlay-close-button{transition:color .3s ease-in-out}.nav-button:hover,.nav-swipeable a:hover,.nav-swipeable .nav-menu-link:hover,.nav-sidepanel-button .sidepanel-close-button:hover,.sidepanel-menu a:hover,.sidepanel-new-menu a:hover,.sidepanel-submenu-toggle:hover,.search-overlay-inner .search-overlay-close-button:hover{color:#e638c5}}.byline a>span.byline-name{color:#414141;text-decoration:underline}@media only screen and (min-width:61.25rem){.byline a>span.byline-name{transition:color .3s ease-in-out}.byline a>span.byline-name:hover{color:#e638c5}}.footer-legal-menu-item.footer-legal-ads-free a{color:#fff;font-weight:700;border:.063rem solid #fff;padding:.9375rem}@media only screen and (min-width:61.25rem){.footer-legal-menu-item.footer-legal-ads-free a{transition:all .3s ease-in-out}.footer-legal-menu-item.footer-legal-ads-free a:hover{border-color:#cdcdcd;color:#cdcdcd}}.sidepanel-location-choice-menu .sidepanel-legal-ads-free a,.sidepanel-location-choice-submenu .sidepanel-legal-ads-free a,.new-sidepanel-menu .sidepanel-legal-ads-free a,.new-sidepanel-submenu .sidepanel-legal-ads-free a,.sidepanel-item.sidepanel-legal-ads-free a{color:silver;font-weight:700;border:.063rem solid silver;padding:.625rem .9375rem;text-transform:capitalize}@media only screen and (min-width:61.25rem){.sidepanel-location-choice-menu .sidepanel-legal-ads-free a,.sidepanel-location-choice-submenu .sidepanel-legal-ads-free a,.new-sidepanel-menu .sidepanel-legal-ads-free a,.new-sidepanel-submenu .sidepanel-legal-ads-free a,.sidepanel-item.sidepanel-legal-ads-free a{transition:all .3s ease-in-out}.sidepanel-location-choice-menu .sidepanel-legal-ads-free a:hover,.sidepanel-location-choice-submenu .sidepanel-legal-ads-free a:hover,.new-sidepanel-menu .sidepanel-legal-ads-free a:hover,.new-sidepanel-submenu .sidepanel-legal-ads-free a:hover,.sidepanel-item.sidepanel-legal-ads-free a:hover{border-color:rgba(192,192,192,.6);color:rgba(192,192,192,.6)}}.text-strike{text-decoration:line-through}.text-bold{font-weight:700}.social-menu-button-group .gdpr-requires-consent{display:none}.footer-social-menu-item .social-button-link{text-decoration:none}.social-button-facebook.footer-social-menu-item .social-button-link:hover{color:#3b5998}.social-button-pinterest.footer-social-menu-item .social-button-link:hover{color:#c92228}.social-button-twitter.footer-social-menu-item .social-button-link:hover{color:#00aced}.social-button-googleplus.footer-social-menu-item .social-button-link:hover{color:#dd4b39}.social-button-youtube.footer-social-menu-item .social-button-link:hover{color:#b00}.social-button-email.footer-social-menu-item .social-button-link:hover{color:#333}.social-button-instagram.footer-social-menu-item .social-button-link:hover{color:#517fa4}.social-button-tumblr.footer-social-menu-item .social-button-link:hover{color:#35465c}.social-button-reddit.footer-social-menu-item .social-button-link:hover{color:#ff4500}.social-button-whatsapp.footer-social-menu-item .social-button-link:hover{color:#5cbe4a}.social-button-line.footer-social-menu-item .social-button-link:hover{color:#00c300}.social-button-print.footer-social-menu-item .social-button-link:hover{color:#999}@font-face{font-family:IconFont;src:url("https://assets.hearstapps.com/sites/elle/assets/fonts/IconFont.715bd0fb607d39da3e335ac7b23e3145.woff2") format("woff2"),url("https://assets.hearstapps.com/sites/elle/assets/fonts/IconFont.715bd0fb607d39da3e335ac7b23e3145.woff") format("woff")}.icon,.nav-swipeable .nav-menu-subscribe:before,.new-sidepanel-menu-parent-item.has-children:before,.sidepanel-location-choice-parent-item:before,.sidepanel-location-choice-parent-item div a:before,.sidepanel-item.has-children>a:before,.sidepanel-item.has-children>div .sidepanel-submenu-toggle,.sidepanel-new-item.has-children>a:before{font-family:IconFont;display:inline-block;line-height:1;font-weight:400;font-style:normal;speak:none;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-arrow-down01:before,.sidepanel-item.has-children>a:before,.sidepanel-item.has-children>div .sidepanel-submenu-toggle:before,.sidepanel-new-item.has-children>a:before{content:"\f101"}.icon-arrow-up01:before{content:"\f102"}.icon-article:before{content:"\f103"}.icon-author:before{content:"\f104"}.icon-close01:before{content:"\f105"}.icon-con:before{content:"\f106"}.icon-email:before{content:"\f107"}.icon-gallery:before{content:"\f108"}.icon-line:before{content:"\f109"}.icon-list:before{content:"\f10a"}.icon-menu:before{content:"\f10b"}.icon-play:before{content:"\f10c"}.icon-recipe:before{content:"\f10d"}.icon-search:before{content:"\f10e"}.icon-tiktok:before{content:"\f10f"}.icon-arrow-left02:before{content:"\f110"}.icon-arrow-right02:before,.nav-swipeable .nav-menu-subscribe:before{content:"\f111"}.icon-checkmark:before{content:"\f112"}.icon-chevrondown:before,.new-sidepanel-menu-parent-item.has-children:before,.sidepanel-location-choice-parent-item div a:before{content:"\f113"}.icon-editors-choice:before{content:"\f114"}.icon-facebook:before{content:"\f115"}.icon-feature:before{content:"\f116"}.icon-giphy:before{content:"\f117"}.icon-globe:before,.sidepanel-location-choice-parent-item:before{content:"\f118"}.icon-instagram:before{content:"\f119"}.icon-new-search:before{content:"\f11a"}.icon-pinterest:before{content:"\f11b"}.icon-print:before{content:"\f11c"}.icon-quiz:before{content:"\f11d"}.icon-rating-empty:before{content:"\f11e"}.icon-rating-half:before{content:"\f11f"}.icon-rating:before{content:"\f120"}.icon-spotify:before{content:"\f121"}.icon-ten-best:before{content:"\f122"}.icon-tumblr:before{content:"\f123"}.icon-twitter:before{content:"\f124"}.icon-user:before{content:"\f125"}.icon-vimeo:before{content:"\f126"}.icon-vine:before{content:"\f127"}.icon-x:before{content:"\f128"}.icon-youtube:before{content:"\f129"}body{overflow-x:hidden}body.no-scroll{overflow:hidden}body.no-tab *{outline:0}.no-js body *{display:initial!important;opacity:1!important;visibility:visible!important;overflow:visible!important;transform:none!important;float:none!important;position:static!important;height:auto!important;max-height:auto!important;width:auto!important;max-width:auto!important;transition:none!important;top:auto!important;left:auto!important;z-index:auto!important;margin:initial!important;padding:initial!important;border:initial!important}.no-js body * script{display:none!important}.no-js body * :after{content:' '!important;display:table!important;clear:both!important}@media(pointer:coarse){.site-content{overflow-x:hidden}}img.lazyimage,picture.lazyimage{opacity:0;transition:opacity .4s linear}img.lazyimage.lazyloaded,picture.lazyimage.lazyloaded{opacity:1}hr{clear:both}iframe{max-width:100%}img.click-to-play-animated,picture.click-to-play-animated{display:none!important;position:absolute;top:0;left:0;right:0}img.click-to-play-animated.active,picture.click-to-play-animated.active{display:block!important}.sponsor-bar.brand-logo .sponsor-label svg{height:1.125rem}@media only screen and (min-width:40.625rem){.sponsor-bar.brand-logo .sponsor-label svg{height:1.3rem}}@media only screen and (min-width:61.25rem){.sponsor-bar.brand-logo .sponsor-label svg{height:1.5rem}}.sponsor-bar .sponsor-image img,.sponsor-bar.brand-logo .sponsor-image img{max-height:2.5rem;max-width:9.375rem}@media only screen and (min-width:40.625rem){.sponsor-bar .sponsor-image img,.sponsor-bar.brand-logo .sponsor-image img{max-width:10rem}}@media only screen and (min-width:61.25rem){.sponsor-bar .sponsor-image img,.sponsor-bar.brand-logo .sponsor-image img{max-width:10.9375rem}}.sponsor-label{display:inline-block}@media only screen and (-webkit-min-device-pixel-ratio:0) and (min-width:61.25rem){.nav-sponsor-label{padding-right:.625rem}}.sponsor-image{display:inline-block}.sponsor-bar{display:flex;align-items:center;justify-content:center;-ms-flex-pack:center;text-align:center;z-index:5999995;height:3.375rem}.sponsor-bar .sponsor-bar-inner{display:flex;align-items:center;justify-content:center;-ms-flex-pack:center}@media only screen and (min-width:61.25rem){.no-mobile.no-tablet .sponsor-bar{display:flex;height:auto}}.sponsor-bar.brand-logo{display:flex;align-items:center;justify-content:center;-ms-flex-pack:center}.sponsor-bar.brand-logo .sponsor-bar-inner{display:flex;align-items:center;justify-content:center;-ms-flex-pack:center}.sponsor-bar.brand-logo .sponsor-label{line-height:0}.sponsor-bar.brand-logo .sponsor-image{line-height:0}.sponsor-bar.presented-by .sponsor-label,.sponsor-bar.provided-by .sponsor-label,.sponsor-bar.created-for .sponsor-label,.sponsor-bar.custom-label .sponsor-label{display:block;margin:0 .5rem}@media only screen and (min-width:61.25rem){.no-mobile.no-tablet .sponsor-bar.presented-by .sponsor-label,.no-mobile.no-tablet .sponsor-bar.provided-by .sponsor-label,.no-mobile.no-tablet .sponsor-bar.created-for .sponsor-label,.no-mobile.no-tablet .sponsor-bar.custom-label .sponsor-label{margin-bottom:.5rem}}.sponsor-bar.presented-by .sponsor-image,.sponsor-bar.provided-by .sponsor-image,.sponsor-bar.created-for .sponsor-image,.sponsor-bar.custom-label .sponsor-image{display:block;margin:0 auto;line-height:0}.sponsor-bar.sticky{transform:none;position:fixed;max-width:100%;left:0;right:0;top:0;margin:0 auto;z-index:5999995}@media only screen and (min-width:61.25rem){.no-mobile.no-tablet .sponsor-bar.sticky{top:3.375rem}}.sponsor-bar.sticky+.sponsor-bar-placeholder{position:static}.sponsor-bar-placeholder{position:absolute}.sponsor-inline{line-height:1;font-size:0}.sponsor-inline .sponsor-label:after{content:'';display:inline-block}.sponsor-inline .sponsor-label,.sponsor-inline .sponsor-image{display:inline}.feed-grid .sponsor-inline{text-align:center;margin:.625rem 0}.sponsor.created-for .created-for--long{display:none}.sponsor.created-for .created-for--xshort{display:none}.sponsor.created-for .created-for--short{display:inline}@media only screen and (min-width:61.25rem){.sponsor.created-for .created-for--long{display:inline}.sponsor.created-for .created-for--short{display:none}}.sponsor.custom-label .custom-label--long{display:none}.sponsor.custom-label .custom-label--xshort{display:none}.sponsor.custom-label .custom-label--short{display:inline}@media only screen and (min-width:61.25rem){.sponsor.custom-label .custom-label--long{display:inline}.sponsor.custom-label .custom-label--short{display:none}}.top-pathing .created-for .created-for--long,.top-pathing .created-for .created-for--short{display:none}.top-pathing .created-for .created-for--xshort{display:inline}.top-pathing .custom-label .custom-label--long,.top-pathing .custom-label .custom-label--short{display:none}.top-pathing .custom-label .custom-label--xshort{display:inline}.top-pathing .sponsor-inline{margin-bottom:0;padding-bottom:0}.sponsor+.item-title{margin-top:0;padding-top:0}.feed-header.fre-sponsrd-header,.content-header.fre-sponsrd-header{margin-top:0;padding-top:0}.sponsor-nav-inner.brand-logo .nav-sponsor-image img{max-height:2.5rem;max-width:14rem}.sponsor-nav-inner.presented-by .nav-sponsor-image img,.sponsor-nav-inner.provided-by .nav-sponsor-image img,.sponsor-nav-inner.created-for .nav-sponsor-image img,.sponsor-nav-inner.custom-label .nav-sponsor-image img{max-height:2.5rem;max-width:7.4rem}.nav-menu,.nav-submenu{margin:0;padding:0;line-height:0}@media screen and (min-width:0\0){.active.nav-menu,.active.nav-submenu,.nav-menu .nav-menu-item.active,.nav-submenu .nav-menu-item.active{flex:0 0 auto}}.nav-menu,.nav-submenu,.nav-bar-container,.nav-scrollable-inner,.nav-swipeable-inner{height:3.375rem;display:flex;align-items:center}.nav{transition:transform .3s ease-in-out;z-index:5999997}.marquee+.nav,.sponsored-marquee+.nav{padding-bottom:0}@media only screen and (min-width:61.25rem){.nav{position:relative}.nav.sticky{position:fixed;max-width:100%;left:0;right:0;top:0;margin:0 auto;z-index:5999997;transition:unset}.nav.sticky+.nav-placeholder{position:static}.nav.sticky.unsticky{position:relative;transition:unset}.nav.sticky.unsticky+.nav-placeholder{position:absolute}}.nav.sponsor-sticky{transition:top .3s ease-in-out;position:fixed;max-width:100%;left:0;right:0;top:0;margin:0 auto;z-index:5999997}.nav.sponsor-sticky+.nav-placeholder{position:static}.nav.sponsor-sticky.inactive{top:calc(-2*3.375rem)}@media only screen and (min-width:61.25rem){.nav.sponsor-sticky.inactive{top:-3.375rem}}.nav-placeholder{background-color:#f0ede5;height:calc(2*3.375rem);position:absolute}@media only screen and (min-width:61.25rem){.nav-placeholder{height:3.375rem}}.nav-bar{background-color:#f0ede5;height:3.375rem;z-index:1}.nav-bar.new-nav{height:auto}.nav-bar.new-nav .nav-bar-container{height:6.75rem;flex-wrap:wrap}@media only screen and (min-width:61.25rem){.nav-bar.new-nav{height:3.375rem}.nav-bar.new-nav .nav-bar-container{height:3.375rem;flex-wrap:initial}}.nav-bar-container{display:flex;width:100%}.sponsor-nav{transition:top .3s ease-in-out;z-index:5999997;position:fixed;top:calc(-2*3.375rem);width:100%}@media only screen and (min-width:61.25rem){.sponsor-nav{top:-3.375rem}.sponsor-nav.active{display:block;top:0}}.sponsor-nav .nav-bar .nav-logo path{fill:#000}.sponsor-nav-menu{line-height:1}.sponsor-nav-menu .nav-title{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sponsor-nav-inner{display:flex;align-items:center;justify-content:center;-ms-flex-pack:center}.sponsor-nav-inner.brand-logo{display:flex;align-items:center;justify-content:center;-ms-flex-pack:center}.sponsor-nav-inner.brand-logo .nav-sponsor-label{line-height:0}.sponsor-nav-inner.brand-logo .nav-sponsor-label path{fill:#000}.sponsor-nav-inner.brand-logo .nav-sponsor-label svg{height:1rem;vertical-align:middle}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.sponsor-nav-inner.brand-logo .nav-sponsor-label svg{max-width:5.625rem}}.sponsor-nav-inner.brand-logo .nav-sponsor-image{line-height:0}.sponsor-nav-inner.presented-by .nav-sponsor-label,.sponsor-nav-inner.provided-by .nav-sponsor-label,.sponsor-nav-inner.created-for .nav-sponsor-label,.sponsor-nav-inner.custom-label .nav-sponsor-label{display:inline-block;white-space:nowrap;margin:0 .3rem}.sponsor-nav-inner.presented-by .nav-sponsor-image,.sponsor-nav-inner.provided-by .nav-sponsor-image,.sponsor-nav-inner.created-for .nav-sponsor-image,.sponsor-nav-inner.custom-label .nav-sponsor-image{display:block;margin:0 auto;line-height:0}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.sponsor-nav-inner{position:absolute;top:.4375rem;right:0}}.nav-sponsor-image{line-height:0}.homepage .nav-button{display:block}.nav-button .icon,.nav-button .nav-swipeable .nav-menu-subscribe:before,.nav-swipeable .nav-button .nav-menu-subscribe:before,.nav-button .new-sidepanel-menu-parent-item.has-children:before,.nav-button .sidepanel-location-choice-parent-item:before,.nav-button .sidepanel-location-choice-parent-item div a:before,.sidepanel-location-choice-parent-item div .nav-button a:before,.nav-button .sidepanel-item.has-children>a:before,.nav-button .sidepanel-item.has-children>div .sidepanel-submenu-toggle,.sidepanel-item.has-children>div .nav-button .sidepanel-submenu-toggle,.nav-button .sidepanel-new-item.has-children>a:before{display:inline;font-size:1.6rem}.nav-button.nav-sidepanel-button.close-menu{padding-right:0}.nav-button.nav-sidepanel-button.hide-menu{display:none}.nav-button.nav-search-button{display:none}@media only screen and (min-width:61.25rem){.nav-button.nav-search-button{display:block}}.homepage .nav-button.nav-search-button{display:block}.nav-button.subscribe-button{display:flex;align-items:center;margin-left:auto}.nav-button.subscribe-button.subscribe-text{white-space:nowrap}.nav-button.subscribe-button.hide-menu{display:none}.nav-button.account-button{display:flex;align-items:center;margin-left:.75rem}.nav-button.account-button .account-icon{line-height:1;margin-right:.1875rem}.nav-button.account-button .account-icon svg{width:.875rem;height:.875rem}@media only screen and (min-width:61.25rem){.nav-button.account-button .account-icon{cursor:pointer}}.nav-button.account-button .account-text{position:relative;white-space:nowrap}.nav-button.account-button.hide-menu{display:none}.account-dropdown-container{position:relative}.account-dropdown-container .account-dropdown{display:none;position:absolute;right:-1rem;top:.84375rem;z-index:9999999;padding-top:1.125rem;text-align:right}.show-account-dropdown .account-dropdown-container .account-dropdown{display:block}.account-dropdown-container .account-dropdown .account-dropdown-links{background-color:#f0ede5;box-shadow:0 10px 16px -4px rgba(0,0,0,.24);padding:.5rem 1rem;min-width:6rem}.account-dropdown-container .account-dropdown .account-dropdown-link{text-decoration:none;white-space:nowrap;display:inline-block;width:100%}@media only screen and (min-width:61.25rem){.account-dropdown-container .account-dropdown .account-dropdown-link:hover{text-decoration:underline;-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}}.nav-logo{line-height:0;text-align:left;margin-left:1rem}@media only screen and (min-width:48rem){.nav-logo svg{margin-left:0}}@media only screen and (min-width:61.25rem){.nav-logo{display:flex;flex-grow:0}}.nav-logo svg{width:4.5rem;height:1.75rem;vertical-align:middle}.homepage .nav-logo{display:none}.homepage .nav-logo.sso-enabled{display:flex}@media only screen and (min-width:61.25rem){.homepage .nav-logo{display:flex}}.homepage .new-nav .nav-logo{display:flex}.nav-scrollable{position:relative;width:100%;order:1}@media only screen and (min-width:61.25rem){.nav-scrollable{background-color:#f0ede5;width:auto;order:initial}}.nav-scrollable .nav-primary-menu{display:flex;opacity:1;overflow:visible}.nav-scrollable .nav-primary-menu .nav-item{margin:0;padding:0 1.875rem 0 1.25rem}.nav-scrollable .nav-primary-menu .nav-item:first-child{padding-left:1.25rem}@media only screen and (min-width:61.25rem){.nav-scrollable .nav-primary-menu .nav-item{padding:0 1.25rem}.nav-scrollable .nav-primary-menu .nav-item:first-child{padding-left:1.25rem}}.nav-scrollable .nav-primary-menu .nav-item>a{cursor:pointer;white-space:nowrap;color:inherit}.nav-scrollable .nav-primary-menu .nav-item>a:hover,.nav-scrollable .nav-primary-menu .nav-item.active>a{text-decoration:underline;text-decoration-thickness:.0625rem;text-underline-offset:.25rem}.nav-swipeable{position:relative;overflow:scroll;-webkit-overflow-scrolling:touch}.nav-swipeable::-webkit-scrollbar{display:none}@media only screen and (min-width:61.25rem){.nav-swipeable{background-color:#f0ede5;width:100%}}.nav-swipeable a,.nav-swipeable .nav-menu-link{cursor:pointer;white-space:nowrap}.marquee+.nav .nav-swipeable,.sponsored-marquee+.nav .nav-swipeable{top:auto}.homepage .nav-swipeable{background-color:#f0ede5;display:block;opacity:1;transition:opacity .3s linear;width:100%}.homepage .nav-swipeable .nav-primary-menu{display:flex;opacity:1}.homepage .nav-swipeable .nav-menu-subscribe{display:none}@media only screen and (min-width:61.25rem){.homepage .nav-swipeable .nav-menu-subscribe{display:block}}.nav-swipeable .nav-primary-menu{display:none;opacity:0}@media only screen and (min-width:61.25rem){.nav-swipeable .nav-primary-menu{display:flex;opacity:1;transition:opacity .3s linear}}@media only screen and (min-width:61.25rem){.nav-swipeable .nav-menu-subscribe:before{display:none}}.nav-swipeable .nav-menu-subscribe .nav-submenu{display:none}@media only screen and (min-width:61.25rem){.nav-swipeable .nav-menu-subscribe .nav-submenu{display:block}}.nav-scrollable-inner{display:flex;flex:0 0 auto;flex-grow:1;justify-content:flex-start;width:100%;height:2rem;overflow-y:hidden;overflow-x:auto}.nav-scrollable-inner::-webkit-scrollbar{height:0}@media only screen and (min-width:61.25rem){.nav-scrollable-inner{width:auto;height:3.375rem}}.nav-scrollable-inner>.nav-menu{-ms-overflow-style:none;scrollbar-width:none}.nav-scrollable-inner>.nav-menu::-webkit-scrollbar{display:none}.nav-swipeable-inner.sso-enabled{display:none}@media only screen and (min-width:61.25rem){.nav-swipeable-inner{display:flex;flex:0 0 auto;flex-grow:1;justify-content:flex-start;width:auto}.nav-swipeable-inner.sso-enabled{display:flex}}.nav-menu .nav-item{line-height:1}.nav-primary-menu{display:flex;flex:0 1 100%}.nav-primary-menu:not(.nav-mobile-mode) .nav-item:nth-child(n+4){display:none}@media only screen and (min-width:40.625rem){.nav-primary-menu:not(.nav-mobile-mode) .nav-item:nth-child(n+4){display:block}}@media only screen and (min-width:61.25rem){.show-social .nav-primary-menu,.show-subscribe .nav-primary-menu{opacity:0;width:0}.show-social .nav-primary-menu .nav-item,.show-subscribe .nav-primary-menu .nav-item{display:none}}@media only screen and (min-width:73.75rem){.nav-primary-menu{flex-shrink:1}}.nav-after{display:none}.show-social .nav-after,.show-subscribe .nav-after{opacity:0;width:0}@media only screen and (min-width:61.25rem){.nav-after{display:flex;flex:0 1 100%}}@media only screen and (min-width:61.25rem){.nav-secondary-menu .nav-menu-item{display:flex;justify-content:flex-end}}@media only screen and (min-width:61.25rem){.nav-submenu{display:flex;flex:1 0 auto}.nav-submenu a{transition:opacity 1s ease,color 1s ease}.show-social .nav-submenu{width:auto}}@media only screen and (min-width:61.25rem){.nav-menu-subscribe{display:flex;flex-shrink:3.7;flex-grow:2;order:0;line-height:1}.nav-menu-subscribe ul{display:flex;width:0;height:0}.show-subscribe .nav-menu-subscribe{flex-shrink:0;flex-grow:2}.show-subscribe .nav-menu-subscribe .nav-submenu{width:100%;order:-1;white-space:nowrap;opacity:1;margin-right:2rem;justify-content:flex-end;width:auto;height:auto}.show-subscribe .nav-menu-subscribe .nav-submenu .nav-item{display:inline-block}.show-subscribe .nav-menu-subscribe .nav-submenu .nav-item:last-of-type{margin-right:0;padding-right:0}.nav-menu-subscribe .nav-item{display:none}.show-social .nav-menu-subscribe{display:none}}@media only screen and (min-width:61.25rem) and (min-width:0\0){.nav-menu-subscribe{flex-shrink:1;flex-grow:0;flex-basis:auto}.show-subscribe .nav-menu-subscribe{flex-shrink:1;flex-grow:0;flex-basis:auto}.show-subscribe .nav-menu-subscribe .nav-submenu{justify-content:flex-start}}.nav-menu-newsletter{display:none}@media only screen and (min-width:61.25rem){.nav-menu-newsletter{display:flex}.sso-enabled .nav-menu-newsletter{display:none}}.nav-menu-social{display:none}@media only screen and (min-width:61.25rem){.nav-menu-social{display:flex;flex-shrink:0;flex-grow:1;flex-basis:auto}.show-social .nav-menu-social{flex-shrink:0;flex-grow:1;flex-basis:auto}.nav-menu-social .nav-submenu{order:-1;display:none}.show-social .nav-menu-social .nav-submenu{display:flex;opacity:1}.nav-menu-social .nav-submenu>.nav-item>span{order:2}}@media only screen and (min-width:61.25rem) and (min-width:0\0){.show-social .nav-menu-social{flex:0 0 auto}}.show-social .social-button-group{margin-right:.9375rem}@media only screen and (min-width:61.25rem){.nav-menu-item{align-items:center}.nav-menu-subscribe .nav-menu-item,.nav-menu-social .nav-menu-item{display:flex}}.top-nav-subscribe{text-decoration:none;box-shadow:0 .0625rem .1875rem 0 rgba(102,102,102,.1),0 .0625rem .125rem 0 rgba(102,102,102,.06);color:#666;background:#fff;margin:0 0 0 auto;width:auto;overflow:visible;height:1.875rem;display:flex;align-items:center;text-align:center;line-height:1}@media only screen and (min-width:61.25rem){.top-nav-subscribe{transition:box-shadow .2s linear,background .2s linear}.top-nav-subscribe:hover{box-shadow:0 .25rem .375rem -.0625rem rgba(102,102,102,.1),0 .125rem .25rem -.0625rem rgba(102,102,102,.06);background:rgba(255,255,255,.85)}}.sponsor-bar.brand-logo .sponsor-label svg{max-width:6.25rem}@media only screen and (min-width:40.625rem){.sponsor-bar.brand-logo .sponsor-label svg{max-width:7.25rem}}@media only screen and (min-width:61.25rem){.sponsor-bar.brand-logo .sponsor-label svg{max-width:8.375rem}}.sponsor-label,.nav-sponsor-label,.sponsor-image,.sponsor-logo-separator{font-family:Gabor,Arial,Sans-serif;font-size:.75rem;line-height:1;letter-spacing:.05rem;text-transform:uppercase;color:#000}.sponsor-bar{background-color:#f8f8f8;border-bottom:.063rem solid #cdcdcd;margin-bottom:.625rem;padding:.5rem 0}@media only screen and (min-width:40.625rem){.sponsor-bar{margin-bottom:.9375rem}}@media only screen and (min-width:48rem){.sponsor-bar{border-top:.063rem solid #cdcdcd}}.sponsor-bar .sponsor-logo-separator,.nav-sponsor-logo-separator{font-family:SaolText,Georgia,Times,Serif;font-size:1rem;line-height:1.2;color:#000;margin:0 .5rem}.sponsor-bar.marquee-sponsor{margin:0}.sponsor-bar.longform-sponsor{margin:0;padding:.9375rem}.top-pathing .sponsor-inline{margin-top:.25rem;padding:0 .625rem}@media only screen and (min-width:40.625rem){.top-pathing .sponsor-inline{padding:0}}.feed-list .sponsor-inline{margin-bottom:.625rem}.collection-breaker .sponsor-inline{padding:0 .9375rem}@media only screen and (min-width:61.25rem){.collection-breaker .sponsor-inline{text-align:center;transform:translate(0,-3rem);width:100%}}.curated-breaker .sponsor-inline{padding:0 .625rem}@media only screen and (min-width:61.25rem){.curated-breaker .sponsor-inline{text-align:center;transform:translate(0,-1rem);width:100%}}.feed-header .sponsor-inline{margin-bottom:.625rem}@media only screen and (min-width:40.625rem){.feed-header .sponsor-inline{margin-bottom:.25rem}}.sponsor-inline.feature-item-sponsor{text-align:left}@media only screen and (min-width:40.625rem){.sponsor-inline.feature-item-sponsor{margin-bottom:.625rem}}@media only screen and (min-width:61.25rem){.sponsor-inline.feature-item-sponsor{text-align:center}}.recirculation-module .sponsor-inline{margin-top:.125rem;padding-left:.3125rem}@media only screen and (min-width:61.25rem){.recirculation-module .sponsor-inline{margin-top:.25rem}}.feed-transporter .sponsor-inline{line-height:.75}.marquee-sponsor-wrap+.feed-grid{margin-top:1.25rem}.grid-header-sponsor+.grid-header-title{text-align:center}.nav{border-bottom:.15rem solid #e638c5}.sponsor-sticky.nav{border-bottom:0}@media only screen and (min-width:61.25rem){.nav-logo{margin-right:.625rem}}.nav-button{color:#000;line-height:0}.nav-button.nav-search-button{padding-left:1.25rem}.sponsor-nav-menu:first-child,.nav-menu .nav-item:first-child{padding-left:.9375rem}@media only screen and (min-width:61.25rem){.sponsor-nav-menu:first-child,.nav-menu .nav-item:first-child{padding-left:0}}.nav-swipeable a,.nav-swipeable .nav-menu-link{font-family:Gabor,Arial,Sans-serif;font-size:.875rem;letter-spacing:.1rem;color:#000;line-height:1;padding-right:.9375rem;text-transform:uppercase}.nav-scrollable .nav-primary-menu .nav-item>a{font-family:Gabor,Arial,Sans-serif;font-size:.875rem;letter-spacing:.1rem;color:#000;line-height:1;text-transform:uppercase;font-weight:400;text-decoration:none}.nav-secondary-menu .nav-menu-item a,.nav-secondary-menu .nav-menu-item .nav-menu-link{color:#535353;line-height:1;margin-top:.2rem}.nav-swipeable .nav-menu-subscribe:before{color:#535353;font-size:.9rem;height:.875rem;margin-right:.25rem}.nav-swipeable .nav-menu-subscribe .nav-menu-item{padding-bottom:.125rem}.nav-swipeable .nav-menu-subscribe .nav-menu-item a{padding-right:0}@media only screen and (min-width:61.25rem){.nav-swipeable .nav-menu-subscribe .nav-menu-item{padding-bottom:0}.nav-swipeable .nav-menu-subscribe .nav-menu-item a{padding-right:1.25rem}}.sponsor-nav .nav-bar{background-color:#f0ede5;border-bottom:.063rem solid #cdcdcd}.sponsor-nav .nav-bar .nav-swipeable{background-color:transparent}.sponsor-nav .nav-bar .nav-button{color:#000}.sponsor-bar .sponsor-logo-separator,.nav-sponsor-logo-separator{color:#000}.sponsor-nav-menu .nav-title{font-family:Gabor,Arial,Sans-serif;font-size:.875rem;line-height:1;color:#000;line-height:.8;text-decoration:none;text-transform:uppercase;letter-spacing:.05rem}@media only screen and (min-width:61.25rem){.sponsor-nav-menu .nav-title{font-size:1rem;line-height:1}}.sponsor-nav-inner.brand-logo .nav-sponsor-label a{padding-right:0}.nav-swipeable .nav-menu-subscribe{display:flex}.marquee{transition:transform .3s ease-in-out}@media only screen and (min-width:20rem){#sidepanel:target~.marquee{transform:translateX(20rem)}}@media only screen and (min-width:null){#sidepanel:target~.marquee{transform:translateX(17rem)}}@media only screen and (min-width:null){#sidepanel:target~.marquee{transform:translateX(14rem)}}@media only screen and (min-width:null){#sidepanel:target~.marquee{transform:translateX(11rem)}}@media only screen and (min-width:100rem){#sidepanel:target~.marquee{transform:translateX(7rem)}}.new-sidepanel.active{transform:translateX(0)}.new-sidepanel .sidepanel-submenu-toggle{display:none;visibility:hidden}.sidepanel-location-choice-menu,.sidepanel-location-choice-submenu,.new-sidepanel-menu,.new-sidepanel-submenu{list-style:none;margin:0;padding:0}.sidepanel-location-choice-menu a,.sidepanel-location-choice-submenu a,.new-sidepanel-menu a,.new-sidepanel-submenu a{text-decoration:none}.sidepanel-location-choice-menu .sidepanel-legal-ads-free,.sidepanel-location-choice-submenu .sidepanel-legal-ads-free,.new-sidepanel-menu .sidepanel-legal-ads-free,.new-sidepanel-submenu .sidepanel-legal-ads-free{margin:1.5625rem 0 .5rem 1rem}.new-sidepanel-menu{flex:1 0 auto}.new-sidepanel-menu.legal-ads-free{display:flex;flex-direction:column;justify-content:flex-end}.sidepanel-location-choice-menu{max-width:50%;margin:1.5625rem 0 .5rem 1rem}.sidepanel-location-choice-submenu{margin-top:0}.new-sidepanel-menu{flex:1 0 auto}.new-sidepanel-menu.legal-ads-free{display:flex;flex-direction:column;justify-content:flex-end;flex-basis:auto}@media only screen and (min-width:48rem){.new-sidepanel-menu.legal-ads-free{flex:0;flex-basis:auto}}@keyframes fadeIn{99%{visibility:hidden;display:none}100%{visibility:visible;display:block}}.sidepanel-location-choice-submenu,.new-sidepanel-submenu{transition:max-height .3s cubic-bezier(0,1,0,1),opacity .2s linear .15s,margin .3s linear;max-height:0;height:unset;overflow:hidden;opacity:0;visibility:hidden;display:none;animation:1s fadeIn;animation-fill-mode:forwards}.sidepanel-location-choice-submenu.active,.new-sidepanel-submenu.active{margin-top:.9375rem}.new-sidepanel-submenu{width:calc(100% + 2rem);background-color:#343434;margin-left:-1rem}.sidepanel-location-choice-parent-item.active .sidepanel-location-choice-submenu,.sidepanel-location-choice-parent-item.active .new-sidepanel-submenu,.new-sidepanel-menu-parent-item.active .sidepanel-location-choice-submenu,.new-sidepanel-menu-parent-item.active .new-sidepanel-submenu{max-height:27rem;overflow-y:scroll;height:auto;transition:max-height .3s cubic-bezier(1,0,1,0),opacity .3s ease-in .15s,margin .3s linear;opacity:1;visibility:visible;display:block}.sidepanel-location-choice-parent-item.active .new-sidepanel-submenu,.new-sidepanel-menu-parent-item.active .new-sidepanel-submenu{margin-top:.75rem}.sidepanel-location-choice-parent-item.active .sidepanel-location-choice-submenu,.new-sidepanel-menu-parent-item.active .sidepanel-location-choice-submenu{margin-top:.625rem}.new-sidepanel-menu-parent-item{transition:background-color .2s linear;padding:0 1rem;cursor:pointer}.new-sidepanel-menu-parent-item a{color:silver;display:flex;align-items:center;position:relative;width:100%;height:2.875rem;transition:color .2s linear}@media only screen and (min-width:61.25rem){.new-sidepanel-menu-parent-item:hover{background-color:#272727}.new-sidepanel-menu-parent-item:hover a{color:silver}}.new-sidepanel-menu-parent-item.has-children{padding:.5rem 1rem;transition:padding .3s linear,background-color .2s linear;position:relative}.new-sidepanel-menu-parent-item.has-children.active{background-color:#272727;padding:.5rem 1rem 0}.new-sidepanel-menu-parent-item.has-children.active a{color:silver}.new-sidepanel-menu-parent-item.has-children.active:before{transform:rotate(0)}.new-sidepanel-menu-parent-item.has-children a,.new-sidepanel-menu-parent-item.has-children div a{color:silver;height:unset;display:unset;align-items:unset}.new-sidepanel-menu-parent-item.has-children:before{color:silver;position:absolute;right:1rem;top:1.25rem;transition:transform .25s ease-in-out;font-size:.625rem;transform-origin:center;transform:rotate(-90deg)}@media only screen and (min-width:61.25rem){.new-sidepanel-menu-parent-item.has-children:hover>a,.new-sidepanel-menu-parent-item.has-children:hover>div a{color:silver}}.sidepanel-location-choice-parent-item{padding-left:1.1875rem;position:relative}.sidepanel-location-choice-parent-item:before{position:absolute;left:0;transition:transform .3s ease-in-out;font-size:.75rem;color:silver}.sidepanel-location-choice-parent-item div a{color:silver;position:relative;display:flex;align-items:center;width:-webkit-max-content;width:max-content;pointer-events:none}.sidepanel-location-choice-parent-item div a:before{color:silver;position:absolute;right:-1.25rem;top:.125rem;transition:transform .25s ease-in-out;font-size:.625rem;transform-origin:center;transform:rotate(-90deg)}.sidepanel-location-choice-parent-item.active div a:before{transform:rotate(0)}.sidepanel-location-choice-submenu-item a{color:silver;height:1.5625rem;display:flex;align-items:center}@media only screen and (min-width:61.25rem){.sidepanel-location-choice-submenu-item a{transition:opacity .2s linear}.sidepanel-location-choice-submenu-item a:hover{opacity:.8;text-decoration:underline;-webkit-text-decoration-skip:ink;text-decoration-skip:ink}}.new-sidepanel-submenu-item{font-size:90%;padding:0 1rem;height:2.5rem;display:flex;align-items:center;cursor:pointer;transition:background-color .2s linear}.new-sidepanel-submenu-item div{width:100%}.new-sidepanel-submenu-item a{color:#dadada;height:2.5rem;display:flex;align-items:center;opacity:1;transition:opacity .2s linear}@media only screen and (min-width:61.25rem){.new-sidepanel-submenu-item:hover{background-color:#1b1a1a}.new-sidepanel-submenu-item:hover a{opacity:.8}}.new-sidepanel-close-button{position:absolute;right:1.0625rem;top:1.3125rem;display:flex;align-items:center;color:silver;text-decoration:none}.new-sidepanel-close-button .icon,.new-sidepanel-close-button .nav-swipeable .nav-menu-subscribe:before,.nav-swipeable .new-sidepanel-close-button .nav-menu-subscribe:before,.new-sidepanel-close-button .new-sidepanel-menu-parent-item.has-children:before,.new-sidepanel-close-button .sidepanel-location-choice-parent-item:before,.new-sidepanel-close-button .sidepanel-location-choice-parent-item div a:before,.sidepanel-location-choice-parent-item div .new-sidepanel-close-button a:before,.new-sidepanel-close-button .sidepanel-item.has-children>a:before,.new-sidepanel-close-button .sidepanel-item.has-children>div .sidepanel-submenu-toggle,.sidepanel-item.has-children>div .new-sidepanel-close-button .sidepanel-submenu-toggle,.new-sidepanel-close-button .sidepanel-new-item.has-children>a:before{font-size:.875rem}.sidepanel-search-container{margin:.6875rem 0 0;padding:0 .9375rem;width:-webkit-min-content;width:min-content}.sidepanel-search-button{text-decoration:none;color:silver;height:2.1875rem;display:flex;align-items:center}.sidepanel-search-button .icon,.sidepanel-search-button .nav-swipeable .nav-menu-subscribe:before,.nav-swipeable .sidepanel-search-button .nav-menu-subscribe:before,.sidepanel-search-button .new-sidepanel-menu-parent-item.has-children:before,.sidepanel-search-button .sidepanel-location-choice-parent-item:before,.sidepanel-search-button .sidepanel-location-choice-parent-item div a:before,.sidepanel-location-choice-parent-item div .sidepanel-search-button a:before,.sidepanel-search-button .sidepanel-item.has-children>a:before,.sidepanel-search-button .sidepanel-item.has-children>div .sidepanel-submenu-toggle,.sidepanel-item.has-children>div .sidepanel-search-button .sidepanel-submenu-toggle,.sidepanel-search-button .sidepanel-new-item.has-children>a:before{padding-right:.5rem;font-size:.875rem}.sidepanel-search-text{letter-spacing:.04em;text-transform:uppercase}.sidepanel-footer-container{display:flex;width:100%;flex-shrink:0;height:3.125rem;align-items:center;margin-left:1rem;flex-direction:column;margin-top:1rem}.sidepanel-footer-item{font-size:.625rem;margin-right:1rem;text-transform:uppercase;text-decoration:none;color:silver;margin-bottom:.5rem}.sidepanel-footer-item:last-of-type{margin-right:0}@media only screen and (min-width:61.25rem){.sidepanel-footer-item{transition:opacity .2 linear}.sidepanel-footer-item:hover{color:#dadada}}.sidepanel-seperator{margin:.5625rem 1rem;padding:0;background-color:silver;opacity:35%;height:.0625rem;border:0;width:auto;min-height:.0625rem}.sidepanel-seperator:before,.sidepanel-seperator:after{display:none}.ad-container{margin:0}.oop-ad{font-size:0;line-height:0;height:0}.shopping-links-ad{display:none}@media only screen and (min-width:61.25rem){.shopping-links-ad{display:block}.shopping-links-ad .ad-container{display:flex;align-items:center;justify-content:center;padding:1.5rem 0;margin:0 0 auto;width:calc(100% - 20rem)}.shopping-links-ad.no-rail .ad-container{width:100%}}.vertical-ad,.right-rail-ad{min-height:32.6875rem;display:flex;flex-direction:column;justify-content:space-between}@media only screen and (min-width:48rem){.vertical-ad,.right-rail-ad{min-height:8.625rem}}@media only screen and (min-width:61.25rem){.vertical-ad,.right-rail-ad{min-height:unset;display:block;flex-direction:unset;justify-content:unset}}.vertical-ad .ad-container,.right-rail-ad .ad-container{min-width:18.75rem}.right-rail-ad{display:none}@media only screen and (min-width:61.25rem){.right-rail-ad{display:block;margin:0;position:absolute;right:2.5rem}}.ad-sticky{position:fixed;top:88px}.ad-at-bottom{position:absolute;top:auto;bottom:0}.leaderboard-ad{background-color:rgba(226,226,226,.4);display:none;padding:.9375rem 0;margin-bottom:1.25rem;min-height:7.5625rem;text-align:center;z-index:5999995}.leaderboard-ad.transporter-ad{min-height:32.6875rem;display:flex;flex-direction:column;justify-content:center;border:0;width:100vw;margin-left:calc(-50vw + 50%)}@media only screen and (min-width:40.625rem){.leaderboard-ad.transporter-ad{min-height:7.5625rem}}@media only screen and (min-width:61.25rem){.leaderboard-ad{display:block;width:100vw;margin-left:calc(-50vw + 50%)}.leaderboard-ad .ad-container{min-width:45.5rem}}.leaderboard-ad.next-content-leaderboard{padding-top:2.5rem;border-top:.375rem solid #cdcdcd}@media only screen and (min-width:61.25rem){.leaderboard-ad.next-content-leaderboard{border-top-width:.0625rem}}.breaker-ad-text{display:flex;flex-direction:row;justify-content:center;text-align:center;margin:0 0 .625rem}.breaker-ad-text:before,.breaker-ad-text:after{background-color:#9f9f9f;content:"";flex-grow:1;height:.0625rem;position:relative;top:.5em}.breaker-ad-text:before{margin:0 .625rem 0 .938rem}.breaker-ad-text:after{margin:0 .938rem 0 .625rem}@media only screen and (min-width:40.625rem){.breaker-ad-text:before{margin:0 .625rem 0 2.5rem}.breaker-ad-text:after{margin:0 2.5rem 0 .625rem}}@media only screen and (min-width:61.25rem){.breaker-ad-text:before{margin:0 .625rem 0 0}.breaker-ad-text:after{margin:0 0 0 .625rem}}.list-breaker-ad,.grid-breaker-ad,.custom-breaker-ad{margin-top:1.25rem}.list-breaker-ad:after,.grid-breaker-ad:after,.custom-breaker-ad:after{content:"";display:flex;border-bottom:.0625rem solid #9f9f9f;margin:.8125rem .938rem 0}@media only screen and (min-width:40.625rem){.list-breaker-ad:after,.grid-breaker-ad:after,.custom-breaker-ad:after{margin:.8125rem 2.5rem 0}}@media only screen and (min-width:61.25rem){.list-breaker-ad:after,.grid-breaker-ad:after,.custom-breaker-ad:after{margin:.8125rem 0 0}}.list-breaker-ad .breaker-ad-text,.grid-breaker-ad .breaker-ad-text,.custom-breaker-ad .breaker-ad-text{width:100%;text-align:center}.list-breaker-ad+.full-item,.grid-breaker-ad+.full-item,.custom-breaker-ad+.full-item{border-top:0;padding-top:0}.grid-breaker-ad:after{content:"";display:flex;border-bottom:.0625rem solid #9f9f9f;margin:.8125rem .938rem 0}@media only screen and (min-width:40.625rem){.grid-breaker-ad:after{margin:.8125rem 2.5rem 0}}@media only screen and (min-width:61.25rem){.grid-breaker-ad:after{margin:.8125rem 0 0}}@media only screen and (min-width:40.625rem){.grid-breaker-ad{margin-bottom:1.25rem}}.list-vertical-ad:after,.transporter-vertical-ad:after,.feed-block-vertical-ad:after{content:"";display:flex;border-bottom:.0625rem solid #9f9f9f;margin:.8125rem .938rem 0}@media only screen and (min-width:40.625rem){.list-vertical-ad:after,.transporter-vertical-ad:after,.feed-block-vertical-ad:after{margin:.8125rem 2.5rem 0}}@media only screen and (min-width:61.25rem){.list-vertical-ad:after,.transporter-vertical-ad:after,.feed-block-vertical-ad:after{margin:.8125rem 0 0}}.list-vertical-ad+.full-item,.transporter-vertical-ad+.full-item,.feed-block-vertical-ad+.full-item{border-top:0}@media only screen and (min-width:61.25rem){.list-vertical-ad .breaker-ad-text,.transporter-vertical-ad .breaker-ad-text,.feed-block-vertical-ad .breaker-ad-text{display:none}.list-vertical-ad:after,.transporter-vertical-ad:after,.feed-block-vertical-ad:after{display:none}.list-vertical-ad+.full-item,.transporter-vertical-ad+.full-item,.feed-block-vertical-ad+.full-item{border-top:0}}@media only screen and (min-width:61.25rem){.list-vertical-ad,.transporter-vertical-ad{background-color:transparent;border-top:0;display:block;float:right;margin:0 0 1.25rem;padding:0;text-align:center;width:32%}.list-vertical-ad .ad-container,.transporter-vertical-ad .ad-container{float:right}.list-vertical-ad .breaker-ad-text,.transporter-vertical-ad .breaker-ad-text{display:none}}.breaker-ad{position:relative;background-color:transparent;text-align:center;min-height:32.6875rem;display:flex;flex-direction:column;justify-content:space-between}@media only screen and (min-width:48rem){.breaker-ad{min-height:8.625rem}}.breaker-ad .ad-timer{background-color:#ececec;height:.125rem;border-radius:.625rem;position:relative;opacity:0;transition:opacity .2s linear;width:18.75rem;margin:0 auto .25rem}@media only screen and (min-width:40.625rem){.breaker-ad .ad-timer{display:none}}.breaker-ad .ad-timer-fg{position:absolute;left:0;border-radius:.625rem;height:100%;width:0;background-color:#d1d1d1;transition-duration:2s,.1s;transition-property:width,background-color;transition-delay:0s,1.5s}@media only screen and (min-width:61.25rem){.breaker-ad.transporter-vertical-ad{min-height:unset;display:block;flex-direction:unset;justify-content:unset}}.breaker-ad.mobile-ad-inview .ad-timer{opacity:1}.breaker-ad.mobile-ad-inview .ad-timer-fg{background-color:#8dd782;width:100%}.breaker-ad .ad-container{min-width:18.75rem;width:100%}.custom-breaker-ad,.feed-block-vertical-ad{margin-bottom:1.25rem}.custom-breaker-ad:after,.feed-block-vertical-ad:after{margin-right:0;margin-left:0}.custom-breaker-ad .breaker-ad-text:after,.feed-block-vertical-ad .breaker-ad-text:after{margin-right:0}.custom-breaker-ad .breaker-ad-text:before,.feed-block-vertical-ad .breaker-ad-text:before{margin-left:0}.standard-article-breaker-ad{clear:both}@media only screen and (min-width:40.625rem){.standard-article-breaker-ad{transform:none;margin-left:-2.5rem}}@media only screen and (min-width:61.25rem){.standard-article-breaker-ad{width:calc(100% + (51.5%));margin-left:0}}.longform-article-breaker-ad{width:100vw;margin-left:calc(-50vw + 50%);clear:both}@media only screen and (min-width:48rem){.longform-article-breaker-ad{width:unset;margin-left:-9.4585196225%;margin-right:-9.4585196225%}}@media only screen and (min-width:61.25rem){.longform-article-breaker-ad{margin-left:-26.5303030303%;margin-right:-26.5303030303%}}@media only screen and (min-width:73.75rem){.longform-article-breaker-ad{margin-left:-37.9068322981%;margin-right:-37.9068322981%}}.standard-article-breaker-ad,.longform-article-breaker-ad,.review-article-breaker-ad{margin-top:1.25rem;margin-bottom:1.25rem;padding-top:.3125rem}.standard-article-breaker-ad:after,.longform-article-breaker-ad:after,.review-article-breaker-ad:after{content:"";display:flex;border-bottom:.0625rem solid #9f9f9f;margin:.8125rem .938rem 0}@media only screen and (min-width:40.625rem){.standard-article-breaker-ad:after,.longform-article-breaker-ad:after,.review-article-breaker-ad:after{margin:.8125rem 2.5rem 0}}@media only screen and (min-width:61.25rem){.standard-article-breaker-ad:after,.longform-article-breaker-ad:after,.review-article-breaker-ad:after{margin:.8125rem 0 0}}@media only screen and (min-width:61.25rem){.standard-article-breaker-ad.mobile-breaker-ad,.longform-article-breaker-ad.mobile-breaker-ad,.review-article-breaker-ad.mobile-breaker-ad{display:none}}@media only screen and (min-width:61.25rem){.grid-breaker-ad .ad-container,.standard-article-breaker-ad .ad-container,.listicle-slide-list-ad .ad-container,.longform-article-breaker-ad .ad-container,.recipe-breaker-ad .ad-container{position:relative;width:100vw;left:calc(50% - 50vw)}}.recipe-breaker-ad{clear:both;margin-top:1.25rem;margin-bottom:1.25rem;padding-top:.3125rem}.recipe-breaker-ad:after{content:"";display:flex;border-bottom:.0625rem solid #9f9f9f;margin:.8125rem .938rem 0}@media only screen and (min-width:40.625rem){.recipe-breaker-ad:after{margin:.8125rem 2.5rem 0}}@media only screen and (min-width:61.25rem){.recipe-breaker-ad:after{margin:.8125rem 0 0}}@media only screen and (min-width:40.625rem){.recipe-breaker-ad{transform:none;margin-left:-2.5rem}}@media only screen and (min-width:61.25rem){.recipe-breaker-ad{width:100vw;margin-left:calc(-1 * ((100vw - 151.5%) / 2))}.recipe-breaker-ad.mobile-breaker-ad{display:none}}.listicle-slide-list-ad,.listicle-breaker-ad{margin-bottom:1.25rem}.listicle-slide-list-ad:after,.listicle-breaker-ad:after{content:"";display:flex;border-bottom:.0625rem solid #9f9f9f;margin:.8125rem .938rem 0}@media only screen and (min-width:40.625rem){.listicle-slide-list-ad:after,.listicle-breaker-ad:after{margin:.8125rem 2.5rem 0}}@media only screen and (min-width:61.25rem){.listicle-slide-list-ad:after,.listicle-breaker-ad:after{margin:.8125rem 0 0}}@media only screen and (min-width:40.625rem){.listicle-slide-list-ad,.listicle-breaker-ad{transform:none;margin-left:-2.5rem}}@media only screen and (min-width:61.25rem){.listicle-slide-list-ad,.listicle-breaker-ad{width:calc(100% + (51.5%));margin-left:0}.listicle-slide-list-ad.listicle-mobile-breaker-ad,.listicle-breaker-ad.listicle-mobile-breaker-ad{display:none}}.slideshow-leaderboard{display:none}@media only screen and (min-width:61.25rem){.new-tablet-disabled .slideshow-leaderboard,.no-tablet .new-tablet-enabled .slideshow-leaderboard{width:100%;display:block;margin:0}}.slideshow-list-ad:after{content:"";display:flex;border-bottom:.0625rem solid #9f9f9f;margin:.8125rem .938rem 0}@media only screen and (min-width:40.625rem){.slideshow-list-ad:after{margin:.8125rem 2.5rem 0}}@media only screen and (min-width:61.25rem){.slideshow-list-ad:after{margin:.8125rem 0 0}}.mobile-slideshow .slideshow-list-ad{display:none}@media only screen and (min-width:40.625rem){.slideshow-list-ad{transform:none;margin-left:-2.5rem}}@media only screen and (min-width:61.25rem){.slideshow-list-ad{margin-left:0}}@media only screen and (min-width:61.25rem){.new-tablet-disabled .slideshow-list-ad,.no-tablet .new-tablet-enabled .slideshow-list-ad{display:none}}.slideshow-slide-ad{display:none}.mobile-slideshow .slideshow-slide-ad{float:left;height:100%;margin-bottom:0;width:calc(100%/1000);display:block;text-align:center}.mobile-slideshow .slideshow-slide-ad .ad-container{position:absolute;top:50%;transform:translateY(-50%);position:relative;display:inline-block;margin:0 auto}.mobile-slideshow .slideshow-slide-ad .breaker-ad-text{display:none}.slideshow-slide-ad.hidden .ad-container{display:none}.transporter-vertical-ad{clear:both;margin-top:1.25rem;margin-bottom:1.25rem}@media only screen and (min-width:61.25rem){.transporter-vertical-ad{clear:none;float:right;margin:0;text-align:right;width:auto}}@media only screen and (min-width:61.25rem){.vertical-ad .breaker-ad-text,.right-rail-ad .breaker-ad-text,.transporter-breaker-ad .breaker-ad-text{display:none}}@media only screen and (min-width:61.25rem){.ad-article-breaker-text{display:none}}@media only screen and (min-width:40.625rem){.feed-block-with-ad .ad-container,.custom-breaker-ad .ad-container{transform:translate(-2.5rem,0);width:calc(100% + (5rem))}}@media only screen and (min-width:61.25rem){.feed-block-with-ad .ad-container,.custom-breaker-ad .ad-container{transform:none;width:auto}}.feed-block-with-ad .feed-block-vertical-ad{text-align:center}@media only screen and (min-width:40.625rem){.feed-block-with-ad .feed-block-vertical-ad .ad-container{width:calc(100% + (2.5rem*2));left:unset}}@media only screen and (min-width:61.25rem){.feed-block-with-ad .feed-block-vertical-ad{margin:0;grid-column:2;-ms-grid-column:2;position:-webkit-sticky;position:sticky;top:4rem;align-self:flex-start}@supports(-ms-ime-align:auto){.feed-block-with-ad .feed-block-vertical-ad{-ms-grid-row:2}}}@media only screen and (min-width:61.25rem) and (-ms-high-contrast:active),only screen and (min-width:61.25rem) and (-ms-high-contrast:none){.feed-block-with-ad .feed-block-vertical-ad{-ms-grid-row:2}}@media only screen and (min-width:61.25rem){.feed-block-with-ad .feed-block-vertical-ad .breaker-ad-text{display:none}.feed-block-with-ad .feed-block-vertical-ad:before,.feed-block-with-ad .feed-block-vertical-ad:after{display:none}}.feed-block-with-ad .feed-block-vertical-ad .ad-container{transform:translate(-.938rem,0);width:calc(100% + (.938rem*2));margin-left:0}@media only screen and (min-width:48rem){.feed-block-with-ad .feed-block-header{-ms-grid-row-span:1;grid-row-end:1}.feed-block-with-ad .feed-block-vertical-ad,.feed-block-with-ad .feed-block-content,.feed-block-with-ad .feed-block-column{-ms-grid-row:1;grid-row:1}@supports(-ms-ime-align:auto){.feed-block-with-ad .feed-block-vertical-ad,.feed-block-with-ad .feed-block-content{-ms-grid-row:2}}}@media only screen and (min-width:48rem) and (-ms-high-contrast:active),only screen and (min-width:48rem) and (-ms-high-contrast:none){.feed-block-with-ad .feed-block-vertical-ad,.feed-block-with-ad .feed-block-content{-ms-grid-row:2}}.feed-block-with-ad .feed-block-ad-column .feed-block-vertical-ad{margin:0}#journey-container{position:fixed;z-index:5999996;width:100%;bottom:0}#journey-container.docked{position:relative;transform:translateY(.625rem)}.breaker-ad-text,.list-breaker-ad .breaker-ad-text,.grid-breaker-ad .breaker-ad-text,.custom-breaker-ad .breaker-ad-text{font-family:Gabor,Arial,Sans-serif;font-size:.625rem;line-height:1;letter-spacing:.05rem;color:#535353;text-transform:uppercase;text-align:center;padding-bottom:.625rem}@media only screen and (min-width:40.625rem){.list-vertical-ad,.transporter-vertical-ad{padding-top:.9375rem;margin:.9375rem 0}}.ad-sticky:lang(ja-JP),.ad-at-bottom:lang(ja-JP){position:static}.screen-reader-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.title-layout-over.title-color-light .breadcrumb.review li{color:#fff}.title-layout-over.title-color-light .breadcrumb.review li a.breadcrumb-link{opacity:.8;color:#fff}@media only screen and (min-width:61.25rem){.title-layout-over.title-color-light .breadcrumb.review li a.breadcrumb-link:hover{opacity:1;color:#fff}}.longform-breadcrumbs{text-align:center}.breadcrumbs-center{text-align:center}.breadcrumbs-section.subsection-breadcrumbs{padding-bottom:1.25em;margin-bottom:-1.5rem;margin-top:-.6rem;text-decoration:none;margin:0 auto;border:none;font-family:Interstate,Helvetica,Arial,Sans-serif;font-size:.75rem;line-height:1.4}.breadcrumbs-section.subsection-breadcrumbs:before,.breadcrumbs-section.subsection-breadcrumbs:after{content:none}.breadcrumbs-section.subsection-breadcrumbs.heading_body{margin-bottom:-.6rem;margin-top:0}@media only screen and (min-width:40.625rem){.breadcrumbs-section.subsection-breadcrumbs.heading_body{margin-bottom:-3.1rem;margin-top:-.6rem}}@media only screen and (min-width:61.25rem){.breadcrumbs-section.subsection-breadcrumbs.heading_body{margin-bottom:-2.5rem;margin-top:0}}.breadcrumbs-section.subsection-breadcrumbs .breadcrumb li>a{color:#595959;border-bottom:none}@media only screen and (min-width:61.25rem){.breadcrumbs-section.subsection-breadcrumbs .breadcrumb li>a:hover{color:#323232}}.breadcrumbs-section.subsection-breadcrumbs .breadcrumb li>a span{color:#595959}@media only screen and (min-width:61.25rem){.breadcrumbs-section.subsection-breadcrumbs .breadcrumb li>a span:hover{color:#323232}}.breadcrumbs-section{font-family:Interstate,Helvetica,Arial,Sans-serif;font-size:.75rem;line-height:1.4;margin:0 auto;max-width:75rem;padding:0;padding-top:2rem;background-color:transparent;font-weight:400}.breadcrumbs-section.breadcrumb{padding-left:0}.breadcrumbs-section.content-breadcrumbs{padding-left:0;margin-bottom:.5rem;margin:0 auto;padding-top:.2rem;border:none;font-weight:400}.breadcrumbs-section.content-breadcrumbs:before{content:none;display:none}.breadcrumbs-section.content-breadcrumbs .breadcrumb{padding-left:0}.breadcrumbs-section.sub_breadcrumbs{padding-right:2.5rem;padding-bottom:1.25em;padding-left:2.5rem}.breadcrumbs-section .breadcrumb{margin-left:auto}.breadcrumbs-section .breadcrumb li{display:inline}.breadcrumbs-section .breadcrumb li.hide_content_breadcrumbs{display:none}.breadcrumbs-section .breadcrumb li+li:before{padding:.25rem;content:'>';color:inherit;font-weight:400;text-decoration:none;border:none;text-transform:capitalize}.breadcrumbs-section .breadcrumb li a{font-weight:400;text-decoration:none;border:none;text-transform:capitalize;color:#595959}@media only screen and (min-width:61.25rem){.breadcrumbs-section .breadcrumb li a:hover{color:#323232}}#breadcrumbs:before{content:none;display:none}.search-input{background:transparent;border:0;padding:0;width:100%}.search-label{display:inline-block;width:100%}input[type=search].search-input{-webkit-appearance:none;border-radius:0}.search-input:-ms-input-placeholder{font-family:SaolDisplay,Georgia,Times,Serif;font-size:2.875rem;line-height:1.2;color:#000;padding:.625rem .625rem 0 0;text-transform:lowercase;-webkit-appearance:none;-moz-appearance:none}.search-input,.search-input::placeholder{font-family:SaolDisplay,Georgia,Times,Serif;font-size:2.875rem;line-height:1.2;color:#000;padding:.625rem .625rem 0 0;text-transform:lowercase;-webkit-appearance:none;-moz-appearance:none}@media only screen and (min-width:40.625rem){.search-input:-ms-input-placeholder{font-size:3.25rem;line-height:1}.search-input,.search-input::placeholder{font-size:3.25rem;line-height:1}}@media only screen and (min-width:61.25rem){.search-input:-ms-input-placeholder{font-size:3.6875rem;line-height:1.2}.search-input,.search-input::placeholder{font-size:3.6875rem;line-height:1.2}}@-moz-document url-prefix(){.search-input,.search-input::placeholder{line-height:1.2}@media only screen and (min-width:40.625rem){.search-input,.search-input::placeholder{line-height:1.2}}@media only screen and (min-width:61.25rem){.search-input,.search-input::placeholder{line-height:1.2}}}.search-label{font-family:SaolText,Georgia,Times,Serif;font-size:1rem;line-height:1.2;border-top:.05rem solid #e638c5;color:#000;margin-top:.625rem;padding:.625rem 0}.sidepanel,.new-sidepanel{transform:translateX(-20rem);width:20rem;overflow-x:hidden;max-width:20rem;background-color:#414141;position:fixed;top:0;height:100%;overflow-y:scroll;z-index:5999998;transition:transform .2s linear;display:flex;flex-direction:column}.new-sidepanel-menu-recipe-box{padding-left:1.1875rem;position:relative}.new-sidepanel-menu-recipe-box:before{position:absolute;left:10;transition:transform .3s ease-in-out;margin-top:.625rem}.new-sidepanel-menu-recipe-box a{color:silver;display:flex;align-items:center;position:relative;width:100%;height:2.875rem;transition:color .2s linear;margin-left:1.25rem}@media only screen and (min-width:61.25rem){.new-sidepanel-menu-recipe-box:hover{background-color:#272727}.new-sidepanel-menu-recipe-box:hover a{color:silver}}.site-content{transition:transform .3s ease-in-out;position:relative}.sidepanel{transform:translateX(-20rem);background-color:#000;transition:transform .3s ease-in-out;position:fixed;top:0;width:20rem;height:100%;overflow-y:scroll;z-index:5999998}.sidepanel.active{transform:translateX(0)}#sidepanel:target{transform:translateX(0)}@media only screen and (min-width:20rem){#sidepanel:target~.nav,#sidepanel:target~.site-content,#sidepanel:target~.homepage-marquee{transform:translateX(20rem)}}@media only screen and (min-width:null){#sidepanel:target~.nav,#sidepanel:target~.site-content,#sidepanel:target~.homepage-marquee{transform:translateX(17rem)}}@media only screen and (min-width:null){#sidepanel:target~.nav,#sidepanel:target~.site-content,#sidepanel:target~.homepage-marquee{transform:translateX(14rem)}}@media only screen and (min-width:null){#sidepanel:target~.nav,#sidepanel:target~.site-content,#sidepanel:target~.homepage-marquee{transform:translateX(11rem)}}@media only screen and (min-width:100rem){#sidepanel:target~.nav,#sidepanel:target~.site-content,#sidepanel:target~.homepage-marquee{transform:translateX(7rem)}}#sidepanel:target~.nav .nav-sidepanel-button.hide-menu{display:block}#sidepanel:target~.nav .nav-sidepanel-button.show-menu{display:none}.sidepanel-menu,.sidepanel-submenu,.sidepanel-new-menu{margin:0}.sidepanel-menu{padding:0 1.25rem}.sidepanel-menu a{text-transform:uppercase;margin:.625rem 1.25rem .625rem 0;display:inline-block}.sidepanel-new-menu{padding:0 2.25rem}.sidepanel-new-menu a{text-transform:uppercase;margin:.625rem 1.25rem .625rem 0;display:inline-block}.sidepanel-new-menu.location-choice-menu:before{content:'';background:url("/assets/icons/Globe.svg?8.226.0");background-size:1.2rem;width:2.2rem;height:1.2rem;background-repeat:no-repeat;margin:0;display:inline-block}.sidepanel-new-menu .sidepanel-new-submenu{left:-2.25rem}.sidepanel-submenu,.sidepanel-new-submenu{overflow:hidden;position:relative;left:-1.25rem;height:unset;max-height:0;width:20rem;padding:0 1.875rem;background:#202020;transition:all .3s ease-in-out}.sidepanel-item.active>.sidepanel-submenu,.sidepanel-new-item.active>.sidepanel-submenu,.sidepanel-item.active>.sidepanel-new-submenu,.sidepanel-new-item.active>.sidepanel-new-submenu{max-height:25rem;overflow-y:scroll;padding:.9375rem 1.875rem;border-top:.063rem solid #535353;border-bottom:.063rem solid #535353;margin-bottom:calc(.625rem + calc(.625rem/3))}.sidepanel-item.has-children>a:before,.sidepanel-item.has-children>div .sidepanel-submenu-toggle{cursor:pointer;position:absolute;right:.9375rem;transition:transform .3s ease-in-out;font-size:1.25rem}.sidepanel-item.has-children>div{display:flex;align-items:center}.sidepanel-item.has-children>div .sidepanel-submenu-toggle{transition:all .3s ease-in-out}.sidepanel-item.has-children.active>a:before,.sidepanel-item.has-children.active>div .sidepanel-submenu-toggle{transform:rotate(.5turn)}.sidepanel-new-item.has-children>a:before{position:absolute;right:6.375rem;transition:transform .3s ease-in-out;font-size:1.25rem}.sidepanel-new-item.has-children .sidepanel-new-submenu a{margin:0}.location-choice-menu .sidepanel-new-item{display:inline}.nav-sidepanel-button .sidepanel-close-button{font-size:1.5rem;color:#fff;cursor:pointer;display:block;text-align:right;margin:1.25rem 1.125rem 0}.nav-sidepanel-button .sidepanel-close-button .icon,.nav-sidepanel-button .sidepanel-close-button .nav-swipeable .nav-menu-subscribe:before,.nav-swipeable .nav-sidepanel-button .sidepanel-close-button .nav-menu-subscribe:before,.nav-sidepanel-button .sidepanel-close-button .new-sidepanel-menu-parent-item.has-children:before,.nav-sidepanel-button .sidepanel-close-button .sidepanel-location-choice-parent-item:before,.nav-sidepanel-button .sidepanel-close-button .sidepanel-location-choice-parent-item div a:before,.sidepanel-location-choice-parent-item div .nav-sidepanel-button .sidepanel-close-button a:before,.nav-sidepanel-button .sidepanel-close-button .sidepanel-item.has-children>a:before,.nav-sidepanel-button .sidepanel-close-button .sidepanel-item.has-children>div .sidepanel-submenu-toggle,.sidepanel-item.has-children>div .nav-sidepanel-button .sidepanel-close-button .sidepanel-submenu-toggle,.nav-sidepanel-button .sidepanel-close-button .sidepanel-new-item.has-children>a:before{display:inline-block;font-size:1.25rem}.nav-sidepanel-button .sidepanel-close-button .close-text{display:none}.new-nav .nav-sidepanel-button .sidepanel-close-button .close-text{display:inline}.nav-sidepanel-button.new-nav{position:absolute;right:0;top:0}.nav-sidepanel-button.new-nav .sidepanel-close-button{margin:.625rem 1.125rem 0}.nav-sidepanel-button.new-nav .icon,.nav-sidepanel-button.new-nav .nav-swipeable .nav-menu-subscribe:before,.nav-swipeable .nav-sidepanel-button.new-nav .nav-menu-subscribe:before,.nav-sidepanel-button.new-nav .new-sidepanel-menu-parent-item.has-children:before,.nav-sidepanel-button.new-nav .sidepanel-location-choice-parent-item:before,.nav-sidepanel-button.new-nav .sidepanel-location-choice-parent-item div a:before,.sidepanel-location-choice-parent-item div .nav-sidepanel-button.new-nav a:before,.nav-sidepanel-button.new-nav .sidepanel-item.has-children>a:before,.nav-sidepanel-button.new-nav .sidepanel-item.has-children>div .sidepanel-submenu-toggle,.sidepanel-item.has-children>div .nav-sidepanel-button.new-nav .sidepanel-submenu-toggle,.nav-sidepanel-button.new-nav .sidepanel-new-item.has-children>a:before{font-size:1.063rem}.sidepanel-menu-legal{display:flex;flex:1 1 auto;justify-content:center;align-items:flex-end;margin-bottom:1.25rem;min-height:3rem}.sidepanel-menu-legal .sidepanel-item a:last{margin-right:0}.sidepanel-menu a,.sidepanel-new-menu a,.sidepanel-submenu-toggle{font-family:Gabor,Arial,Sans-serif;font-size:1rem;line-height:1;text-transform:uppercase;font-weight:700;letter-spacing:.05rem;color:#fff}.sidepanel-submenu a,.sidepanel-new-submenu a{font-family:Gabor,Arial,Sans-serif;font-size:.875rem;line-height:1;text-transform:uppercase;font-weight:700;letter-spacing:.05rem;color:#fff}.search-overlay{position:fixed;top:0;left:0}.search-overlay .search-overlay-inner{display:none}.search-overlay{z-index:-1}.search-overlay.active{background-color:rgba(0,0,0,.9);width:100%;height:100%;z-index:5999997}.search-overlay.active .search-overlay-inner{display:block}#searchoverlay:target{background-color:rgba(0,0,0,.9);width:100%;height:100%;opacity:1;visibility:visible;overflow:inherit;z-index:5999997}#searchoverlay:target .search-overlay-inner{display:block}.search-overlay-inner .search-overlay-close-button{cursor:pointer;float:right}.search-overlay-form{margin:0 auto;clear:both}.search-overlay-autosuggest-list{list-style:none;text-decoration:none}.search-overlay-inner{padding:1.25rem}@media only screen and (min-width:40.625rem){.search-overlay-inner{padding:1.875rem}}@media only screen and (min-width:48rem){.search-overlay-inner{padding:2.8125rem}}.search-overlay-inner .search-overlay-close-button{color:#fff}.search-overlay-inner .search-overlay-close-button .icon,.search-overlay-inner .search-overlay-close-button .nav-swipeable .nav-menu-subscribe:before,.nav-swipeable .search-overlay-inner .search-overlay-close-button .nav-menu-subscribe:before,.search-overlay-inner .search-overlay-close-button .new-sidepanel-menu-parent-item.has-children:before,.search-overlay-inner .search-overlay-close-button .sidepanel-location-choice-parent-item:before,.search-overlay-inner .search-overlay-close-button .sidepanel-location-choice-parent-item div a:before,.sidepanel-location-choice-parent-item div .search-overlay-inner .search-overlay-close-button a:before,.search-overlay-inner .search-overlay-close-button .sidepanel-item.has-children>a:before,.search-overlay-inner .search-overlay-close-button .sidepanel-item.has-children>div .sidepanel-submenu-toggle,.sidepanel-item.has-children>div .search-overlay-inner .search-overlay-close-button .sidepanel-submenu-toggle,.search-overlay-inner .search-overlay-close-button .sidepanel-new-item.has-children>a:before{font-size:1.875rem}.search-overlay-form .search-input:-ms-input-placeholder{font-family:SaolDisplay,Georgia,Times,Serif;font-size:2.875rem;line-height:1.2;background:transparent;border:0;color:#fff;padding:.625rem .625rem 0 0;text-transform:lowercase;-webkit-appearance:none;-moz-appearance:none;-webkit-font-smoothing:auto}.search-overlay-form .search-input,.search-overlay-form .search-input::placeholder{font-family:SaolDisplay,Georgia,Times,Serif;font-size:2.875rem;line-height:1.2;background:transparent;border:0;color:#fff;padding:.625rem .625rem 0 0;text-transform:lowercase;-webkit-appearance:none;-moz-appearance:none;-webkit-font-smoothing:auto}@media only screen and (min-width:40.625rem){.search-overlay-form .search-input:-ms-input-placeholder{font-size:3.25rem;line-height:1}.search-overlay-form .search-input,.search-overlay-form .search-input::placeholder{font-size:3.25rem;line-height:1}}@media only screen and (min-width:61.25rem){.search-overlay-form .search-input:-ms-input-placeholder{font-size:3.6875rem;line-height:1.2}.search-overlay-form .search-input,.search-overlay-form .search-input::placeholder{font-size:3.6875rem;line-height:1.2}}@-moz-document url-prefix(){.search-overlay-form .search-input,.search-overlay-form .search-input::placeholder{line-height:1.2}@media only screen and (min-width:40.625rem){.search-overlay-form .search-input,.search-overlay-form .search-input::placeholder{line-height:1.2}}@media only screen and (min-width:61.25rem){.search-overlay-form .search-input,.search-overlay-form .search-input::placeholder{line-height:1.2}}}.search-overlay-form .search-label{font-family:Gabor,Arial,Sans-serif;font-size:1rem;line-height:1;text-transform:uppercase;color:#fff;margin-top:.625rem;padding-top:.625rem}.search-overlay-autosuggest-list{font-family:Gabor,Arial,Sans-serif;font-size:1.125rem;line-height:1;line-height:2.6rem;margin-top:.9375rem;padding-left:1.25rem;text-transform:uppercase}@media only screen and (min-width:40.625rem){.search-overlay-autosuggest-list{font-size:1.5rem;line-height:1.2}}@media only screen and (min-width:30rem){.search-overlay-autosuggest-list{line-height:3.125rem}}@media only screen and (min-width:40.625rem){.search-overlay-autosuggest-list{line-height:3.575rem}}@media only screen and (min-width:61.25rem){.search-overlay-autosuggest-list a{text-decoration:none;transition:color .3s ease-in-out}.search-overlay-autosuggest-list a:hover{color:#e638c5}}.search-overlay-autosuggest-list .search-overlay-autosuggest-link{color:#767676}.highlight .search-overlay-autosuggest-list .search-overlay-autosuggest-link{color:#9f9f9f}.error-page{margin-top:1.875rem;margin-bottom:1.875rem}.error-page-hed{color:#2c2c2c}.error-page{margin:.9375rem 0;position:relative;text-align:center}@media only screen and (min-width:40.625rem){.error-page{margin:.9375rem auto;min-height:25rem}}@media only screen and (min-width:61.25rem){.error-page{min-height:30rem}}@media only screen and (min-width:40.625rem){.error-page-outer{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:83%}}.error-page-content{border:.1875rem solid #000;padding:1.875rem}@media only screen and (min-width:40.625rem){.error-page-content{padding:4.375rem}}.error-page-title{font-family:SaolDisplay,Georgia,Times,Serif;font-size:1.5rem;line-height:1.4;color:#000;font-weight:400;margin-bottom:.9375rem}@media only screen and (min-width:40.625rem){.error-page-title{font-size:3.25rem;line-height:1}}@media only screen and (min-width:40.625rem){.error-page-title{margin-bottom:1.25rem}}.error-page-title:after{border-bottom:.1875rem solid #000;content:'';display:block;margin:0 auto;padding-top:.9375rem;width:32%}@media only screen and (min-width:40.625rem){.error-page-title:after{padding-top:1.25rem}}.error-page-description{font-family:SaolDisplay,Georgia,Times,Serif;font-size:.875rem;line-height:1.4;color:#000;font-weight:lighter;margin-bottom:0}@media only screen and (min-width:40.625rem){.error-page-description{font-size:1.125rem;line-height:1.4}}@media only screen and (min-width:40.625rem){.error-page-description{padding-bottom:.3125rem}}.footer{margin-top:.625rem;padding:1.875rem 0;background-color:#000;opacity:1!important}.footer-inner{position:relative}@media only screen and (min-width:20rem){.footer-logo{float:left;width:100%;margin-bottom:.3125rem}}@media only screen and (min-width:40.625rem){.footer-logo{float:left;margin-right:2%;width:27.75%}}@media only screen and (min-width:61.25rem){.footer-logo{float:left;margin-right:2%;width:23.5%}}.footer-logo a{display:block;font-size:0}.footer-logo svg{max-width:5.375rem;max-height:2.125rem;margin-right:.625rem}.footer-logo path{fill:#fff}.footer-network-logo{padding-bottom:.3125rem;max-width:12rem;height:auto}@media only screen and (min-width:61.25rem){.footer-network-logo{clear:both}}@media only screen and (min-width:61.25rem){.footer-social-menu{top:2.5rem;margin-bottom:0}}.footer-social-menu-item{margin-right:1.25rem;color:#fff;float:left}.footer-social-menu-item:last-child{margin-right:0}.footer-social-menu-item a{color:#fff}.footer-social-menu-item .icon,.footer-social-menu-item .nav-swipeable .nav-menu-subscribe:before,.nav-swipeable .footer-social-menu-item .nav-menu-subscribe:before,.footer-social-menu-item .new-sidepanel-menu-parent-item.has-children:before,.footer-social-menu-item .sidepanel-location-choice-parent-item:before,.footer-social-menu-item .sidepanel-location-choice-parent-item div a:before,.sidepanel-location-choice-parent-item div .footer-social-menu-item a:before,.footer-social-menu-item .sidepanel-item.has-children>a:before,.footer-social-menu-item .sidepanel-item.has-children>div .sidepanel-submenu-toggle,.sidepanel-item.has-children>div .footer-social-menu-item .sidepanel-submenu-toggle,.footer-social-menu-item .sidepanel-new-item.has-children>a:before{font-size:1.063rem}@media only screen and (min-width:61.25rem){.footer-social-menu-item{margin-right:.625rem}}.footer-network-tagline{color:#ececec;margin-bottom:.3125rem;display:block;clear:both}.footer-menu{width:100%;padding:0}@media only screen and (min-width:40.625rem){.footer-menu{clear:both}}@media only screen and (min-width:61.25rem){.footer-menu{float:left;margin-right:0;width:100%;margin-top:.9375rem;clear:none;margin-bottom:1.875rem}}.footer-menu-item{float:left;width:50%}@media only screen and (min-width:48rem){.footer-menu-item{width:25%}}.footer-menu-item a{color:#fff;text-decoration:none}@media only screen and (min-width:61.25rem){.footer-menu-item a{transition:color .3s ease-in-out}.footer-menu-item a:hover{color:#cdcdcd}}.footer-affiliate-disclosure{color:#ececec;float:left;width:100%}.footer-copyright,.footer-brand-director{color:#ececec;clear:both}.footer-brand-director{display:block;padding-top:.625rem}.footer-legal-menu{margin-top:.3125rem;padding:0}.footer-legal-menu-item{padding-right:.9375rem;display:inline-block}.footer-legal-menu-item a{color:#fff;text-decoration:none;line-height:1.4;display:inline-block;text-align:center}@media only screen and (min-width:61.25rem){.footer-legal-menu-item a{transition:color .3s ease-in-out}.footer-legal-menu-item a:hover{color:#cdcdcd}}.ipso-kitemark{float:left;clear:both}.nav-button.location-choice{display:flex;margin:0 0 0 1rem}.nav-button.location-choice .location-choice-icon{line-height:100%}@media only screen and (min-width:61.25rem){.nav-button.location-choice .location-choice-icon{cursor:pointer}}.nav-button.location-choice.hide-menu{display:none}@media only screen and (min-width:48rem){.marquee+.nav .location-choice,.sponsored-marquee+.nav .location-choice{position:relative;top:0;right:0;background-color:transparent;margin-top:0;align-items:center}.marquee+.nav .location-choice.hide,.sponsored-marquee+.nav .location-choice.hide{visibility:visible;opacity:1}.marquee+.nav .location-choice.show,.sponsored-marquee+.nav .location-choice.show{visibility:visible;opacity:1;animation:0s}}@media only screen and (min-width:61.25rem){.marquee+.nav .location-choice,.sponsored-marquee+.nav .location-choice{cursor:pointer}}.marquee+.nav .location-choice.hide,.sponsored-marquee+.nav .location-choice.hide{visibility:hidden;opacity:0}.marquee+.nav .location-choice.show,.sponsored-marquee+.nav .location-choice.show{animation:.8s ease 0s normal forwards 1 fadein}@keyframes fadein{0%{opacity:0}66%{opacity:0}100%{opacity:1}}.location-right-side-panel{transform:translateX(20rem);position:fixed;right:0}.nav-button.location-choice .location-choice-icon{width:.8125rem;margin-right:.3125rem;-ms-grid-row-align:center;align-self:center}.nav-button.location-choice .location-choice-country{font-family:Gabor,Arial,Sans-serif;font-size:.875rem;line-height:1;color:#000;line-height:1.4}.marquee+.nav .location-choice,.sponsored-marquee+.nav .location-choice{color:#fff;position:absolute;top:.625rem;right:.625rem;background-color:rgba(32,32,32,.3);padding:.25rem .3125rem;border-radius:.1875rem;align-items:center}.marquee+.nav .location-choice .location-choice-icon,.sponsored-marquee+.nav .location-choice .location-choice-icon{fill:#fff}@media only screen and (min-width:40.625rem){.marquee+.nav .location-choice,.sponsored-marquee+.nav .location-choice{background:transparent;position:relative;top:-.0625rem;right:0;padding:0}.marquee+.nav .location-choice .location-choice-icon,.sponsored-marquee+.nav .location-choice .location-choice-icon{fill:#000}}.marquee+.nav .location-choice .location-choice-country,.sponsored-marquee+.nav .location-choice .location-choice-country{color:#fff}@media only screen and (min-width:40.625rem){.marquee+.nav .location-choice .location-choice-country,.sponsored-marquee+.nav .location-choice .location-choice-country{color:#000}}.location-right-side-panel{background-color:#000;transition:transform .3s ease-in-out;width:20rem;overflow-y:scroll;z-index:5999998;top:0;height:100%}.location-right-side-panel .sidepanel-header{display:block;padding-left:2.5rem;opacity:.8;pointer-events:none}.location-right-side-panel .location-choice-sidepanel-menu{list-style-type:none;margin-top:0}.location-right-side-panel .right-side-panel-close-button{display:block;text-align:right;font-size:1.5rem;color:#fff;cursor:pointer;margin:.5rem 1.2rem 0 0}#location-choice:target{transform:translateX(0);width:100%}@media only screen and (min-width:30rem){#location-choice:target{width:20rem}}#location-choice:target .location-choice-sidepanel-menu{display:block}#location-choice:target~.nav .location-choice.hide-menu{display:flex}#location-choice:target~.nav .location-choice.show-menu{display:none}.location-right-side-panel .sidepanel-header,.location-right-side-panel .location-choice-sidepanel-menu a{font-family:Gabor,Arial,Sans-serif;font-size:1.125rem;line-height:1;color:#fff;text-decoration:none;line-height:1.8;text-transform:uppercase}body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded{overflow-y:hidden}@media only screen and (min-width:40.625rem){body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded{max-height:80%}}body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded #onetrust-policy-text,body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded .ot-dpd-desc{font-size:inherit}body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded #onetrust-policy{margin-top:0;padding-top:4.5rem;overflow-y:auto;max-height:35vh;padding-bottom:25vh;position:relative}body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded #onetrust-policy .banner-header{background-color:#fff;width:100%;margin:0;position:absolute;top:0}body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded #onetrust-policy .banner-header .banner_logo{background-color:transparent;background-position:center center;background-repeat:no-repeat;background-size:contain;max-width:80%;height:3.125rem;display:block;margin:.5rem auto}body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded #onetrust-policy .ot-b-addl-desc{padding-bottom:0}body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded #onetrust-policy .ot-dpd-container{padding-bottom:25vh}body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded #onetrust-policy .ot-dpd-container .ot-dpd-title br{display:none}body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded #onetrust-button-group-parent{right:0;bottom:0;left:0;position:absolute;background-color:#fff}body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded #onetrust-reject-all-handler,body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded #onetrust-accept-btn-handler,body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded #onetrust-pc-btn-handler{font-family:-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:.8125rem;line-height:1;margin-top:3px;margin-bottom:3px}body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded #onetrust-close-btn-container{display:none}body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded #onetrust-close-btn-container .banner-close-button{font-family:-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:.8125rem;line-height:1;border:1px solid #696969;padding:4px 8px;margin:0;text-decoration:none;background-color:#FFF}body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded #onetrust-close-btn-container .banner-close-button:hover{text-decoration:underline}body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded.without-decline-option #onetrust-reject-all-handler{display:none}body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded.with-close-option #onetrust-group-container{margin-top:53px}body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded.with-close-option #onetrust-reject-all-handler{display:none}body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded.with-close-option #onetrust-close-btn-container{display:block}body.gdpr #onetrust-consent-sdk #onetrust-pc-sdk.otPcCenter .ot-btn-container button:not(#clear-filters-handler):not(.ot-close-icon):not(#filter-btn-handler):not(.ot-remove-objection-handler):not(.ot-obj-leg-btn-handler){font-family:-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:.8125rem;line-height:1;margin-top:3px;margin-bottom:3px}body.gdpr #onetrust-consent-sdk #onetrust-pc-sdk.otPcCenter .ot-cat-grp{margin-bottom:20px}body.gdpr #onetrust-consent-sdk #onetrust-pc-sdk.otPcCenter #ot-pc-desc{font-size:.9rem}body.gdpr #onetrust-consent-sdk #onetrust-pc-sdk.otPcCenter .ot-host-opt li>div div{font-size:inherit}body.gdpr #onetrust-consent-sdk #onetrust-pc-sdk.otPcCenter .ot-pc-refuse-all-handler{font-family:-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:.8125rem;line-height:1;margin-top:3px;margin-bottom:3px}body.gdpr .ot-sdk-show-settings{text-decoration:none;text-transform:capitalize;font-weight:700;border:.0625rem solid #7b7b7b;padding:.9375rem}body.gdpr .footer-legal-menu.footer-legal-menu-ads-free{clear:both}body.gdpr .footer-legal-menu.footer-legal-menu-ads-free,body.gdpr .footer-legal-menu.footer-legal-menu-onetrust{float:left}body.gdpr .footer-legal-menu .footer-legal-menu-item.footer-legal-ads-free a,body.gdpr .footer-legal-menu .footer-legal-menu-item a.ot-sdk-show-settings{display:block}@media only screen and (min-device-width:320px) and (max-device-width:568px) and (-webkit-device-pixel-ratio:2) and (device-aspect-ratio:40 / 71) and (orientation:portrait){body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded{max-height:90%}}.longform-body.onetrust-do-not-sell-form-body{width:100%}.longform-body.onetrust-do-not-sell-form-body .embed-center.onetrust-do-not-sell-form-embed{width:100%}.longform-body.onetrust-do-not-sell-form-body .embed-center.onetrust-do-not-sell-form-embed .onetrust-do-not-sell-form-embed-inner{height:2300px}@media only screen and (min-width:30rem){.longform-body.onetrust-do-not-sell-form-body .embed-center.onetrust-do-not-sell-form-embed .onetrust-do-not-sell-form-embed-inner{height:2100px}}@media only screen and (min-width:40.625rem){.longform-body.onetrust-do-not-sell-form-body .embed-center.onetrust-do-not-sell-form-embed .onetrust-do-not-sell-form-embed-inner{height:2000px}}.longform-body.onetrust-do-not-sell-form-body .embed-center.onetrust-do-not-sell-form-embed .onetrust-do-not-sell-form-embed-inner .onetrust-do-not-sell-form{border:0}.onetrust-do-not-sell-form-content .transporter{display:none}@media only screen and (max-device-width:420px){.longform-body.onetrust-do-not-sell-form-body .embed-center.onetrust-do-not-sell-form-embed .onetrust-do-not-sell-form-embed-inner{height:2500px}}@media only screen and (max-device-width:360px){.longform-body.onetrust-do-not-sell-form-body .embed-center.onetrust-do-not-sell-form-embed .onetrust-do-not-sell-form-embed-inner{height:2650px}}.tsl-nonConsent{display:none}.gdpr-nonconsent-C0004 .tsl-nonConsent{display:block;font-family:Charter,Georgia,Times,Serif;font-size:1.1875rem;line-height:1.6;color:#000}body.gdpr #onetrust-consent-sdk #onetrust-banner-sdk.otCenterRounded #onetrust-policy .banner-header .banner_logo{background-image:url("https://assets.hearstapps.com/sites/elle/assets/images/logos/logo.c2e0070.svg")}body.gdpr .ot-sdk-show-settings{border-color:#fff}
  36. /*# sourceMappingURL=https://assets.hearstapps.com/sites/elle/assets/css/error-critical.4dc33d2.css.map */</style>
  37. <script type="text/javascript">LUX = window.LUX || {};
  38. var HRST = HRST || {};
  39. var b="fetch"in window&&"assign"in Object;if(!b){var s=document.createElement("script");s.async=!1,s.src="https://assets.hearstapps.com/assets/dist/js/shared/polyfills.dfa721e.js",document.head.appendChild(s)}
  40.  
  41. window.addEventListener("load", () => "serviceWorker"in navigator&&navigator.serviceWorker.register("/sw.js").then(function(e){console.log('Service Worker registered')}).catch(function(e){console.warn("Service worker registration failed: "+e)}));
  42. </script><script type="application/json" id="data-layer">[]</script>
  43. <script type="application/ld+json" id="json-ld">[]</script>
  44. <script id="modernizr-script-tag">/*! modernizr 3.3.1 (Custom Build) | MIT *
  45. * https://modernizr.com/download/?-pointerevents-touchevents-addtest-mq-prefixed-prefixedcss-setclasses !*/
  46. !function(e,n,t){function r(e,n){return typeof e===n}function o(){var e,n,t,o,i,s,a;for(var u in _)if(_.hasOwnProperty(u)){if(e=[],n=_[u],n.name&&(e.push(n.name.toLowerCase()),n.options&&n.options.aliases&&n.options.aliases.length))for(t=0;t<n.options.aliases.length;t++)e.push(n.options.aliases[t].toLowerCase());for(o=r(n.fn,"function")?n.fn():n.fn,i=0;i<e.length;i++)s=e[i],a=s.split("."),1===a.length?Modernizr[a[0]]=o:(!Modernizr[a[0]]||Modernizr[a[0]]instanceof Boolean||(Modernizr[a[0]]=new Boolean(Modernizr[a[0]])),Modernizr[a[0]][a[1]]=o),y.push((o?"":"no-")+a.join("-"))}}function i(e){var n=S.className,t=Modernizr._config.classPrefix||"";if(b&&(n=n.baseVal),Modernizr._config.enableJSClass){var r=new RegExp("(^|\\s)"+t+"no-js(\\s|$)");n=n.replace(r,"$1"+t+"js$2")}Modernizr._config.enableClasses&&(n+=" "+t+e.join(" "+t),b?S.className.baseVal=n:S.className=n)}function s(e,n){if("object"==typeof e)for(var t in e)w(e,t)&&s(t,e[t]);else{e=e.toLowerCase();var r=e.split("."),o=Modernizr[r[0]];if(2==r.length&&(o=o[r[1]]),"undefined"!=typeof o)return Modernizr;n="function"==typeof n?n():n,1==r.length?Modernizr[r[0]]=n:(!Modernizr[r[0]]||Modernizr[r[0]]instanceof Boolean||(Modernizr[r[0]]=new Boolean(Modernizr[r[0]])),Modernizr[r[0]][r[1]]=n),i([(n&&0!=n?"":"no-")+r.join("-")]),Modernizr._trigger(e,n)}return Modernizr}function a(e){return e.replace(/([a-z])-([a-z])/g,function(e,n,t){return n+t.toUpperCase()}).replace(/^-/,"")}function u(e){return e.replace(/([A-Z])/g,function(e,n){return"-"+n.toLowerCase()}).replace(/^ms-/,"-ms-")}function f(){return"function"!=typeof n.createElement?n.createElement(arguments[0]):b?n.createElementNS.call(n,"http://www.w3.org/2000/svg",arguments[0]):n.createElement.apply(n,arguments)}function l(){var e=n.body;return e||(e=f(b?"svg":"body"),e.fake=!0),e}function c(e,t,r,o){var i,s,a,u,c="modernizr",d=f("div"),p=l();if(parseInt(r,10))for(;r--;)a=f("div"),a.id=o?o[r]:c+(r+1),d.appendChild(a);return i=f("style"),i.type="text/css",i.id="s"+c,(p.fake?p:d).appendChild(i),p.appendChild(d),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(n.createTextNode(e)),d.id=c,p.fake&&(p.style.background="",p.style.overflow="hidden",u=S.style.overflow,S.style.overflow="hidden",S.appendChild(p)),s=t(d,e),p.fake?(p.parentNode.removeChild(p),S.style.overflow=u,S.offsetHeight):d.parentNode.removeChild(d),!!s}function d(e,n){return!!~(""+e).indexOf(n)}function p(n,r){var o=n.length;if("CSS"in e&&"supports"in e.CSS){for(;o--;)if(e.CSS.supports(u(n[o]),r))return!0;return!1}if("CSSSupportsRule"in e){for(var i=[];o--;)i.push("("+u(n[o])+":"+r+")");return i=i.join(" or "),c("@supports ("+i+") { #modernizr { position: absolute; } }",function(e){return"absolute"==getComputedStyle(e,null).position})}return t}function v(e,n){return function(){return e.apply(n,arguments)}}function m(e,n,t){var o;for(var i in e)if(e[i]in n)return t===!1?e[i]:(o=n[e[i]],r(o,"function")?v(o,t||n):o);return!1}function h(e,n,o,i){function s(){l&&(delete O.style,delete O.modElem)}if(i=r(i,"undefined")?!1:i,!r(o,"undefined")){var u=p(e,o);if(!r(u,"undefined"))return u}for(var l,c,v,m,h,g=["modernizr","tspan","samp"];!O.style&&g.length;)l=!0,O.modElem=f(g.shift()),O.style=O.modElem.style;for(v=e.length,c=0;v>c;c++)if(m=e[c],h=O.style[m],d(m,"-")&&(m=a(m)),O.style[m]!==t){if(i||r(o,"undefined"))return s(),"pfx"==n?m:!0;try{O.style[m]=o}catch(y){}if(O.style[m]!=h)return s(),"pfx"==n?m:!0}return s(),!1}function g(e,n,t,o,i){var s=e.charAt(0).toUpperCase()+e.slice(1),a=(e+" "+j.join(s+" ")+s).split(" ");return r(n,"string")||r(n,"undefined")?h(a,n,o,i):(a=(e+" "+P.join(s+" ")+s).split(" "),m(a,n,t))}var y=[],_=[],C={_version:"3.3.1",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,n){var t=this;setTimeout(function(){n(t[e])},0)},addTest:function(e,n,t){_.push({name:e,fn:n,options:t})},addAsyncTest:function(e){_.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=C,Modernizr=new Modernizr;var w,S=n.documentElement,b="svg"===S.nodeName.toLowerCase();!function(){var e={}.hasOwnProperty;w=r(e,"undefined")||r(e.call,"undefined")?function(e,n){return n in e&&r(e.constructor.prototype[n],"undefined")}:function(n,t){return e.call(n,t)}}(),C._l={},C.on=function(e,n){this._l[e]||(this._l[e]=[]),this._l[e].push(n),Modernizr.hasOwnProperty(e)&&setTimeout(function(){Modernizr._trigger(e,Modernizr[e])},0)},C._trigger=function(e,n){if(this._l[e]){var t=this._l[e];setTimeout(function(){var e,r;for(e=0;e<t.length;e++)(r=t[e])(n)},0),delete this._l[e]}},Modernizr._q.push(function(){C.addTest=s});var x=C._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):["",""];C._prefixes=x;var T=function(){var n=e.matchMedia||e.msMatchMedia;return n?function(e){var t=n(e);return t&&t.matches||!1}:function(n){var t=!1;return c("@media "+n+" { #modernizr { position: absolute; } }",function(n){t="absolute"==(e.getComputedStyle?e.getComputedStyle(n,null):n.currentStyle).position}),t}}();C.mq=T;var E=C.testStyles=c;Modernizr.addTest("touchevents",function(){var t;if("ontouchstart"in e||e.DocumentTouch&&n instanceof DocumentTouch)t=!0;else{var r=["@media (",x.join("touch-enabled),("),"heartz",")","{#modernizr{top:9px;position:absolute}}"].join("");E(r,function(e){t=9===e.offsetTop})}return t});var z="Moz O ms Webkit",P=C._config.usePrefixes?z.toLowerCase().split(" "):[];C._domPrefixes=P;var j=C._config.usePrefixes?z.split(" "):[];C._cssomPrefixes=j;var N=function(n){var r,o=x.length,i=e.CSSRule;if("undefined"==typeof i)return t;if(!n)return!1;if(n=n.replace(/^@/,""),r=n.replace(/-/g,"_").toUpperCase()+"_RULE",r in i)return"@"+n;for(var s=0;o>s;s++){var a=x[s],u=a.toUpperCase()+"_"+r;if(u in i)return"@-"+a.toLowerCase()+"-"+n}return!1};C.atRule=N;var A=function(){function e(e,n){var o;return e?(n&&"string"!=typeof n||(n=f(n||"div")),e="on"+e,o=e in n,!o&&r&&(n.setAttribute||(n=f("div")),n.setAttribute(e,""),o="function"==typeof n[e],n[e]!==t&&(n[e]=t),n.removeAttribute(e)),o):!1}var r=!("onblur"in n.documentElement);return e}();C.hasEvent=A,Modernizr.addTest("pointerevents",function(){var e=!1,n=P.length;for(e=Modernizr.hasEvent("pointerdown");n--&&!e;)A(P[n]+"pointerdown")&&(e=!0);return e});var L={elem:f("modernizr")};Modernizr._q.push(function(){delete L.elem});var O={style:L.elem.style};Modernizr._q.unshift(function(){delete O.style}),C.testAllProps=g;var k=C.prefixed=function(e,n,t){return 0===e.indexOf("@")?N(e):(-1!=e.indexOf("-")&&(e=a(e)),n?g(e,n,t):g(e,"pfx"))};C.prefixedCSS=function(e){var n=k(e);return n&&u(n)};o(),i(y),delete C.addTest,delete C.addAsyncTest;for(var q=0;q<Modernizr._q.length;q++)Modernizr._q[q]();e.Modernizr=Modernizr}(window,document);
  47. !function(e){var n=navigator.userAgent,i=/Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/gi;e&&e.addTest&&(e.addTest("mobile",function(){return i.test(n)&&e.mq("only screen and (min-width: 320px) and (max-width: 639px)")}),e.addTest("tablet",function(){return i.test(n)&&!e.mobile}))}(Modernizr);
  48. </script>
  49.  
  50. </head>
  51.  
  52. <body class="locale-en no-tab">
  53. <!-- menus/sidepanel -->
  54.  
  55.  
  56.  
  57.  
  58. <nav id="sidepanel" class="new-sidepanel" role="dialog" aria-modal="true" aria-label="Menu">
  59.                 <div class="sidepanel-search-container">
  60.            <a class="sidepanel-search-button" aria-label="Search" href="#searchoverlay" title="Search">
  61.                <span class="icon icon-new-search" aria-hidden="true"></span>
  62.                <span class="sidepanel-search-text">
  63.                    Search
  64.                </span>
  65.            </a>
  66.        </div>
  67.    
  68.    <a class="new-sidepanel-close-button" href="#" title="Close" aria-label="Close">
  69.        <span class="icon icon-x" aria-hidden="true"></span>
  70.    </a>
  71.  
  72.    <hr class="sidepanel-seperator">
  73.  
  74.    <ul class="new-sidepanel-menu"><li class="new-sidepanel-menu-parent-item" data-id="1"><a href="https://shop.elle.com/elle-all-access-membership-1.html?cds_tracking_code=elm_panelnav"  >Subscribe</a></li>
  75. <li class="new-sidepanel-menu-parent-item has-children" data-id="2" tabindex="0" aria-expanded="false" aria-label="Fashion" aria-controls="submenu_fashion" role="button"><div><a title="Fashion" href="/fashion/"  >Fashion</a><span class="sidepanel-submenu-toggle"></span></div>
  76. <ul id='submenu_fashion' class='new-sidepanel-submenu' data-parent-id='2'>
  77. <li class="new-sidepanel-submenu-item"><a href="/fashion/trend-reports/"  >Trends</a></li>
  78. <li class="new-sidepanel-submenu-item"><a href="/fashion/celebrity-style/"  >Celebrity Style</a></li>
  79. <li class="new-sidepanel-submenu-item"><a href="/fashion-designers/"  >Designers</a></li>
  80. <li class="new-sidepanel-submenu-item"><a href="/fashion/street-style/"  >Street Style</a></li>
  81. <li class="new-sidepanel-submenu-item"><a href="/runway/"  >Runway</a></li>
  82. <li class="new-sidepanel-submenu-item"><a href="/fashion/shopping/"  >Shopping</a></li>
  83. <li class="new-sidepanel-submenu-item"><a href="/fashion/accessories/"  >Accessories</a></li>
  84. </ul>
  85. </li>
  86. <li class="new-sidepanel-menu-parent-item has-children" data-id="3" tabindex="0" aria-expanded="false" aria-label="Beauty" aria-controls="submenu_beauty" role="button"><div><a title="Beauty" href="/beauty/"  >Beauty</a><span class="sidepanel-submenu-toggle"></span></div>
  87. <ul id='submenu_beauty' class='new-sidepanel-submenu' data-parent-id='3'>
  88. <li class="new-sidepanel-submenu-item"><a href="/beauty/hair/"  >Hair</a></li>
  89. <li class="new-sidepanel-submenu-item"><a href="/beauty/makeup-skin-care/"  >Makeup &amp;amp; Skin Care</a></li>
  90. <li class="new-sidepanel-submenu-item"><a href="/beauty/health-fitness/"  >Health &amp;amp; Fitness</a></li>
  91. <li class="new-sidepanel-submenu-item"><a href="/perfumes-fragrances/"  >Perfumes &amp;amp; Fragrances</a></li>
  92. </ul>
  93. </li>
  94. <li class="new-sidepanel-menu-parent-item has-children" data-id="4" tabindex="0" aria-expanded="false" aria-label="Culture" aria-controls="submenu_culture" role="button"><div><a title="Culture" href="/culture/"  >Culture</a><span class="sidepanel-submenu-toggle"></span></div>
  95. <ul id='submenu_culture' class='new-sidepanel-submenu' data-parent-id='4'>
  96. <li class="new-sidepanel-submenu-item"><a href="/culture/celebrities/"  >Celebrity</a></li>
  97. <li class="new-sidepanel-submenu-item"><a href="/culture/movies-tv/"  >Movies &amp;amp;  TV</a></li>
  98. <li class="new-sidepanel-submenu-item"><a href="/culture/music/"  >Music</a></li>
  99. <li class="new-sidepanel-submenu-item"><a href="/culture/books/"  >Books</a></li>
  100. <li class="new-sidepanel-submenu-item"><a href="/culture/travel-food/"  >Travel &amp;amp; Food</a></li>
  101. <li class="new-sidepanel-submenu-item"><a href="/culture/art-design/"  >Art &amp;amp; Design</a></li>
  102. </ul>
  103. </li>
  104. <li class="new-sidepanel-menu-parent-item" data-id="5"><a href="/culture/career-politics/"  >News &amp;amp; Politics</a></li>
  105. <li class="new-sidepanel-menu-parent-item has-children" data-id="6" tabindex="0" aria-expanded="false" aria-label="Horoscopes" aria-controls="submenu_horoscopes" role="button"><div><a title="Horoscopes" href="/horoscopes/"  >Horoscopes</a><span class="sidepanel-submenu-toggle"></span></div>
  106. <ul id='submenu_horoscopes' class='new-sidepanel-submenu' data-parent-id='6'>
  107. <li class="new-sidepanel-submenu-item"><a href="/horoscopes/daily/"  >Daily Horoscopes</a></li>
  108. <li class="new-sidepanel-submenu-item"><a href="/horoscopes/weekly/"  >Weekly Horoscopes</a></li>
  109. <li class="new-sidepanel-submenu-item"><a href="/horoscopes/monthly/"  >Monthly Horoscopes</a></li>
  110. <li class="new-sidepanel-submenu-item"><a href="/horoscopes/profile/"  >Astrological Profiles</a></li>
  111. <li class="new-sidepanel-submenu-item"><a href="/horoscopes/love/"  >Love Matches</a></li>
  112. </ul>
  113. </li>
  114. <li class="new-sidepanel-menu-parent-item" data-id="7"><a href="/weddings/"  >Weddings</a></li>
  115. <li class="new-sidepanel-menu-parent-item" data-id="8"><a href="/in-the-mag/"  >In the Magazine</a></li>
  116. <li class="new-sidepanel-menu-parent-item" data-id="9"><a href="https://www.elle.com/email/elle-newsletter" target="_blank" rel="nofollow">Newsletter</a></li>
  117. <li class="new-sidepanel-menu-parent-item has-children" data-id="10" tabindex="0" aria-expanded="false" aria-label="Follow" aria-controls="submenu_follow" role="button"><a href="#"  >Follow</a>
  118. <ul id='submenu_follow' class='new-sidepanel-submenu' data-parent-id='10'>
  119. <li class="new-sidepanel-submenu-item"><a href="https://www.facebook.com/ellemagazine"  >Facebook</a></li>
  120. <li class="new-sidepanel-submenu-item"><a href="https://twitter.com/ElleMagazine"  >X</a></li>
  121. <li class="new-sidepanel-submenu-item"><a href="http://www.pinterest.com/elle/?auto_follow=1"  >Pinterest</a></li>
  122. <li class="new-sidepanel-submenu-item"><a href="http://instagram.com/elleusa"  >Instagram</a></li>
  123. <li class="new-sidepanel-submenu-item"><a href="https://www.youtube.com/c/elle?sub_confirmation=1"  >YouTube</a></li>
  124. </ul>
  125. </li></ul>
  126.  
  127.                                    <ul class="sidepanel-location-choice-menu"><li class="sidepanel-location-choice-parent-item has-children" data-id="1" tabindex="0" aria-expanded="false" aria-label="United States" aria-controls="submenu_unitedstates" role="button"><div><a title="United States" href="/"  >United States</a><span class="sidepanel-submenu-toggle"></span></div>
  128. <ul id='submenu_unitedstates' class='sidepanel-location-choice-submenu' data-parent-id='1'>
  129. <li class="sidepanel-location-choice-submenu-item"><a href="/"  >US</a></li>
  130. <li class="sidepanel-location-choice-submenu-item"><a href="/uk/"   lang="en">UK</a></li>
  131. <li class="sidepanel-location-choice-submenu-item"><a href="/es/"   lang="es">Espa&amp;ntilde;a</a></li>
  132. <li class="sidepanel-location-choice-submenu-item"><a href="/it/"   lang="it">Italia</a></li>
  133. <li class="sidepanel-location-choice-submenu-item"><a href="/nl/"   lang="nl">Nederland</a></li>
  134. <li class="sidepanel-location-choice-submenu-item"><a href="https://www.ellechina.com/"  >China</a></li>
  135. <li class="sidepanel-location-choice-submenu-item"><a href="/tw/"   lang="zh">Taiwan</a></li>
  136. <li class="sidepanel-location-choice-submenu-item"><a href="/jp/"   lang="ja">Japan</a></li>
  137. </ul>
  138. </li></ul>
  139.    
  140. <ul class="new-sidepanel-menu legal-ads-free">
  141. <li class="sidepanel-legal-ads-free">
  142.  
  143. <a href="/about/a42158564/do-not-sell-my-personal-information/"
  144. data-vars-ga-href=""
  145. data-vars-ga-text="Your Privacy Choices"
  146. >Your Privacy Choices</a>
  147.  
  148.    </li>
  149. </ul>
  150. <footer class="sidepanel-footer-container">
  151. <a class="sidepanel-footer-item" href="https://www.hearst.com/-/us-magazines-privacy-notice" target="_blank">
  152. Privacy Notice/Notice at Collection
  153. </a>
  154. <a class="sidepanel-footer-item" href="https://www.hearst.com/-/us-magazines-terms-of-use" target="_blank">
  155. Terms of Use
  156. </a>
  157. </footer>
  158. </nav>
  159.  
  160.  
  161. <!-- / menus/sidepanel -->
  162. <!-- menus/location-choice-sidepanel -->
  163.  
  164. <nav id="location-choice" class="location-right-side-panel">
  165.  
  166. <a class="nav-right-sidepanel-button close-menu" href="#">
  167. <span class="right-side-panel-close-button" aria-label="Close">
  168. <span class="icon icon-close01" aria-hidden="true"></span>
  169. </span>
  170. </a>
  171.  
  172. <span class="sidepanel-header">Editions:</span>
  173.  
  174. <ul class="location-choice-sidepanel-menu"><li class="sidepanel-item" data-id="1"><a href="/"  >US</a></li>
  175. <li class="sidepanel-item" data-id="2"><a href="/uk/"   lang="en">UK</a></li>
  176. <li class="sidepanel-item" data-id="3"><a href="/es/"   lang="es">Espa&amp;ntilde;a</a></li>
  177. <li class="sidepanel-item" data-id="4"><a href="/it/"   lang="it">Italia</a></li>
  178. <li class="sidepanel-item" data-id="5"><a href="/nl/"   lang="nl">Nederland</a></li>
  179. <li class="sidepanel-item" data-id="6"><a href="https://www.ellechina.com/"  >China</a></li>
  180. <li class="sidepanel-item" data-id="7"><a href="/tw/"   lang="zh">Taiwan</a></li>
  181. <li class="sidepanel-item" data-id="8"><a href="/jp/"   lang="ja">Japan</a></li></ul>
  182. </nav>
  183. <!-- / menus/location-choice-sidepanel -->
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200. <nav class="nav" data-tracking-id="topNav">
  201. <div class="nav-bar new-nav ">
  202. <div class="nav-bar-container">
  203. <a class="nav-button nav-sidepanel-button hide-menu" aria-label="Side Panel" href="#" title="Navigation">
  204. <span class="icon icon-menu" aria-hidden="true"></span>
  205. </a>
  206. <a class="nav-button nav-sidepanel-button show-menu" aria-label="Side Panel" href="#sidepanel" title="Navigation">
  207. <span class="icon icon-menu" aria-hidden="true"></span>
  208. </a>
  209.  
  210. <a class="nav-logo sso-enabled" href="/" aria-label="ELLE Home" title="ELLE Home">
  211.  
  212.  
  213.  
  214.  
  215. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 737 266"><path d="M56.8 253.4H47V131.1h4.3c16.7 0 25.5 17.7 25.5 44.7h2.8V81.6h-2.8c0 23-7.8 46.5-25.5 46.5H47V10.4h12.6c19.7 0 41.4 15.9 41.4 58.4h2.8V7.1H.7v3.3h16.4v243H.7v3.3h103.6v-65.2h-2.8c0 46-23.5 61.9-44.7 61.9zM269.5 253.4h-12.1v-243h18.7V7.1h-67.2v3.3h18.7v242.8h-18.7v3.3H316V191h-3.3c-.7 43.2-18.7 62.4-43.2 62.4zM491.1 253.4H479v-243h18.7V7.1h-67.2v3.3h18.7v242.8h-18.7v3.3h107.1V191h-3.3c-.8 43.2-18.7 62.4-43.2 62.4zM734.6 191.5v-.3c0 46-23.5 61.9-44.7 61.9H680v-122h4.3c16.7 0 25.5 17.7 25.5 44.7h2.8V81.6h-2.8c0 23-7.8 46.5-25.5 46.5H680V10.4h12.6c20 0 41.4 15.9 41.4 58.4h2.8V7.1h-103v3.3h16.4v243h-16.4v3.3h103.6v-65.2h-2.8z"/></svg>
  216.  
  217.  
  218. </a>
  219.  
  220. <div class="nav-scrollable">
  221. <div class="nav-scrollable-inner">
  222. <ul class="nav-menu nav-mobile-content nav-primary-menu nav-mobile-mode active"><li class="nav-item" data-id="1"><a href="/fashion/"  >Fashion</a></li>
  223. <li class="nav-item" data-id="2"><a href="/beauty/"  >Beauty</a></li>
  224. <li class="nav-item" data-id="3"><a href="/culture/"  >Culture</a></li>
  225. <li class="nav-item" data-id="4"><a href="/culture/career-politics/"  >News &amp;amp; Politics</a></li>
  226. <li class="nav-item" data-id="5"><a href="/horoscopes/"  >Horoscopes</a></li></ul>
  227. </div>
  228. </div>
  229. <a class="top-nav-subscribe" href="https://shop.elle.com/elle-all-access-membership-1.html?cds_tracking_code=elm_topnav">
  230. Subscribe
  231. </a>
  232.  
  233. <div class="account-dropdown-container">
  234. <a class="nav-button account-button" rel="nofollow" href="/auth/csrf?action=login&return_url=">
  235. <span class="account-text" data-account="Account" data-login="Sign In">Sign In</span>
  236. </a>
  237. <div class="account-dropdown">
  238. <div class="account-dropdown-links">
  239. <a class="account-dropdown-link account-link" rel="nofollow" href="/auth/csrf?action=account&amp;return_url=">My Account</a>
  240. <a class="account-dropdown-link" href="/my-stuff">My Bookmarks</a>
  241. <a class="account-dropdown-link account-sign-out" rel="nofollow" href="/auth/csrf?action=logout&return_url=">Sign Out</a>
  242. </div>
  243. </div>
  244. </div>
  245. </div>
  246. </div>
  247. </nav>
  248. <nav class="nav-placeholder"></nav>
  249. <div class="oop-ad ">
  250. <div id="gpt-ad-oop-1" class="ad-container"></div>
  251. </div>
  252.  
  253. <main class="site-content">
  254. <div id="searchoverlay" class="search-overlay" role="dialog" aria-modal="true" aria-label="Search">
  255. <div class="search-overlay-inner">
  256. <a href="#">
  257. <span class="search-overlay-close-button" aria-label="Close">
  258. <span class="icon icon-close01" aria-hidden="true"></span>
  259. </span>
  260. </a>
  261.  
  262.  
  263.  
  264. <form class="search-form search-overlay-form" action="/search/">
  265. <input type="search" id="search-input" class="search-input" name="q" value="" placeholder="search" autocomplete="off">
  266.  
  267. <label class="search-label" for="search-input">Type keyword(s) to search</label>
  268. </form>
  269.  
  270.  
  271. <div class="search-overlay-autosuggest">
  272. <ul class="search-overlay-autosuggest-list">
  273. </ul>
  274. </div>
  275.  
  276. </div>
  277. </div>
  278. <div class="error-page">
  279. <div class="error-page-outer">
  280. <div class="error-page-content">
  281. <h1 class="error-page-title">Oops! We don&#039;t have the page you&#039;re looking for.</h1>
  282. <p class="error-page-description">Sorry, we couldn&#039;t find the page you wanted. <a href="/">Check out our latest stories.</a></p>
  283. </div>
  284. </div>
  285. </div>
  286. <div class="piano-container-wrapper">
  287. <div id="piano-container"></div>
  288. </div>
  289. <div class="journey-container-wrapper">
  290. <div id="journey-container"></div>
  291. </div>
  292. <div id="journey-modal-container"></div>
  293.    <script async src="/_assets/oply/public/21018620252/s/us_elle.js"></script>
  294. <script type="text/template" id="autosuggest-link-template">
  295. <li>
  296. <a href="<%= data.searchLink %>" class="search-overlay-autosuggest-link" data-type="<%= data.type %>" >
  297. <%= data.label %>
  298. </a>
  299. </li>
  300. </script>
  301. <script type="text/template" id="article-ad-breaker-template">
  302.     <div class="breaker-ad article-breaker-ad standard-article-breaker-ad">
  303. <div class="breaker-ad-text">Advertisement - Continue Reading Below</div>
  304. <div id="{id}" class="ad-container"></div>
  305. </div>
  306.  
  307. </script>
  308.  
  309. <script type="text/template" id="longform-breaker-template">
  310.     <div class="breaker-ad article-breaker-ad longform-article-breaker-ad">
  311. <div class="breaker-ad-text">Advertisement - Continue Reading Below</div>
  312. <div id="{id}" class="ad-container"></div>
  313. </div>
  314.  
  315. </script>
  316.  
  317. <script type="text/template" id="review-breaker-template">
  318.     <div class="breaker-ad article-breaker-ad review-article-breaker-ad">
  319. <div class="breaker-ad-text">Advertisement - Continue Reading Below</div>
  320. <div id="{id}" class="ad-container"></div>
  321. </div>
  322.  
  323. </script>
  324.  
  325. <script type="text/template" id="article-ad-rail-template">
  326.  
  327. <div class="vertical-ad right-rail-ad ">
  328. <div class="breaker-ad-text">Advertisement - Continue Reading Below</div>
  329. <div id="{id}" class="ad-container"></div>
  330. </div>
  331.  
  332. </script>
  333.  
  334. <script type="text/template" id="article-mobile-ad-breaker-template">
  335.     <div class="breaker-ad article-breaker-ad standard-article-breaker-ad mobile-breaker-ad">
  336. <div class="breaker-ad-text">Advertisement - Continue Reading Below</div>
  337. <div id="{id}" class="ad-container"></div>
  338. </div>
  339.  
  340. </script>
  341.  
  342. <script type="text/template" id="listicle-ad-breaker-template">
  343.     <div class="breaker-ad listicle-slide-list-ad">
  344. <div class="breaker-ad-text">Advertisement - Continue Reading Below</div>
  345. <div id="{id}" class="ad-container"></div>
  346. </div>
  347.  
  348. </script>
  349.  
  350. <script type="text/template" id="listicle-ad-rail-template">
  351.  
  352. <div class="vertical-ad right-rail-ad listicle--ad-rail ">
  353. <div class="breaker-ad-text">Advertisement - Continue Reading Below</div>
  354. <div id="{id}" class="ad-container"></div>
  355. </div>
  356.  
  357. </script>
  358.  
  359. <script type="text/template" id="slideshow-ad-breaker-template">
  360.     <div class="breaker-ad slideshow-list-ad">
  361. <div class="breaker-ad-text">Advertisement - Continue Reading Below</div>
  362. <div id="{id}" class="ad-container"></div>
  363. </div>
  364.  
  365. </script>
  366.  
  367. <script type="text/template" id="slideshow-top-ad-template">
  368.     <div class="breaker-ad slideshow-breaker-ad mobile-breaker-ad">
  369. <div class="breaker-ad-text">Advertisement - Continue Reading Below</div>
  370. <div id="{id}" class="ad-container"></div>
  371. </div>
  372.  
  373. </script>
  374.  
  375. </main>
  376. <!-- footers/main -->
  377.  
  378.  
  379.  
  380.  
  381. <footer class="footer">
  382. <div class="footer-inner">
  383. <div class="footer-logo">
  384. <a href="/" aria-label="ELLE Home" title="ELLE Home">
  385.  
  386.  
  387.  
  388.  
  389. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 737 266"><path d="M56.8 253.4H47V131.1h4.3c16.7 0 25.5 17.7 25.5 44.7h2.8V81.6h-2.8c0 23-7.8 46.5-25.5 46.5H47V10.4h12.6c19.7 0 41.4 15.9 41.4 58.4h2.8V7.1H.7v3.3h16.4v243H.7v3.3h103.6v-65.2h-2.8c0 46-23.5 61.9-44.7 61.9zM269.5 253.4h-12.1v-243h18.7V7.1h-67.2v3.3h18.7v242.8h-18.7v3.3H316V191h-3.3c-.7 43.2-18.7 62.4-43.2 62.4zM491.1 253.4H479v-243h18.7V7.1h-67.2v3.3h18.7v242.8h-18.7v3.3h107.1V191h-3.3c-.8 43.2-18.7 62.4-43.2 62.4zM734.6 191.5v-.3c0 46-23.5 61.9-44.7 61.9H680v-122h4.3c16.7 0 25.5 17.7 25.5 44.7h2.8V81.6h-2.8c0 23-7.8 46.5-25.5 46.5H680V10.4h12.6c20 0 41.4 15.9 41.4 58.4h2.8V7.1h-103v3.3h16.4v243h-16.4v3.3h103.6v-65.2h-2.8z"/></svg>
  390.  
  391.  
  392. </a>
  393. </div>
  394.  
  395. <div class="social-button-group footer-social-menu" data-share-location="social-btns-follow">
  396.  <div class="social-button social-button-facebook footer-social-menu-item "
  397. data-tracking-id="share-button-facebook" role="none"
  398. >
  399. <a class="social-button-link" href="https://www.facebook.com/ellemagazine" target="_blank" data-social-key="facebook" aria-label="ELLE Facebook Page">
  400. <span class="icon social-button-icon icon-facebook" aria-hidden="true"></span>
  401.  
  402. </a>
  403. </div>
  404.  <div class="social-button social-button-twitter footer-social-menu-item "
  405. data-tracking-id="share-button-twitter" role="none"
  406. >
  407. <a class="social-button-link" href="https://twitter.com/ElleMagazine" target="_blank" data-social-key="twitter" aria-label="ELLE Twitter Page">
  408. <span class="icon social-button-icon icon-twitter" aria-hidden="true"></span>
  409.  
  410. </a>
  411. </div>
  412. <div class="social-button social-button-pinterest footer-social-menu-item" role="none"
  413. data-tracking-id="share-button-pinterest"
  414. >
  415. <a aria-label="ELLE Pinterest Page" class="social-button-link" href="https://www.pinterest.com/elle/?auto_follow=1" target="_blank" data-pin-do="nothing" data-social-key="pinterest">
  416. <span class="icon social-button-icon icon-pinterest " aria-hidden="true"></span>
  417.  
  418. </a>
  419. </div>
  420.  <div class="social-button social-button-instagram footer-social-menu-item "
  421. data-tracking-id="share-button-instagram" role="none"
  422. >
  423. <a class="social-button-link" href="https://instagram.com/elleusa" target="_blank" data-social-key="instagram" aria-label="ELLE Instagram Page">
  424. <span class="icon social-button-icon icon-instagram" aria-hidden="true"></span>
  425.  
  426. </a>
  427. </div>
  428.  <div class="social-button social-button-youtube footer-social-menu-item "
  429. data-tracking-id="share-button-youtube" role="none"
  430. >
  431. <a class="social-button-link" href="https://www.youtube.com/c/elle?sub_confirmation=1" target="_blank" data-social-key="youtube" aria-label="ELLE YouTube Page">
  432. <span class="icon social-button-icon icon-youtube" aria-hidden="true"></span>
  433.  
  434. </a>
  435. </div>
  436.  <div class="social-button social-button-tumblr footer-social-menu-item "
  437. data-tracking-id="share-button-tumblr" role="none"
  438. >
  439. <a class="social-button-link" href="https://elle.tumblr.com/" target="_blank" data-social-key="tumblr" aria-label="ELLE Tumblr Page">
  440. <span class="icon social-button-icon icon-tumblr" aria-hidden="true"></span>
  441.  
  442. </a>
  443. </div>
  444.  
  445. </div>
  446.  
  447. <ul class="footer-menu"><li class="footer-menu-item nav-item" data-id="1"><a href="/email/elle-newsletter"  rel="nofollow">Newsletter</a></li>
  448. <li class="footer-menu-item nav-item" data-id="2"><a href="/about/a39561967/about-us-contact-information-masthead/"  >Contact Us</a></li>
  449. <li class="footer-menu-item nav-item" data-id="3"><a href="http://www.ellemediakit.com/r5/home.asp" target="_blank" >Media Kit</a></li>
  450. <li class="footer-menu-item nav-item" data-id="4"><a href="http://www.hearst.com/press-room/" target="_blank" rel="nofollow">Press Room</a></li>
  451. <li class="footer-menu-item nav-item" data-id="5"><a href="/sitemap/"  >Site Map</a></li>
  452. <li class="footer-menu-item nav-item" data-id="6"><a href="/about/community-guidelines/"  rel="nofollow">Community Guidelines</a></li>
  453. <li class="footer-menu-item nav-item" data-id="7"><a href="/about/advertise-online/"  rel="nofollow">Advertise Online</a></li>
  454. <li class="footer-menu-item nav-item" data-id="8"><a href="/service" target="_blank" rel="nofollow">Customer Service</a></li>
  455. <li class="footer-menu-item nav-item" data-id="9"><a href="https://shop.elle.com/elle-all-access-membership-1.html?cds_tracking_code=elm_footer" target="_blank" >Subscribe</a></li>
  456. <li class="footer-menu-item nav-item" data-id="10"><a href="https://subscribe.hearstmags.com/subscribe/splits/elle/elm_gift_nav_link?source=elm_gift_nav_footer" target="_blank" rel="nofollow">Give a Gift</a></li>
  457. <li class="footer-menu-item nav-item" data-id="11"><a href="/elleextra/"  rel="nofollow">Events &amp;amp; Promotions</a></li>
  458. <li class="footer-menu-item nav-item" data-id="12"><a href="http://subscribe.hearstmags.com/circulation/shared/index.html" target="_blank" rel="nofollow">Other Hearst Subscriptions</a></li>
  459. <li class="footer-menu-item nav-item" data-id="13"><a href="http://sweepstakes.elle.com" target="_blank" rel="nofollow">Giveaways</a></li></ul>
  460.  
  461. <img data-src="https://assets.hearstapps.com/sites/elle/assets/images/logos/network-logo.9643879.png"
  462. class="lazyload footer-network-logo"
  463. width="320" height="100"
  464. alt="Hearst Fashion and Luxury Collection - A Part of Hearst Digital Media"
  465. />
  466. <span class="footer-network-tagline">A Part of Hearst Digital Media</span>
  467. <span class="footer-affiliate-disclosure">
  468. ELLE participates in various affiliate marketing programs, which means we may get paid commissions on editorially chosen products purchased through our links to retailer sites.
  469. </span>
  470. <div class="footer-legal">
  471. <small class="footer-copyright">&copy;2024 Hearst Magazine Media, Inc. All Rights Reserved.</small>
  472. <ul class="footer-legal-menu"><li class="footer-legal-menu-item nav-item" data-id="1"><a href="https://www.hearst.com/-/us-magazines-privacy-notice" target="_blank" >Privacy Notice</a></li>
  473. <li class="footer-legal-menu-item nav-item" data-id="2"><a href="https://www.hearst.com/-/us-magazines-privacy-notice#_ADDITIONAL_INFO" target="_blank" >CA Notice at Collection</a></li>
  474. <li class="footer-legal-menu-item nav-item" data-id="3"><a href="https://www.hearst.com/-/us-magazines-privacy-notice#_ADDITIONAL_INFO" target="_blank" >Your CA Privacy Rights/Shine the Light</a></li>
  475. <li class="footer-legal-menu-item nav-item" data-id="4"><a href="https://www.hearst.com/-/us-magazines-privacy-notice#_OPT_OUTS" target="_blank" >DAA Industry Opt Out</a></li>
  476. <li class="footer-legal-menu-item nav-item" data-id="5"><a href="https://www.hearst.com/-/us-magazines-terms-of-use" target="_blank" >Terms of Use</a></li>
  477. <li class="footer-legal-menu-item nav-item" data-id="6"><a href="/sitemap/"  >Site Map</a></li></ul>
  478.  
  479. <div class="footer-legal-menu footer-legal-menu-ads-free">
  480. <div class="footer-legal-ads-free footer-legal-menu-item nav-item">
  481. <a href="/about/a42158564/do-not-sell-my-personal-information/"
  482. data-vars-ga-href=""
  483. data-vars-ga-text="Your Privacy Choices: Opt Out of Sale/Targeted Ads"
  484. >Your Privacy Choices: Opt Out of Sale/Targeted Ads</a>
  485. </div>
  486. </div>
  487. </div>
  488.  
  489. </div>
  490. </footer>
  491. <!-- / footers/main -->
  492.  
  493. <script src="https://static-assets.hearstapps.com/_assets/moapt/2.176.0/moapt-bundle-hdm.js" async></script>
  494. <script src="https://static-assets.hearstapps.com/_assets/moapt/2.176.0/moapt-data.js" async></script>
  495. <script src="https://assets.hearstapps.com/commerce/release/affiliate-bundle.master.js" async></script>
  496. <script id="main" src="https://assets.hearstapps.com/assets/dist/js/main.993ea55.js" async></script>
  497. <script id="jquery" src="https://assets.hearstapps.com/assets/dist/js/shared/jquery.864c6f5.js" async></script>
  498. <script id="vendors" src="https://assets.hearstapps.com/assets/dist/js/shared/vendors.2982034.js" async></script>
  499. <script type="text/javascript">Object.defineProperties(window,{"ADSFREE":{"value":false,"writable":false},"GDPR":{"value":false,"writable":false}});
  500. window.SENTRY_DSN = "https://2db1fe908c734593b15029361071c2a4@sentry.io/109939";
  501. window.SENTRY_OPTIONS = {"release":"","environment":"prod","sampleRate":0.5,"whitelistUrls":["www.elle.com","https://assets.hearstapps.com"]};
  502. window.lazySizesConfig = window.lazySizesConfig || {};
  503. window.lazySizesConfig.init = false;
  504. window.magentoProductDomains = ["store.runnersworld.com","shop.countryliving.com","store.delish.com","shop.prevention.com","shop.bicycling.com","shop.menshealth.com","shop.womenshealthmag.com","shop.esquire.com","shop.goodhousekeeping.com","shop.elle.com","shop.cosmopolitan.com","shop.womansday.com","shop.thehgtvmag.com","store.caranddriver.com","shop.townandcountrymag.com","shop.housebeautiful.com","store.harpersbazaar.com","shop.popularmechanics.com","shop.veranda.com","shop.elledecor.com","shop.thefoodnetworkmag.com","shop.thepioneerwoman.com","shop.oprahdaily.com","shop.delish.com"];
  505. window.RUNTIME_GRAPHQL_URL = "https://heimdall.hearstapps.com";
  506. window.RUNTIME_GRAPHQL_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Imp3dF9zZWNyZXRfZnJlIn0.e30.wlF-prqbR7gQ28qeFJrGOTKcct5p5jzNfrO6NBcc7C8";
  507. window.ASSET_HOSTNAME = "https://assets.hearstapps.com";
  508. window.CIAM_URL = "https://www.mylo.id";
  509. window.JOURNEY_URL = "https://jam.hearstapps.com";
  510. window.JOURNEY_SITE_ID = "530bacd4-96b2-4cfe-a9a6-1fbd7c749e22";
  511. window.CURRENT_SITE = {"metadata":{"ciam":{"clientId":"2e2g0m0g4ingh5rkear3fldeb5","accountPath":"/account/brands/elle"},"rsid":"hmagglobal","links":{"hostnames":{"fre":{"dev":"elle.kubefeature.hearstapps.net","prod":"www.elle.com","stage":"www-stage.elle.com"},"edit":{"dev":"edit-elle.kubefeature.hearstapps.net","prod":"edit-elle.prod.hearstapps.com","stage":"edit-elle.kubestage.hearstapps.net"}},"includeLocalePath":false},"adUnit":{"site":"hdm-elle","networkID":"36117602"},"router":{"excludes":{"routes":["/preview/body/(.*)"],"templates":[]},"includes":{"routes":["/preview/draft/(.*)","/preview/version/(.*)","/preview/(/|.*/)(a|amp)(\\d{1,})/(.*)","/search/(.*)","/search","(.*)(g|gmp)(\\d{1,})/(.*)"],"templates":["standard-article","longform-article","recipe","listicle","gallery"]}},"social":{"networks":{"x":{"handle":"@ELLEmagazine","socialUrl":"https://twitter.com/ElleMagazine"},"line":[],"qzone":[],"weibo":[],"douyin":[],"tiktok":{"socialUrl":"https://www.tiktok.com/@ellemagazine?lang=en"},"tumblr":{"socialUrl":"https://elle.tumblr.com/"},"twitter":{"handle":"@ELLEmagazine","socialUrl":"https://twitter.com/ElleMagazine"},"youtube":{"socialUrl":"https://www.youtube.com/c/elle?sub_confirmation=1"},"facebook":{"appId":"364664413547847","iaAppId":"31911516300","socialUrl":"https://www.facebook.com/ellemagazine"},"instagram":{"socialUrl":"https://instagram.com/elleusa"},"pinterest":{"socialUrl":"https://www.pinterest.com/elle/?auto_follow=1"},"googleplus":{"socialUrl":"https://plus.google.com/+ELLE/posts","webmasterTools":"W6SOBCzCmb2sA5l3z9YK1yO7I7bPYArVQCP09_e2zck"}}},"spotim":{"id":"sp_MlqOJMsJ","ssotoken":true},"myStuff":{"headline":"My Bookmarks","signInCopy":"Please sign in to see your bookmarks.","contentLink":"/","eventAction":"Content Save","savedButton":"Content saved","tooltipText":"New! You can now save articles. It's free!","seoMetaTitle":"My Bookmarks","signInButton":"Sign in","signUpButton":"Sign up","subscribeLink":"https://shop.elle.com/elle-all-access-membership.html\n?source=elm-contentsave","unsavedButton":"Save Content","emptyBoxPrompt":"You don't have anything saved yet. Start reading!","readMoreButton":"Find More Articles","readMorePrompt":"Want More?","cappingModalDek":"You've hit your max! To read and save unlimited articles, sign up to become a Elle member.","saveButtonLabel":"Save to My Bookmarks","accountMenuLabel":"My Bookmarks","removeModalTitle":"Remove this article?","cappingModalTitle":"Join Elle","unsaveButtonLabel":"Remove from My Bookmarks","tooltipCloseButton":"Got it","contentSaveThreshold":1,"subscriptionModalDek":"Only Elle Unlimited members can save this exclusive article. Become an Elle Unlimited member to read and save unlimited articles.","recipeSaveButtonLabel":"Save Recipe","articleSaveButtonLabel":"Save Article","authenticationModalDek":"Create an account and you’ll be able to save and revisit articles. It’s free!","subscriptionModalTitle":"Want to save this article?","myStuffTooltipThreshold":3,"recipeUnsaveButtonLabel":"Saved!","articleUnsaveButtonLabel":"Saved!","authenticationModalTitle":"Want to save this article?","cappingModalSubscribeCta":"JOIN NOW","readMoreButtonEmptyState":"Find Articles","subscriptionModalSubscribeCta":"Subscribe"},"adConfig":{"bu":"HDM","site":"elle","zone":"/36117602/hdm-elle/","bidders":{"IX":{"d":{"ga":"670278","gb":"670282","la":"670277","lb":"670283","brk":"670280","garb":"670279","brkrr":"670281"},"m":{"ga":"670284","gb":"670285","lb":"670287","adh":"670288","brk":"670286"},"v":"942443"},"APN":{"d":{"ga":"24604090","gb":"10583083","la":"24604099","lb":"10583085","brk":"24604100","garb":"14355601","brkrr":"24604095"},"m":{"ga":"24604091","gb":"10583090","lb":"10583091","adh":"16120603","brk":"24604096"},"v":"14734335"},"KAR":{"m":{"gb":"_nMF2QdH1ml","lb":"_p7Ko2RIbMA","adh":"_zOZgxfrDJu","gabrk":"_jK-TsZqW2LI"},"v":"_wDGMy7ldvI"},"MAG":{"d":{"ga":"2040208","gb":"2040218","la":"2040206","lb":"2040220","brk":"2040212","garb":"2040210","brkrr":"2040216"},"m":{"ga":"2040222","gb":"2040224","lb":"2040230","adh":"2040232","brk":"2040226"},"v":"2731458","siteId":"369868","accountId":"11636"},"TDS":{"d":{"tdsArt":"112030","tdsBrk":"112029"},"m":{"tdsArt":"112029"},"pageId":"103512","pageIdDesktop300":"113863"},"TPL":{"d":{"ga":"elle_templated_300x400_atf_PB","gb":"elle_templated_300x400_btf_PB","lb":"elle_970x250_btf_PB","brkrr":"elle_templated_300x400_breaker_PB","la728":"elle_728x90_HDX_PB","la970":"elle_970x250_PB"},"m":{"ga":"elle_templated_300x250_flex_atf_m_PB","lb":"elle_templated_300x250_flex_btf_m_PB","adh":"Elle_320x50_HDX_PB","brk":"elle_templated_300x250_flex_breaker_m_PB"}},"TTD":{"d":{"ttd":"desktop"},"m":{"ttd":"mobile"},"v":"video","siteId":"hdm-elle","supplySourceId":"hearstmagazines"},"AMZN":"3049","APNhdmuk":{"d":{"ga":"23458937","gb":"23458938","la":"23458939","lb":"23458940","brk":"23458944","brkrr":"23458945"},"m":{"ga":"23458941","gb":"23458942","lb":"23458943","brk":"23458946"},"v":"23458947"}},"modules":{"moat":{"header":"hearstmagazinesheader852699793088","content":"hearstmagazinescontentheader292750058294"},"optable":{"slug":"prod-elle-com"},"parsely":{"siteId":"elle.com"},"actionIQ":{"writeKey":"mediaos-elle-prod","cnameRecord":"https://aiq-in.elle.com"},"comscore":{"c2":6035258},"oneTrust":{"doNotSellUrlOverride":"/about/a42158564/do-not-sell-my-personal-information/"},"truedata":{"ep":"td.elle.com","cid":"10458","scid":"107"},"permutive":{"apiKey":"7d237500-e85c-4846-9eb8-5635df7b050c","locale":"US","currency":"USD","workspaceId":"eb036676-52ea-47b5-a2f6-fcfb4ece9c00","geoWhitelist":"US"},"optimizely":{"webSnippetId":"21018620252","webSnippetKey":"us_elle"},"brandMetrics":{"siteId":"elle.com","accountId":"a6a45799-d06f-4cce-9dd7-4a947f7e7816"},"googleAnalytics":{"propertyId":"UA-6275740-1","measurementId":"G-BTTN4BQHSS"}},"adBundle":[],"settings":{"mobileStickyAds":true,"enableGrapeshotTags":true},"siteList":["www.elle.com"]},"commerce":{"affiliate":{"url":"https://assets.hearstapps.com/commerce/release/affiliate-bundle.master.js","amazon":{"market":"HMG-US","default":{"sem":"elle-lift-20","tag":"elle_auto-append-20","icxId":"10051","social":"elle-soc-lift-20"}},"skimlinks":{"market":"HMG-US","default":{"url":"//s.skimresources.com/js/74968X1525074.skimlinks.js"}},"trackonomics":{"cipd2":"ell"}}},"defaults":{"source_site":"ELLE","editorial_source":"Hearst Editorial","rufusRecaptchaSiteKey":"6LfLjn0pAAAAAKdn30ey4vAKDRVMjp_fRiXmUMFN"},"palettes":{"flint":"Flint","ell_dark":"ELLE Dark","ell_light":"ELLE Light"},"copyright":"Hearst Magazine Media, Inc. All Rights Reserved.","icxSiteId":"10051","permutive":{"key":"82db4172-fb05-4917-8bee-338bbd997af3"},"top_touts":{"02e03aef-94fb-49f4-a0e4-ec7d203877b3":{"id":"02e03aef-94fb-49f4-a0e4-ec7d203877b3","type":"content","order":"4"},"81f71644-e175-4c4f-925f-89e385351bd5":{"id":"81f71644-e175-4c4f-925f-89e385351bd5","type":"content","order":"1"},"ae6d116c-3204-447f-a413-8ada92bdaa96":{"id":"ae6d116c-3204-447f-a413-8ada92bdaa96","type":"content","order":"2"},"d1c3bdcd-c802-4cae-9881-1bc2ea9be376":{"id":"d1c3bdcd-c802-4cae-9881-1bc2ea9be376","type":"content","order":"3"},"d2bcc85a-cc1f-4ccc-953f-128f9e1a178f":{"id":"d2bcc85a-cc1f-4ccc-953f-128f9e1a178f","type":"content","order":"0"}},"video_ads":{"ad_throttle_duration":90},"yieldmoId":"1615167028080262043","comScoreId":"6035258","chartbeatId":"39276","icxDomainId":"6844","networkName":"Hearst Fashion and Luxury Collection","siteAcronym":"ELL","lotameSiteId":"4427","burtAnalytics":"AMPF83OLU395","content_types":["Astrology","Deals","Default","Feature","How-to & Service","News","News Explainer","Product Review","Round-up: General","Round-up: Products"],"payWallSchema":{"freeTags":["most-popular"]},"networkTagLine":"A Part of Hearst Digital Media","seekrIndexName":"elle-en-us","networkLogoPath":"@siteAssets/images/logos/network-logo.png","icxVideoDomainId":"7303","oneTrustDomainId":"e435627f-2ac9-4bec-82c7-15e57b0250a3","ensightenScriptUrl":"//nexus.ensighten.com/hearst/mag/Bootstrap.js","amazonAffiliateCode":"elle_auto-append-20","indexExchangeSiteId":"297428","skimlinksPublisherId":"74968X1525074","ensightenDevScriptUrl":"//nexus.ensighten.com/hearst/mag-dev/Bootstrap.js","newsletter_preference_id":"9875786B-CB0E-4B97-9F7A-8DFCFA670ECD","googleAnalyticsSiteAccount":"UA-6275740-1","googleAnalyticsVideoDiagTracking":"true","googleAnalyticsVideoTrackingBrandName":"Elle"}};
  512. window.CURRENT_LOCALE = {"id":"ce9851fb-c3a3-4b8b-8069-1f3d37f87dd9","created_at":"2016-01-23T03:19:08.924000Z","updated_at":"2021-03-02T14:52:36.028409Z","name":"United States","language":"en","country":"US","url_path":"en","currency":"USD"};
  513. window.MOBILE_AD_PROGRESS_BAR = false;
  514. window.SELF_HOSTED_ADS = true;
  515. window.SELF_HOSTED_AFFILIATE_TAGGING = true;
  516.  
  517.  
  518. /**
  519. * Loads the Consent Management (CMP) script
  520. */
  521. const oneTrustDomainId = 'e435627f-2ac9-4bec-82c7-15e57b0250a3';
  522.  
  523. function loadCmpScript(doc, win) {
  524. const search = window.location.search;
  525. const ua = navigator.userAgent;
  526. const env = /docker|hearstapps/i.test(doc.location.hostname) ? 'stage' : 'prod';
  527. const docBody = doc.body || doc.getElementsByTagName('body')[0];
  528. const siteCountry = 'US'.toLowerCase();
  529.  
  530. win.cmpUtils = {
  531. /**
  532. * Config & Default consent state
  533. */
  534. debug: [],
  535. bypassed: false,
  536. consentInfo: {},
  537. cmpQueue: [],
  538. hasWwwInHostName: win.location.hostname.startsWith('www'),
  539. haveConsent: false,
  540. timerStart: Date.now(),
  541. wrapperInit: false,
  542.  
  543. /**
  544. * Scroll fix for OneTrust consent & preference center modals
  545. */
  546. checkOtTextScroll(sel) {
  547. setTimeout(function handleTimeOut() {
  548. var otp = doc.querySelector(sel);
  549. if (otp && otp.scrollTop > 0) {
  550. otp.scrollTop = 0;
  551. }
  552. }, 250);
  553. },
  554.  
  555. /**
  556. * CCPA Forms Request Types
  557. */
  558. formRequestTypes: [
  559. 'Global DNS',
  560. 'Do Not Sell My Information',
  561. 'Delete My Personal Information',
  562. 'Access My Personal Information',
  563. ],
  564.  
  565. /**
  566. * @desc Checks IAB TCF CMP API to verify vendor consent
  567. *
  568. * - Pings the __tcfapi and sets listener for response
  569. * - Callback response collects vendor consents from tcData
  570. * - Calls checkVendorConsent
  571. *
  572. * @param {integer} vendorId - IAB Vendor ID
  573. * @param {function} callback - vendor tag callback function
  574. * @callback {checkVendorConsent}
  575. */
  576. checkTCFApi(vendorId, callback) {
  577. // Adding TCF CMP API event listener callback to when data is loaded
  578. function tcfCallback(tcData, success) {
  579. if (
  580. success &&
  581. (tcData.eventStatus === 'tcloaded' || tcData.eventStatus === 'useractioncomplete')
  582. ) {
  583. const vendorConsents = tcData?.vendor?.consents || {};
  584. win.__tcfapi('removeEventListener', 2, function handleTcfListener() {}, tcData.listenerId);
  585. if (vendorConsents) win.cmpUtils.checkVendorConsent(vendorConsents, vendorId, callback);
  586. }
  587. };
  588.  
  589. // Check TCF ping and run event listener or function depending on status
  590. win.__tcfapi('ping', 2, function handleTcfPing() {
  591. win.__tcfapi('addEventListener', 2, tcfCallback);
  592. });
  593. },
  594.  
  595. /**
  596. * @desc Checks Vendor Consents from TCF CMP API
  597. *
  598. * Will run callback function (tag) if vendor consent is true
  599. * AND if user is not the following:
  600. * - GPP US National Opt Out
  601. * - CCPA Opt Out (deprecated soon)
  602. * - GPC set
  603. *
  604. * Sets listener for possible user consent change
  605. *
  606. * @param {object} vendorConsents - from TCP API tcData response
  607. * @param {integer} vendorId - IAB Vendor ID
  608. * @param {function} callback - vendor tag callback function
  609. * @param {boolean} init - used to set the change listener if initial check
  610. * @callback callback supplied - self if consent change
  611. */
  612. checkVendorConsent(vendorConsents, vendorId, callback, init = true) {
  613. // If there is vendor consent for the supplied vendor ID
  614. if (
  615. vendorConsents[vendorId] === true &&
  616. !win.CMP_GPP_USNAT_OPTOUT &&
  617. !win.CMP_CCPA_OPTOUT &&
  618. !win.CMP_GPC_SET
  619. ) {
  620. win.cmpUtils.log(
  621. 'cmpUtils - checkVendorConsent',
  622. 'consent',
  623. `vendorId ${vendorId} = ${vendorConsents[vendorId]}`
  624. );
  625. return callback();
  626. }
  627. win.cmpUtils.log(
  628. 'cmpUtils - checkVendorConsent',
  629. 'consent DECLINED',
  630. `vendorId ${vendorId} = ${vendorConsents[vendorId]}`
  631. );
  632.  
  633. // No consent intially so add listener for consent change to try again
  634. if (init) {
  635. win.addEventListener(
  636. 'cmp.consent.change',
  637. function handleConsentChange() {
  638. win.cmpUtils.checkVendorConsent(vendorConsents, vendorId, callback, false);
  639. return false;
  640. },
  641. { once: true }
  642. );
  643. }
  644.  
  645. return false;
  646. },
  647.  
  648. /**
  649. * Display the OneTrust Modal's Decline Button
  650. *
  651. * The new requirement is to display a "Decline" button
  652. * of the same size right next to the "Accept" button on the main consent modal.
  653. *
  654. * There are multiple scenarios we're handling.
  655. *
  656. * ES (Spain) sites/users - will NOT see a "Decline" button on the main consent modal UNTIL Jan. 11, 2024
  657. * IT (Italy) sites/users - will see a "Decline" button at the top right, and NOT next to "Accept"
  658. * NL (Netherlands) sites/users - will NOT see a "Decline" button (until further notice)
  659. * UK (United Kingdom aka: GB) sites/users - WILL see a "Decline" button next to "Accept" on the main consent modal
  660. * Every other EU sites/users - WILL see a "Decline" button next to "Accept" on the main consent modal
  661. */
  662. displayDeclineButton() {
  663. const { site, user } = win.cmpUtils.locale;
  664. const otModal = doc.querySelector('#onetrust-banner-sdk');
  665.  
  666. if (otModal) {
  667. // Spain shows button after Jan. 11, 2024
  668. const spainDisplayDecline = new Date() > new Date('2024-01-11T00:00:00');
  669.  
  670. // Spain or Netherlands
  671. if (
  672. (site === 'es' || user === 'es') && !spainDisplayDecline
  673. || (site === 'nl' || user === 'nl')
  674. ) {
  675. otModal.classList.add('without-decline-option');
  676. }
  677.  
  678. // Italy
  679. if (site === 'it' || user === 'it') {
  680. otModal.classList.add('with-close-option');
  681. }
  682. }
  683. },
  684.  
  685. /**
  686. * Event Dispatch Wrapper Method
  687. *
  688. * @param {string} name
  689. * @param {object} options
  690. */
  691. emitEvent(name, options = {}) {
  692. win.dispatchEvent(new CustomEvent(name, { detail: options }));
  693. },
  694.  
  695. /**
  696. * Event handler for OneTrust forms completion
  697. * - uses cmpUtils.formRequestTypes
  698. * - E.g. Do Not Sell My Personal Information
  699. *
  700. * @param {object} event
  701. * @returns
  702. */
  703. formCompletionHandler(event) {
  704. if (!event.origin.includes('onetrust')) return;
  705.  
  706. win.cmpUtils.log('formCompletionHandler', 'event', event);
  707.  
  708. const { data } = event;
  709. const parsedData = JSON.parse(data);
  710.  
  711. win.scrollTo(0, 0);
  712.  
  713. const matchedRequest = win.cmpUtils.formRequestTypes.filter(function matchReq(req) {
  714. return parsedData.requestTypes.includes(req);
  715. });
  716.  
  717. if (matchedRequest.length > 0) {
  718. // On successful form submission, flips switch to off for
  719. // "Opt Out of Sale of Sharing/Targeted Advertising"
  720. // leaving only cookie categories C0001 (strictly necessary) & C0003 (functional) allowed
  721. // - GPP US National Opt Out
  722. // - CCPA Opt Out (deprecated soon)
  723. win.Optanon.RejectAll();
  724.  
  725. win.removeEventListener('click', win.cmpUtils.formCompletionHandler);
  726. }
  727. },
  728.  
  729. /**
  730. * Returns the OneTrust 'OptanonAlertBoxClosed' cookie value
  731. *
  732. * @returns {array}
  733. */
  734. getAlertBoxCookieValue() {
  735. // Get the OptanonAlertBoxClosed Cookie
  736. return win.cmpUtils.getCookieMatch('OptanonAlertBoxClosed');
  737. },
  738.  
  739. /**
  740. * Returns a regex match on the document.cookie object, capturing the value
  741. * https://regex101.com/r/yaCpvJ/1
  742. *
  743. * @param {*} name
  744. * @returns {*} - value passed if matched
  745. */
  746. getCookieMatch: (name) => doc.cookie.match(`[; ]*${name}=([^;]+)`),
  747.  
  748. /**
  749. * Returns the CCPA Opt Out Value from the 'usprivacy' cookie if present
  750. *
  751. * @returns {boolean}
  752. */
  753. getCCPAOptOut() {
  754. const usprivacy = win.cmpUtils.getCookieMatch('usprivacy');
  755. return !!(usprivacy && usprivacy[1].charAt(2) === 'Y');
  756. },
  757.  
  758. /**
  759. * Checks consent states from OneTrust Consent Groups & IAB TCF CMP API
  760. * - If 'category' has consent (2 usage options):
  761. *   - runs callback function
  762. *   - USAGE: window.getCMPConsent('category', 'C0004', callBackFunc);
  763. *
  764. *   - returns boolean for condition to run or not
  765. *   - USAGE: if (window.getCMPConsent('category', 'C0004') === true) { then do something... }
  766. *
  767. * - If 'vendor' has consent:
  768. *   - runs callback function
  769. *   - USAGE: window.getCMPConsent('vendor', [ vendor ID here ], callBackFunc);
  770. *
  771. * @param {string} type - Type of consent to check for: 'category' or 'vendor'
  772. * @param {integer} id - IAB vendor ID to be checked against
  773. * @param {function} tag - The tag/vendor callback function to run
  774. * @param {boolean} init - used to set the change listener if initial check
  775. * @returns {boolean}
  776. */
  777. getCMPConsent(type, id, tag, init = true) {
  778. // Run tag if site/user is not GDPR eligible
  779. // AND check to see if user is not the following:
  780. // - GPP US National Opt Out
  781. // - CCPA Opt Out (deprecated soon)
  782. // - GPC set
  783. const notGDPROrOptedOut =
  784. !win.GDPR && !win.CMP_GPP_USNAT_OPTOUT && !win.CMP_CCPA_OPTOUT && !win.CMP_GPC_SET;
  785.  
  786. // Check type of consent we are checking for
  787. switch (type) {
  788. case 'category':
  789. try {
  790. if (
  791. notGDPROrOptedOut ||
  792. // Check if user has consented to category
  793. win.CMP_CONSENT_GROUPS.includes(id)
  794. ) {
  795. win.cmpUtils.log('cmpUtils - getCMPConsent', `category '${id}' consent`, true);
  796. if (tag) tag();
  797. return true;
  798. }
  799. // No consent intially so add listener for consent change to try again
  800. if (init) {
  801. win.addEventListener(
  802. 'cmp.consent.change',
  803. function handleConsentChange() {
  804. win.cmpUtils.getCMPConsent(type, id, tag, false);
  805. },
  806. { once: true }
  807. );
  808. }
  809.  
  810. break;
  811. } catch (e) {
  812. return false;
  813. }
  814. case 'vendor':
  815. if (notGDPROrOptedOut) return tag();
  816.  
  817. // If __tcfapi isn't defined, push command into queue
  818. if (typeof win.__tcfapi === 'undefined') {
  819. win.cmpUtils.cmpQueue.push([id, tag]);
  820. } else {
  821. win.cmpUtils.checkTCFApi(id, tag);
  822. }
  823. return true;
  824.  
  825. default:
  826. return false;
  827. }
  828.  
  829. // Return false if cases fail:
  830. return false;
  831. },
  832.  
  833. /**
  834. * Gets the Consent Groups via 'OptanonConsent' cookie value
  835. *
  836. * @returns {object} - consent groups and partial consent
  837. */
  838. getConsentGroups() {
  839. let partialConsent = false;
  840. let cmpConsentGroups = '';
  841.  
  842. // Check for consent via cookie value
  843. const onetrustCookieVal = win.cmpUtils.getCookieMatch('OptanonConsent');
  844.  
  845. if (onetrustCookieVal) {
  846. let groups = onetrustCookieVal[1].match(/groups=(.*?)(&|$)/);
  847. const interactionCount = onetrustCookieVal[1].match(/interactionCount=(.*?)(&|$)/);
  848.  
  849. win.cmpUtils.log('cmpUtils - getConsentGroups', 'groups', groups);
  850. win.cmpUtils.log('cmpUtils - getConsentGroups', 'interactionCount', interactionCount);
  851.  
  852. if (groups) {
  853. groups = decodeURIComponent(groups[1]).split(',');
  854. groups.forEach(function handleGroup(group) {
  855. if (group.includes(':')) {
  856. const gs = group.split(':');
  857. if (gs[1] === '1') {
  858. cmpConsentGroups += (cmpConsentGroups ? ',' : '') + gs[0];
  859. // show partial consent only after initial interaction
  860. } else if (gs[1] === '0' && interactionCount[1] > 0) {
  861. partialConsent = true;
  862. }
  863. }
  864. });
  865. }
  866. }
  867.  
  868. return { cmpConsentGroups, partialConsent };
  869. },
  870.  
  871. /**
  872. * Returns the Global Privacy Control (GPC) Value from the browser
  873. *
  874. * @returns {boolean}
  875. */
  876. getGPCStatus() {
  877. return !!(navigator && navigator.globalPrivacyControl);
  878. },
  879.  
  880. /**
  881. * Gets the User's cookie Info from a HDM-set cookie
  882. * - Fastly set
  883. * - manually set from FRE or ad bundle
  884. *
  885. * Note: Value MUST be in the format of a JSON string
  886. *
  887. * @returns {object}
  888. */
  889. getHdmCookie(name) {
  890. const hdmCookie = win.cmpUtils.getCookieMatch(name);
  891. return hdmCookie ? JSON.parse(hdmCookie[1]) : '';
  892. },
  893.  
  894. /**
  895. * Retrieves the user's country code from the Fastly 'location_data' cookie
  896. *
  897. * @returns {string}
  898. */
  899. getUserCountry() {
  900. // Get location cookie set by Fastly
  901. const locationDataCookie = win.cmpUtils.getHdmCookie('location_data');
  902. // Get country code from location cookie
  903. const { country_code: countryCode } = locationDataCookie;
  904.  
  905. return countryCode ? countryCode.toLowerCase() : false;
  906. },
  907.  
  908. /**
  909. * Global Privacy Protection (GPP)
  910. */
  911. gpp: {
  912. listenerSet: false,
  913.  
  914. /**
  915. * Retrieves GPP US National Opt Out Signal from "hdm_cmp" cookie
  916. *
  917. * @returns {boolean}
  918. */
  919. getUsNatOptOut() {
  920. // If 'hcm_cmp' cookie is found
  921. const hdmCmp = win.cmpUtils.getHdmCookie('hdm_cmp');
  922.  
  923. // If GPP US National Opt Out is found
  924. const optOut = hdmCmp?.gpp?.usNatOptOut;
  925. if (optOut) {
  926. win.cmpUtils.log('cmpUtils - GPP', 'getUsNatOptOut - hdmCmp.gpp.usNatOptOut', !!optOut);
  927. return !!optOut;
  928. }
  929.  
  930. return false;
  931. },
  932.  
  933. /**
  934. * Retrieves and Sets GPP US National Opt Out Signal from __gpp CMP API
  935. *
  936. * @returns {boolean}
  937. */
  938. setUsNatOptOut(evt) {
  939. win.cmpUtils.log('cmpUtils - GPP', 'setUsNatOptOut - evt', evt);
  940.  
  941. // Checking __gpp CMP API
  942. const { pingData } = evt;
  943. const OPTED_OUT_VALUE = 1;
  944. let optOut = false;
  945.  
  946. function updateHdmCmpCookie() {
  947. const hdmCmpCookie = win.cmpUtils.getHdmCookie('hdm_cmp');
  948.  
  949. // If no cookie or status has changed, set/update 'hdm_cmp' cookie
  950. if (!hdmCmpCookie || win.CMP_GPP_USNAT_OPTOUT !== optOut) {
  951. const cookieInfo = {
  952. gpp: {
  953. usNatOptOut: optOut,
  954. // TODO: remove after all scripts updated to new version
  955. uspNatOptOut: optOut,
  956. },
  957. };
  958. win.CMP_GPP_USNAT_OPTOUT = optOut;
  959. // TODO: remove after all scripts updated to new version
  960. win.CMP_GPP_USPNAT_OPTOUT = win.CMP_GPP_USNAT_OPTOUT;
  961. win.cmpUtils.setHdmCmpCookie(cookieInfo);
  962. }
  963. }
  964.  
  965. function handleGetSection(resp) {
  966. win.cmpUtils.log('cmpUtils - GPP', 'setUsNatOptOut - handleGetSection - resp', resp);
  967.  
  968. const { SaleOptOut, SharingOptOut, TargetedAdvertisingOptOut } = resp;
  969.  
  970. // If any of these are opted out
  971. optOut =
  972. SaleOptOut === OPTED_OUT_VALUE ||
  973. SharingOptOut === OPTED_OUT_VALUE ||
  974. TargetedAdvertisingOptOut === OPTED_OUT_VALUE;
  975.  
  976. win.cmpUtils.log('cmpUtils - GPP', 'setUsNatOptOut - handleGetSection - optOut', optOut);
  977.  
  978. updateHdmCmpCookie();
  979. }
  980.  
  981. function handleHasSection(resp) {
  982. win.cmpUtils.log('cmpUtils - GPP', 'setUsNatOptOut - handleHasSection - resp', resp);
  983.  
  984. if (resp) {
  985. // Get GPP details from the section
  986. win.__gpp('getSection', handleGetSection, 'usnatv1');
  987. } else {
  988. updateHdmCmpCookie();
  989. }
  990. }
  991.  
  992. // If GPP ready and loaded
  993. if (pingData && pingData.cmpStatus === 'loaded') {
  994. // Check to see if the 'usnatv1' section is available
  995. // - if configured, handle it
  996. win.__gpp('hasSection', handleHasSection, 'usnatv1');
  997. }
  998. },
  999.  
  1000. /**
  1001. * Initializes GPP Event Listener
  1002. * - Retrieves initial info
  1003. *
  1004. * @returns {boolean}
  1005. */
  1006. init() {
  1007. win.cmpUtils.log('cmpUtils - GPP', 'init', true);
  1008.  
  1009. win.__gpp('addEventListener', win.cmpUtils.gpp.setUsNatOptOut);
  1010.  
  1011. win.cmpUtils.gpp.listenerSet = true;
  1012. },
  1013. },
  1014.  
  1015. /**
  1016. * Check if OneTrust Modal is present
  1017. */
  1018. hasModal: () => !!doc.querySelector('#onetrust-banner-sdk'),
  1019.  
  1020. /**
  1021. * Logs when OneTrust script is loaded
  1022. */
  1023. handleOtLoad(e) {
  1024. win.cmpUtils.log('loadCmpScript', 'handleOtLoad - e', e);
  1025. },
  1026.  
  1027. /**
  1028. * Check if US Site AND User
  1029. */
  1030. isUSSiteAndUser: () => win.cmpUtils.locale.site === 'us' && win.cmpUtils.locale.user === 'us',
  1031.  
  1032. /**
  1033. * Loads the IAB CCPA Script
  1034. */
  1035. loadIabCcpaScript() {
  1036. const docBod = doc.body || doc.getElementsByTagName('body')[0];
  1037.  
  1038. const script = doc.createElement('script');
  1039. script.id = 'ot-ccpa-iab-script';
  1040. script.src = 'https://cdn.cookielaw.org/opt-out/otCCPAiab.js';
  1041. script.setAttribute('type', 'text/javascript');
  1042. script.setAttribute('charset', 'UTF-8');
  1043. script.setAttribute('ccpa-opt-out-ids', ['C0004'].join(','));
  1044. script.setAttribute('ccpa-opt-out-geo', 'us');
  1045. script.setAttribute('ccpa-opt-out-lspa', 'false');
  1046.  
  1047. docBod.appendChild(script);
  1048.  
  1049. win.cmpUtils.log('loadCmpScript - loadIabCcpaScript', 'script', script);
  1050.  
  1051. // After the script loads, fire the "consent.onetrust" event
  1052. // until the uspData is available or timeout reached
  1053. script.addEventListener(
  1054. 'load',
  1055. function handleLoad() {
  1056. let intv = 0;
  1057. const t = setInterval(function checkIntv() {
  1058. // eslint-disable-next-line no-undef,no-unused-vars
  1059. __uspapi('getUSPData', 1, function checkUspData(uspData, success) {
  1060. if (uspData.uspString !== null || intv === 50) {
  1061. // Get Inital CCPA Opt Out
  1062. win.CMP_CCPA_OPTOUT = win.cmpUtils.getCCPAOptOut();
  1063. win.cmpUtils.log(
  1064. 'loadCmpScript - loadIabCcpaScript',
  1065. 'uspData.uspString',
  1066. uspData.uspString
  1067. );
  1068. clearInterval(t);
  1069. }
  1070. });
  1071. intv += 1;
  1072. }, 200);
  1073. },
  1074. { once: true }
  1075. );
  1076. },
  1077.  
  1078. /**
  1079. * Keeps a log of the CMP events
  1080. *
  1081. * @param {*} name
  1082. * @param {*} evt
  1083. * @param {*} msg
  1084. */
  1085. log(name, evt, msg) {
  1086. const ts = Date.now() - win.cmpUtils.timerStart;
  1087. win.cmpUtils.debug.push({
  1088. name,
  1089. evt,
  1090. msg,
  1091. ts,
  1092. });
  1093. },
  1094.  
  1095. /**
  1096. * Cookie Setting Function
  1097. * - Production domains need to have cookie domain explicitly set
  1098. * - Adds path adjustment for international sites
  1099. *
  1100. * Reads an object that passes the following properties:
  1101. *
  1102. * @param {string} name
  1103. * @param {JSON} value
  1104. * @param {integer} minutes
  1105. */
  1106. setCookie(info) {
  1107. const { name, value, minutes } = info;
  1108.  
  1109. // Set name/value
  1110. let cookie = `${name}=${value}`;
  1111.  
  1112. // Set Expiration (if applicable)
  1113. if (minutes) {
  1114. let date;
  1115.  
  1116. if (minutes === 'delete') {
  1117. date = new Date(0);
  1118. } else {
  1119. const expires = Date.now() + minutes * 60 * 1000;
  1120. date = new Date(expires);
  1121. }
  1122.  
  1123. cookie += `; expires=${date.toUTCString()}`;
  1124. }
  1125.  
  1126. // Set Domain
  1127. // - prod/stage domains need 'www' or 'www-stage' removed and use apex
  1128. const domain = win.cmpUtils.hasWwwInHostName
  1129. ? win.location.hostname.replace(/(www-stage)|(www)/, '')
  1130. : '';
  1131. cookie += domain ? `; domain=${domain}` : '';
  1132.  
  1133. // Set Path
  1134. const localePath = win.__SITE?.locale_path;
  1135. cookie += `; path=${localePath ? `/${localePath}/` : '/'}`;
  1136.  
  1137. win.cmpUtils.log('cmpUtils - setCookie', 'cookie', `${cookie};`);
  1138.  
  1139. // Set final cookie
  1140. document.cookie = `${cookie};`;
  1141. },
  1142.  
  1143. /**
  1144. * Sets all the global values
  1145. *
  1146. * window object properties:
  1147. * - CMP_CONSENT
  1148. * - CMP_PARTIAL_CONSTENT - depends on if opted out of some categories
  1149. * - CMP_WITHDRAWN - only set when the user declines consent
  1150. * - CMP_CONSENT_GROUPS - all cookie category groups consented to
  1151. * - CMP_GPC_SET - true if global privacy control is on
  1152. * - CMP_GPP_USNAT_OPTOUT - true if global privacy policy (GPP) is on for 'usnatv1' (US National)
  1153. * - CMP_CCPA_OPT_OUT - true if user opted out of sale of data (deprecated soon)
  1154. */
  1155. setGlobalValues() {
  1156. // Global function used by video and tags to determine if a GDPR consent modal is showing
  1157. // TODO: remove duplicate vars after migrate to CMP vocab
  1158. win.GDPR_CONSENT_MODAL = win.cmpUtils.hasModal;
  1159. win.CMP_CONSENT_MODAL = win.cmpUtils.hasModal;
  1160.  
  1161. // Get Consent Groups
  1162. const { cmpConsentGroups, partialConsent } = win.cmpUtils.getConsentGroups();
  1163. win.cmpUtils.log('cmpUtils - setGlobalValues', 'cmpConsentGroups', cmpConsentGroups);
  1164. win.cmpUtils.log('cmpUtils - setGlobalValues', 'partialConsent', partialConsent);
  1165.  
  1166. // Set Consent Groups into Global
  1167. // TODO: remove duplicate vars after migrate to CMP vocab
  1168. win.GDPR_CONSENT_GROUPS = cmpConsentGroups;
  1169. win.CMP_CONSENT_GROUPS = cmpConsentGroups;
  1170.  
  1171. // US Sites & Users
  1172. // - GPP US National Opt Out
  1173. // - CCPA Opt Out (deprecated soon)
  1174. if (win.cmpUtils.isUSSiteAndUser()) {
  1175. // Set US National Opt Out
  1176. win.CMP_GPP_USNAT_OPTOUT = win.cmpUtils.gpp.getUsNatOptOut();
  1177. // TODO: remove after all scripts updated to new version
  1178. win.CMP_GPP_USPNAT_OPTOUT = win.CMP_GPP_USNAT_OPTOUT;
  1179. win.cmpUtils.log(
  1180. 'cmpUtils - setGlobalValues',
  1181. 'win.CMP_GPP_USNAT_OPTOUT',
  1182. win.CMP_GPP_USNAT_OPTOUT
  1183. );
  1184.  
  1185. // Get CCPA Opt Out
  1186. win.CMP_CCPA_OPTOUT = win.cmpUtils.getCCPAOptOut();
  1187. win.cmpUtils.log('cmpUtils - setGlobalValues', 'win.CMP_CCPA_OPTOUT', win.CMP_CCPA_OPTOUT);
  1188. }
  1189.  
  1190. // Get GPC Status
  1191. win.CMP_GPC_SET = win.cmpUtils.getGPCStatus();
  1192. win.cmpUtils.log('cmpUtils - setGlobalValues', 'win.CMP_GPC_SET', win.CMP_GPC_SET);
  1193.  
  1194. // If consent in any of categories 2 through 5 - check for YES consent
  1195. win.cmpUtils.haveConsent = !!/C0002|C0003|C0004|C0005/.test(cmpConsentGroups);
  1196.  
  1197. win.cmpUtils.log(
  1198. 'cmpUtils - setGlobalValues',
  1199. 'cmpUtils.haveConsent',
  1200. win.cmpUtils.haveConsent
  1201. );
  1202.  
  1203. // Set consent state as a global variable for use by tags
  1204. // - Caution: this is a generic consent value
  1205. // - Consent should be checked by cookie category or vendor ID
  1206. // - See details here:
  1207. //   https://www.notion.so/mediaos/GDPR-Consent-Management-38127bd6b9904408a809a9946a358d9f
  1208. // TODO: remove duplicate vars after migrate to CMP vocab
  1209. win.GDPR_CONSENT = !!win.cmpUtils.haveConsent;
  1210. win.CMP_CONSENT = !!win.cmpUtils.haveConsent;
  1211. win.cmpUtils.log('cmpUtils - setGlobalValues', 'win.CMP_CONSENT', win.CMP_CONSENT);
  1212.  
  1213. // Check for partial consent and set global if true
  1214. if (partialConsent) {
  1215. // TODO: remove duplicate vars after migrate to CMP vocab
  1216. win.GDPR_PARTIAL_CONSENT = true;
  1217. win.CMP_PARTIAL_CONSENT = true;
  1218. win.cmpUtils.log(
  1219. 'cmpUtils - setGlobalValues',
  1220. 'win.CMP_PARTIAL_CONSENT',
  1221. win.CMP_PARTIAL_CONSENT
  1222. );
  1223. }
  1224.  
  1225. // Get the OptanonAlertBoxClosed Cookie
  1226. const onetrustAlertBoxCookieVal = win.cmpUtils.getAlertBoxCookieValue();
  1227.  
  1228. // If consent has been withdrawn set a global variable for use by tags
  1229. if (!win.cmpUtils.haveConsent && onetrustAlertBoxCookieVal) {
  1230. // TODO: remove duplicate vars after migrate to CMP vocab
  1231. win.GDPR_WITHDRAWN = true;
  1232. win.CMP_WITHDRAWN = true;
  1233. win.cmpUtils.log('cmpUtils - setGlobalValues', 'win.CMP_WITHDRAWN', win.CMP_WITHDRAWN);
  1234. }
  1235. },
  1236.  
  1237. /**
  1238. * Sets/Updates 'hdm_cmp' Cookie with current user consent
  1239. *
  1240. * Supports various settings including:
  1241. * - GPP US National Optout
  1242. * - CCPA Opt Out (deprecated soon)
  1243. * - OneTrust Cookie Categories
  1244. * - GPC Setting
  1245. *
  1246. * @param {object} info
  1247. * @calls {setCookie}
  1248. */
  1249. setHdmCmpCookie(info) {
  1250. if (!info) return;
  1251.  
  1252. // get current parsed cookie value if any
  1253. const hdmCmpCookie = win.cmpUtils.getHdmCookie('hdm_cmp');
  1254.  
  1255. // combine info arg value with current value
  1256. // and convert to JSON string
  1257. const combinedInfo = JSON.stringify({ ...hdmCmpCookie, ...info });
  1258.  
  1259. // set cookie info
  1260. const cookieInfo = {
  1261. name: 'hdm_cmp',
  1262. value: combinedInfo,
  1263. minutes: 525600,
  1264. };
  1265.  
  1266. win.cmpUtils.log('cmpUtils - setHdmCmpCookie', 'cookieInfo', cookieInfo);
  1267.  
  1268. win.cmpUtils.setCookie(cookieInfo);
  1269. },
  1270.  
  1271. /**
  1272. * Updates Your Privacy Rights form iframe styles (heights)
  1273. */
  1274. updateFormIframeStyles(formFrame) {
  1275. if (formFrame) {
  1276. const formContInner = formFrame.parentElement;
  1277. const formContEmbed = formContInner.parentElement;
  1278. const formContBody = formContEmbed.parentElement;
  1279. const formContMain = formContBody.parentElement.parentElement;
  1280. formContInner.classList.add('onetrust-do-not-sell-form-embed-inner');
  1281. formContEmbed.classList.add('onetrust-do-not-sell-form-embed');
  1282. formContBody.classList.add('onetrust-do-not-sell-form-body');
  1283. formContMain.classList.add('onetrust-do-not-sell-form-content');
  1284. formFrame.classList.add('onetrust-do-not-sell-form');
  1285. }
  1286. },
  1287.  
  1288. /**
  1289. * Wait for OptanonAlertBoxClosed Cookie to be set
  1290. *
  1291. * @param {string} name
  1292. * @returns {promise}
  1293. */
  1294. waitForOTCookie(name) {
  1295. // time counter to avoid infinite loop when OptanonAlertBoxClosed does not exist
  1296. let counter = 0;
  1297. function assignOTCookiePromise(resolve, reject) {
  1298. if (counter >= 1000) reject(`${name} does not exist`);
  1299. if (win.cmpUtils.getCookieMatch(name)) {
  1300. resolve(true);
  1301. } else if (counter < 1000) {
  1302. counter += 100;
  1303. setTimeout(assignOTCookiePromise.bind(this, resolve, reject), 100);
  1304. }
  1305. }
  1306. return new Promise(assignOTCookiePromise);
  1307. },
  1308.  
  1309. /**
  1310. * Waits for tcfapi to be defined
  1311. * - calls checkTCFApi to process cmpQueue
  1312. */
  1313. waitForTCF() {
  1314. if (typeof win.__tcfapi !== 'undefined') {
  1315. // loop through queue
  1316. if (win.cmpUtils.cmpQueue.length) {
  1317. win.cmpUtils.cmpQueue.forEach(function handleTcfArgs(args) {
  1318. if (Array.isArray(args)) {
  1319. win.cmpUtils.checkTCFApi(...args);
  1320. }
  1321. });
  1322. // reset the queue
  1323. win.cmpUtils.cmpQueue = [];
  1324. }
  1325.  
  1326. return;
  1327. }
  1328. setTimeout(win.cmpUtils.waitForTCF, 100);
  1329. },
  1330. };
  1331.  
  1332. /**
  1333. * Loads the Consent Management Logic - OneTrust
  1334. */
  1335. function loadCmpScriptLogic() {
  1336. win.cmpUtils.log('loadCmpScript - loaded', 'cmpUtils', win.cmpUtils);
  1337.  
  1338. // Set User & Site Locales
  1339. win.cmpUtils.locale = {
  1340. site: siteCountry,
  1341. user: win.cmpUtils.getUserCountry(),
  1342. };
  1343.  
  1344. // Set Global Values
  1345. win.cmpUtils.setGlobalValues();
  1346.  
  1347. // Set CMP Consent Check to global
  1348. win.getCMPConsent = win.cmpUtils.getCMPConsent;
  1349.  
  1350. // For GDPR, wait TCF to load and process cmpQueue
  1351. if (window.GDPR) win.cmpUtils.waitForTCF();
  1352.  
  1353. // Cookie Choices Button - used to trigger preference center modal event
  1354. const cookieChoicesButton = doc.querySelector('.ot-sdk-show-settings');
  1355. if (cookieChoicesButton) {
  1356. cookieChoicesButton.addEventListener(
  1357. 'click',
  1358. function emit() {
  1359. win.cmpUtils.emitEvent('onetrust_pc_modal');
  1360. },
  1361. false
  1362. );
  1363. }
  1364.  
  1365. /**
  1366. * OneTrust Callback
  1367. * Callback executed by OneTrust
  1368. * - immediately after their vendor script is loaded
  1369. * - if user changes consent via preferences center
  1370. */
  1371. win.OptanonWrapper = function optanonWrapper() {
  1372. win.cmpUtils.log(
  1373. 'loadCmpScript - OptanonWrapper',
  1374. 'started - cmpUtils.wrapperInit',
  1375. win.cmpUtils.wrapperInit
  1376. );
  1377. win.cmpUtils.wrapperInit = true;
  1378. win.cmpUtils.log(
  1379. 'loadCmpScript - OptanonWrapper',
  1380. 'started - cmpUtils.haveConsent',
  1381. win.cmpUtils.haveConsent
  1382. );
  1383.  
  1384. // Wait for OneTrust cookie information to be set/present
  1385. win.cmpUtils.waitForOTCookie('OptanonConsent').then(function handleWaitFor() {
  1386. // Get the OptanonAlertBoxClosed Cookie
  1387. const onetrustAlertBoxCookieVal = win.cmpUtils.getAlertBoxCookieValue();
  1388.  
  1389. // Reset Global Values
  1390. win.cmpUtils.setGlobalValues();
  1391.  
  1392. // Get datestamp from the OptanonAlertBoxClosed cookie if it exists
  1393. const otAbcCookieTimestamp = onetrustAlertBoxCookieVal
  1394. ? new Date(onetrustAlertBoxCookieVal[1]).getTime()
  1395. : 0;
  1396. win.cmpUtils.log(
  1397. 'loadCmpScript - OptanonWrapper',
  1398. 'otAbcCookieTimestamp',
  1399. otAbcCookieTimestamp
  1400. );
  1401.  
  1402. // this check if approve or not
  1403. // Maximum waiting time for the last user action in milliseconds
  1404. const MAX_TIME_ACTION = 250;
  1405. const recentActionTs = otAbcCookieTimestamp
  1406. ? Date.now() - otAbcCookieTimestamp < MAX_TIME_ACTION
  1407. : false;
  1408.  
  1409. // TODO: find all instances of binary consent
  1410. //       and change to category/vendor using getCMPConsent method,
  1411. //       then deprecate
  1412. //
  1413. // OptanonActiveGroups is a global variable that stores the current OneTrust consent status
  1414. // If one of the categories C0002 through C0005 are present means we have targeting consent
  1415. const haveCurrentConsent = /C0002|C0003|C0004|C0005/.test(win.OptanonActiveGroups);
  1416.  
  1417. // Modal load tracking:
  1418. const modalShowing = win.cmpUtils.hasModal();
  1419.  
  1420. if (modalShowing) {
  1421. // Display appropriate decline button on the main modal
  1422. win.cmpUtils.displayDeclineButton();
  1423.  
  1424. // Send event for GA tracking if it hasn't happened;
  1425. if (!win.ga_modal_tracking) {
  1426. win.ONETRUST_MODAL = true;
  1427. win.cmpUtils.log('loadCmpScript - OptanonWrapper', 'modal event', 'onetrust_modal');
  1428. win.cmpUtils.emitEvent('onetrust_modal');
  1429. }
  1430.  
  1431. // Learn More Button - used to trigger preference center modal event
  1432. const gdprLearnMoreButton = doc.querySelector('#onetrust-pc-btn-handler');
  1433. if (gdprLearnMoreButton) {
  1434. gdprLearnMoreButton.addEventListener(
  1435. 'click',
  1436. function emit() {
  1437. win.cmpUtils.log(
  1438. 'loadCmpScript - OptanonWrapper',
  1439. 'modal event',
  1440. 'onetrust_pc_modal'
  1441. );
  1442. win.cmpUtils.emitEvent('onetrust_pc_modal');
  1443. },
  1444. { once: true }
  1445. );
  1446. }
  1447. }
  1448.  
  1449. win.cmpUtils.log('loadCmpScript - OptanonWrapper', 'modalShowing', modalShowing);
  1450. win.cmpUtils.log('loadCmpScript - OptanonWrapper', 'recentActionTs', recentActionTs);
  1451.  
  1452. // Send consent events
  1453. // - accept, decline, and notification of any changes
  1454. if (modalShowing && recentActionTs) {
  1455. // If we have consent or not
  1456. if (haveCurrentConsent) {
  1457. win.cmpUtils.log('loadCmpScript - OptanonWrapper', 'modal event', 'onetrust_accept');
  1458. win.cmpUtils.emitEvent('onetrust_accept');
  1459. } else {
  1460. // If we previously had consent
  1461. win.cmpUtils.log('loadCmpScript - OptanonWrapper', 'modal event', 'onetrust_reject');
  1462. win.cmpUtils.emitEvent('onetrust_reject');
  1463. }
  1464. win.cmpUtils
  1465. .waitForOTCookie('OptanonAlertBoxClosed')
  1466. .then(() => win.cmpUtils.emitEvent('cmp.consent.change'));
  1467. }
  1468.  
  1469. // Send CMP Set event with consent object
  1470. // TODO: remove duplicate vars after migrate to CMP vocab
  1471. win.cmpUtils.consentInfo = {
  1472. consentGroups: win.CMP_CONSENT_GROUPS,
  1473. gpcSet: win.CMP_GPC_SET,
  1474. haveConsent: !!win.cmpUtils.haveConsent,
  1475. };
  1476.  
  1477. // Add US Site/Users Info
  1478. if (win.cmpUtils.isUSSiteAndUser()) {
  1479. // GPP US National Opt Out
  1480. win.cmpUtils.consentInfo.gpp = {
  1481. usNatOptOut: win.CMP_GPP_USNAT_OPTOUT,
  1482. // TODO: remove after all scripts updated to new version
  1483. uspNatOptOut: win.CMP_GPP_USNAT_OPTOUT,
  1484. };
  1485. // CCPA Opt Out (deprecated soon)
  1486. win.cmpUtils.consentInfo.ccpaOptOut = win.CMP_CCPA_OPTOUT;
  1487. }
  1488.  
  1489. // Set or update `hdm_cmp` cookie
  1490. win.cmpUtils.setHdmCmpCookie(win.cmpUtils.consentInfo);
  1491.  
  1492. // Send cmp consent set event
  1493. win.cmpUtils.emitEvent('gdpr.consent.set', win.cmpUtils.consentInfo);
  1494. win.cmpUtils.emitEvent('cmp.consent.set', win.cmpUtils.consentInfo);
  1495. win.cmpUtils.log(
  1496. 'loadCmpScript - OptanonWrapper',
  1497. 'finished - cmpUtils.consentInfo',
  1498. win.cmpUtils.consentInfo
  1499. );
  1500. });
  1501. };
  1502.  
  1503. // Initial Run if auto-run has happened before script loaded
  1504. if (!win.cmpUtils.wrapperInit) win.OptanonWrapper();
  1505.  
  1506. // Main Listener for OneTrust
  1507. win.addEventListener(
  1508. 'consent.onetrust',
  1509. function handleConsentOneTrustEvent(e) {
  1510. win.cmpUtils.log('loadCmpScript', 'Event - consent.onetrust - e', e);
  1511. },
  1512. false
  1513. );
  1514.  
  1515. // Listen for OneTrust Groups assignment
  1516. win.addEventListener(
  1517. 'OneTrustGroupsUpdated',
  1518. function handleOneTrustGroupsUpdatedEvent(e) {
  1519. // If user/site is in US
  1520. if (win.cmpUtils.isUSSiteAndUser()) {
  1521. // Load IAB CCPA Script (deprecated soon)
  1522. win.cmpUtils.loadIabCcpaScript();
  1523.  
  1524. // Load GPP
  1525. if (win.__gpp && !win.cmpUtils.gpp.listenerSet) {
  1526. win.cmpUtils.gpp.init();
  1527. win.cmpUtils.log('loadCmpScript', 'Event - OneTrustGroupsUpdated - init GPP', true);
  1528. }
  1529. }
  1530.  
  1531. // Adjust Your Privacy Rights Iframe Styles (heights) if present
  1532. const oneTrustForm = doc.querySelector('iframe[data-src*="onetrust.com/webform"]');
  1533. if (oneTrustForm) win.cmpUtils.updateFormIframeStyles(oneTrustForm);
  1534.  
  1535. win.cmpUtils.log('loadCmpScript', 'Event - OneTrustGroupsUpdated - e', e);
  1536. },
  1537. false
  1538. );
  1539.  
  1540. // Listen for OneTrust Consent Modal
  1541. win.addEventListener('onetrust_modal', function handleOneTrustModalEvent() {
  1542. win.cmpUtils.checkOtTextScroll('#onetrust-policy');
  1543. }, { once: true });
  1544.  
  1545. // Listen for OneTrust Preferences Center Modal
  1546. win.addEventListener('onetrust_pc_modal', function handleOneTrustPrefCenterModalEvent() {
  1547. win.cmpUtils.checkOtTextScroll('#ot-pc-content');
  1548. }, false);
  1549.  
  1550. // A postMessage will be sent upon a successful OneTrust form submission
  1551. win.addEventListener('message', win.cmpUtils.formCompletionHandler, false);
  1552. }
  1553.  
  1554. /**
  1555. * Load OneTrust SDK Script
  1556. */
  1557. (function loadOneTrust() {
  1558. /**
  1559. * Disable OneTrust CMP if:
  1560. * - query param "disableCMP" is present
  1561. * - the user agent is "Chrome-Lighthouse" or "PTST" from the automated build tests
  1562. */
  1563. if (~search.indexOf('disableCMP') && (~ua.indexOf('Chrome-Lighthouse') || ~ua.indexOf('PTST')) ) return;
  1564.  
  1565. // Load script with callback/onload
  1566. const domainId = `${oneTrustDomainId}${(env === 'stage') ? '-test' : ''}`;
  1567. const s = doc.createElement('script');
  1568. s.type = 'text/javascript';
  1569. s.async = true;
  1570. s.onload = win.cmpUtils.handleOtLoad;
  1571. s.charset = 'UTF-8';
  1572. s.src = 'https://cdn.cookielaw.org/scripttemplates/otSDKStub.js';
  1573. s.setAttribute('data-domain-script', domainId);
  1574. s.setAttribute('data-document-language', 'true');
  1575. docBody.appendChild(s);
  1576. })();
  1577.  
  1578. /**
  1579. * Load OneTrust SDK Script Logic
  1580. */
  1581. loadCmpScriptLogic();
  1582.  
  1583. win.cmpUtils.emitEvent('app.cmpScriptLoaded');
  1584. }
  1585.  
  1586. /**
  1587. * Loads the CMP bypass script
  1588. * - Sends event to notify CMP has been bypassed
  1589. */
  1590. function loadCmpBypassScript(win) {
  1591. win.cmpUtils = {
  1592. /**
  1593. * Config
  1594. */
  1595. bypassed: false,
  1596. debug: [],
  1597. timerStart: Date.now(),
  1598.  
  1599. /**
  1600. * Event Dispatch Wrapper Method
  1601. *
  1602. * @param {string} name
  1603. * @param {object} options
  1604. */
  1605. emitEvent(name, options = {}) {
  1606. win.dispatchEvent(new CustomEvent(name, { detail: options }));
  1607. },
  1608.  
  1609. /**
  1610. * Keeps a log of the CMP events
  1611. *
  1612. * @param {*} name
  1613. * @param {*} evt
  1614. * @param {*} msg
  1615. */
  1616. log(name, evt, msg) {
  1617. const ts = Date.now() - win.cmpUtils.timerStart;
  1618. win.cmpUtils.debug.push({
  1619. name,
  1620. evt,
  1621. msg,
  1622. ts,
  1623. });
  1624. },
  1625. };
  1626.  
  1627. /**
  1628. * Loads the Consent Management Bypass Event - OneTrust
  1629. */
  1630. function loadCmpBypassEvent() {
  1631. win.cmpUtils.bypassed = true;
  1632. // TODO: remove duplicate vars after migrate to CMP vocab
  1633. win.GDPR_CONSENT = true;
  1634. win.CMP_CONSENT = true;
  1635. win.cmpUtils.emitEvent('cmp.consent.bypassed', {});
  1636. win.cmpUtils.log('loadCmpBypassScript', 'CMP bypassed', true);
  1637. }
  1638.  
  1639. loadCmpBypassEvent();
  1640. }
  1641.  
  1642. // If OneTrust Domain ID load the script and logic
  1643. // otherwise, run bypass
  1644. if (oneTrustDomainId) {
  1645. loadCmpScript(document, window);
  1646. } else {
  1647. loadCmpBypassScript(window);
  1648. }
  1649.  
  1650. /**
  1651. * Loads the relevant tag manager scripts
  1652. * considers:
  1653. * - GDPR and consent status
  1654. * - Ads Free status
  1655. */
  1656. (function loadTagManagerScript(doc, win) {
  1657. const search = window.location.search;
  1658. const ua = navigator.userAgent;
  1659.  
  1660. /**
  1661. * Disable Tag Manager if:
  1662. * - query param "disableTagManager" is present
  1663. * - the user agent is "Chrome-Lighthouse" or "PTST" from the automated build tests
  1664. */
  1665. if (~search.indexOf('disableTagManager') && (~ua.indexOf('Chrome-Lighthouse') || ~ua.indexOf('PTST')) ) return;
  1666.  
  1667. const docBody = doc.body || doc.getElementsByTagName('body')[0];
  1668.  
  1669. /**
  1670. * Creates a script tag to append
  1671. *
  1672. * @param {object} d (document)
  1673. * @param {string} id
  1674. * @param {string} src
  1675. * @param {boolean} defer
  1676. * @returns {object} - script element
  1677. */
  1678. function createScript(d, id, src, defer = false) {
  1679. const script = d.createElement('script');
  1680. script.id = id;
  1681. script.src = src;
  1682. // programmatic scripts are asynchronous by default
  1683. script.defer = defer;
  1684. return script;
  1685. }
  1686.  
  1687. /**
  1688. * Load Tag Manager script
  1689. */
  1690. function loadTagManager() {
  1691. const base = '//nexus.ensighten.com/hearst/mag/Bootstrap.js';
  1692. const dev = '//nexus.ensighten.com/hearst/mag-dev/Bootstrap.js';
  1693.  
  1694. if (!base) return;
  1695.  
  1696. let tagManagerScript = base;
  1697.  
  1698. const src = `${doc.cookie.includes('nsghtn=d') ? dev : tagManagerScript}`;
  1699. const addTag = () => docBody.appendChild(createScript(doc, 'tag-manager-script', src, true));
  1700.  
  1701. addTag();
  1702. }
  1703.  
  1704. /**
  1705. * Load Google Tag Manager script
  1706. */
  1707. function loadGoogleTagManager() {
  1708. const googleTagManagerId = '';
  1709.  
  1710. if (!googleTagManagerId) return;
  1711.  
  1712. win.dataLayer = win.dataLayer || [];
  1713. win.dataLayer.push({
  1714. 'gtm.start': new Date().getTime(),
  1715. event: 'gtm.js',
  1716. });
  1717.  
  1718. const src = `https://www.googletagmanager.com/gtm.js?id=${googleTagManagerId}&l=dataLayer`;
  1719. const addTag = () => docBody.appendChild(createScript(doc, 'google-tag-manager-script', src, true));
  1720.  
  1721. addTag();
  1722. }
  1723.  
  1724. if (
  1725. (window.cmpUtils && win.cmpUtils?.consentInfo?.haveConsent !== 'undefined') ||
  1726. (window.cmpUtils && window.cmpUtils.bypassed)
  1727. ) {
  1728. loadTagManager();
  1729. loadGoogleTagManager();
  1730. } else {
  1731. // Listen for consent event, then load the tag manager
  1732. window.addEventListener('cmp.consent.set', () => {
  1733. loadTagManager();
  1734. loadGoogleTagManager();
  1735. }, { once: true });
  1736. window.addEventListener('cmp.consent.bypassed', () => {
  1737. loadTagManager();
  1738. loadGoogleTagManager();
  1739. }, false);
  1740. }
  1741. })(document, window);
  1742. </script>
  1743. </body>
  1744. </html>
  1745.  
  1746.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda