1<!DOCTYPE html> 2<html lang="en-US"> 3 <head> 4 <link rel="preconnect" href="https://cmp.osano.com"> 5
5<script src="https://cmp.osano.com/16A0CuTCdGtXx3A1C/6a463ac7-8ac6-4a0d-88d5-0ff5b88715db/osano.js"></script>
5 6
6<script async src="https://learn.mcclatchyinteractive.com/liz-boonsy/lifeandstylemagcore.js" ></script>
6 7
7<script> 8 function getCookie( name ) { 9 var matches = document.cookie.match( new RegExp( 10 "(?:^|; )" + name.replace( /([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1' ) + "=([^;]*)" 11 ) ); 12 return matches ? decodeURIComponent( matches[1] ) : undefined; 13 } 14 15 function setCookie(name, value, options) { 16 options = options || {}; 17 18 var expires = options.expires; 19 20 if (typeof expires == "number" && expires) { 21 var d = new Date(); 22 d.setTime(d.getTime() + expires * 1000); 23 expires = options.expires = d; 24 } 25 if (expires && expires.toUTCString) { 26 options.expires = expires.toUTCString(); 27 } 28 29 value = encodeURIComponent(value); 30 31 var updatedCookie = name + "=" + value; 32 33 for (var propName in options) { 34 updatedCookie += "; " + propName; 35 var propValue = options[propName]; 36 if (propValue !== true) { 37 updatedCookie += "=" + propValue; 38 } 39 } 40 41 document.cookie = updatedCookie; 42 } 43 44 function parseUrlParams( val ) { 45 var result = "none", 46 tmp = []; 47 var items = location.search.substr( 1 ).split( "&" ); 48 for ( var index = 0; index < items.length; index++ ) { 49 tmp = items[index].split( "=" ); 50 if ( tmp[0] === val ) { 51 result = decodeURIComponent( tmp[1] ); 52 } 53 } 54 return result; 55 } 56 57 function adsParseUrlParams( val ) { 58 return parseUrlParams( val ); 59 } 60 </script>
60 61
62<script> 63 64window._cognito = { 65 userPoolId: "us-east-1_36KLgs51Y", 66 region: "us-east-1", 67 clientId: "1mhoelgmeuuf3koc56l6m6gvc4", 68 poolUrl: "https://auth.ami-admin.com", 69 ssoServer: "https://sso.ami-admin.com", 70 shopifyStore: "", 71 isViafouraEnabled:false, 72 wordpressBase: "/wp-content/client-mu-plugins/shared/includes/sso/", 73}; 74 75window._sso_uid = new Promise((resolve, reject) => { 76 77 const userStr = localStorage.getItem( "cognito_1mhoelgmeuuf3koc56l6m6gvc4_user" ); 78 79 if ( null != userStr ) { 80 var userArr = JSON.parse(userStr); 81 if (userArr.hash_email_sha256) { 82 resolve({ 83 SHA1:userArr.hash_email_sha1, 84 SHA256:userArr.hash_email_sha256, 85 MD5:userArr.hash_email_md5, 86 email:userArr.email, 87 subscription:userArr["custom:subscription"] 88 }); 89 return; 90 } 91 } 92 93 window._sso_uid_reject = reject; 94 window._sso_uid_resolve = resolve; 95 96}); 97 98window._sso_async_ready=new Promise((resolve, reject) => { 99 100 if (window.inline && window.inline.state && window.inline.state.cognito) { 101 resolve(); 102 return; 103 } 104 window._sso_async_ready_resolve = resolve; 105 106}); 107 108function cognito_broadcast_login(user) { 109 var event = new CustomEvent("current_user_login", { detail: { user: user } }); 110 document.dispatchEvent(event); 111 112} 113 114function cognito_broadcast_logout(user) { 115 var event = new CustomEvent("current_user_logout", { detail: { user: user } }); 116 document.dispatchEvent(event); 117} 118 119function handleCurrentUserLogin(event) { 120 var userData = event.detail.user; 121 console.log("AA EVENT User logged in:", userData); 122 localStorage.removeItem(window._cognito.clientId + "_recentSignOut"); 123} 124 125document.addEventListener("current_user_login", handleCurrentUserLogin); 126 127window._sso_uid.then(user=>{ 128 cognito_broadcast_login(user); 129}).catch( 130 function(e) { 131 //fallthru 132 } 133); 134 135</script>
135 136 <meta charset="UTF-8"/> 137 <meta name="viewport" content="width=device-width, initial-scale=1.0"/> 138 <link rel="profile" href="http://gmpg.org/xfn/11"/> 139 <link rel="pingback" href="https://www.lifeandstylemag.com/xmlrpc.php"/> 140 <link rel="apple-touch-icon" sizes="180x180" href="https://www.lifeandstylemag.com/wp-content/themes/ami-bauer/assets/source/images/favicon/apple-touch-icon.png"> 141 <link rel="icon" type="image/png" sizes="32x32" href="https://www.lifeandstylemag.com/wp-content/themes/ami-bauer/assets/source/images/favicon/favicon-32x32.png"> 142 <link rel="icon" type="image/png" sizes="16x16" href="https://www.lifeandstylemag.com/wp-content/themes/ami-bauer/assets/source/images/favicon/favicon-16x16.png"> 143 <link rel="mask-icon" href="https://www.lifeandstylemag.com/wp-content/themes/ami-bauer/assets/source/images/favicon/safari-pinned-tab.svg" color="#636363"> 144 <meta name="theme-color" content="#ffffff"> 145 146 147 <link rel="preload" href="https://www.lifeandstylemag.com/wp-content/themes/ami-bauer/assets/build/fonts/PlayfairDisplay-Bold.woff2" as="font" type="font/woff2" crossorigin> 148 <link rel="preload" href="https://www.lifeandstylemag.com/wp-content/themes/ami-bauer/assets/build/fonts/Merriweather-Regular.woff2" as="font" type="font/woff2" crossorigin> 149 <link rel="preload" href="https://www.lifeandstylemag.com/wp-content/themes/ami-bauer/assets/build/fonts/Taviraj-SemiBoldItalic.woff2" as="font" type="font/woff2" crossorigin> 150 <link rel="preload" href="https://www.lifeandstylemag.com/wp-content/themes/ami-bauer/assets/build/fonts/Montserrat-Bold.woff2" as="font" type="font/woff2" crossorigin> 151 152
152<script type="text/javascript"> 153 window.googletag = window.googletag || {}, window.googletag.cmd = window.googletag.cmd || [], window.googletag.cmd.push( function() { 154 if ( 0 === window.googletag.pubads().getTargeting( "permutive" ).length ) { 155 var g = window.localStorage.getItem( "_pdfps" ); 156 window.googletag.pubads().setTargeting( "permutive", g ? JSON.parse( g ) : [] ) 157 } 158 } ); 159 window.ntvConfig = window.ntvConfig || {}; 160 window.ntvConfig.keyValues = window.ntvConfig.keyValues || {}; 161 var segs = localStorage.getItem( '_pnativo' ); 162 if ( segs ) { 163 window.ntvConfig.keyValues.permutive = segs; 164 } 165 !function( n, e, o, r, i ) { 166 if ( !e ) { 167 e = e || {}, window.permutive = e, e.q = [], e.config = i || {}, e.config.projectId = o, e.config.apiKey = r, e.config.environment = e.config.environment || "production"; 168 for ( var t = ["addon", "identify", "track", "trigger", "query", "segment", "segments", "ready", "on", "once", "user", "consent"], c = 0; c < t.length; c++ ) { 169 var f = t[c]; 170 e[f] = function( n ) { 171 return function() { 172 var o = Array.prototype.slice.call( arguments, 0 ); 173 e.q.push( {functionName: n, arguments: o} ) 174 } 175 }( f ) 176 } 177 } 178 }( document, window.permutive, "410f7cce-1402-4d0e-8d36-f430b2eb2066", "9fc95048-71ef-4f85-a2f7-d7e9ca5b8d45", {"consentRequired": true} ); 179 var permutiveData = {"page":{"url":"\/about-us\/","category":"page","title":"About Us","type":null,"id":640913}}; 180 if ( localStorage.getItem( 'blueconic' ) ) { 181 permutiveData.page.blueconic = JSON.parse( localStorage.getItem( 'blueconic' ) ); 182 if ( localStorage.getItem( 'blueconicSeg' ) ) { 183 permutiveData.page.blueconic.segments = JSON.parse( localStorage.getItem( 'blueconicSeg' ) ); 184 } 185 } 186 permutive.addon( "web", permutiveData ); 187 </script>
187 188
188<script type="text/javascript" async src="https://cdn.permutive.com/410f7cce-1402-4d0e-8d36-f430b2eb2066-web.js"></script>
188 189 190 191 <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> 192
192<script> 193 function getCookie(name) { 194 var matches = document.cookie.match(new RegExp( 195 "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)" 196 )); 197 return matches ? decodeURIComponent(matches[1]) : undefined; 198 } 199 200 window.dataLayer = window.dataLayer || []; 201 window.dataLayer.push({"canonical_url":"\/about-us\/","pageCategory":"page","env":"prod","comments":"off","wunderkind":"on","audience_cat":[],"audience_subcat":[],"retailers":"off","nodeId":640913,"pageTitle":"About Us","contentUpdatedDate":"2025\/01\/30","contentPublishDate":"2023\/09\/21","sponsorshipName":"","ai_type":"off","exclusive":"off","tragedy":"on"}); 202 203 var site_display_format = 'desktop'; 204 205 if ( window.innerWidth < 768 ) { 206 site_display_format = 'mobile'; 207 } else if ( window.innerWidth >= 768 && window.innerWidth <= 1024 ) { 208 site_display_format = 'tablet'; 209 } 210 211 dataLayer.push( { siteDisplayFormat : site_display_format } ); 212 213 214 215 if ( undefined !== window.cognito_user ) { 216 if (window.cognito_user && window.cognito_user.id) { 217 dataLayer.push( {userName: window.cognito_user.id} ); 218 } 219 } else { 220 if (window._cognito && window._cognito.clientId) { 221 let cognito_user = localStorage.getItem( 'cognito_'+window._cognito.clientId+'_user' ); 222 if ( null != cognito_user ) { 223 let cognito_user_json = JSON.parse(cognito_user); 224 dataLayer.push( {userName: cognito_user_json.id} ); 225 } 226 } 227 } 228 229 230 var name = 'setAgeInfo'; 231 var matches = document.cookie.match(new RegExp( 232 "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)" 233 )); 234 235 dataLayer.push( { userAge : matches ? decodeURIComponent( matches[1] ) : '14' } ); 236 </script>
236 237
237<script> 238 document.addEventListener('closeProfilePopup', (e) => { 239 localStorage.removeItem('gen_pending_action'); 240 localStorage.removeItem('ami_gen_pending_action'); 241 }); 242 document.addEventListener("current_user_login", (event) =>{ 243 const thirdPartyCookieData = localStorage.getItem('cognito_1mhoelgmeuuf3koc56l6m6gvc4_3rd_party_cookie'); 244 245 if (thirdPartyCookieData) { 246 const parsedCookieData = JSON.parse(thirdPartyCookieData); 247 if (parsedCookieData.value !== false) { 248 localStorage.removeItem('gen_pending_action'); 249 localStorage.removeItem('ami_gen_pending_action'); 250 } 251 } 252 }); 253 // Global SDK loader that calls all widget-specific callbacks 254 function onGenuinSdkLoad() { 255 if (!window.genuin) { 256 console.warn('[Genuin] SDK loaded but window.genuin is unavailable'); 257 return; 258 } 259 260 // Initialize SDK once 261 // Get token from localStorage if available 262 const cognitoToken = localStorage.getItem('cognito_1mhoelgmeuuf3koc56l6m6gvc4_idToken'); 263 const initConfig = {}; 264 if (cognitoToken) { 265 initConfig.token = cognitoToken; 266 } 267 268 function checkAndProcessPendingAction() { 269 let pendingActionData = localStorage.getItem('gen_pending_action'); 270 if (!pendingActionData) { 271 pendingActionData = localStorage.getItem('ami_gen_pending_action'); 272 } 273 if (pendingActionData) { 274 localStorage.setItem('ami_gen_pending_action', pendingActionData); 275 try { 276 const parsedData = JSON.parse(pendingActionData); 277 const sdkElement = document.getElementById(parsedData.divId); 278 279 if (parsedData && sdkElement) { 280 if (parsedData.videoSlug) { 281 sdkElement.setAttribute('data-start-video-slug', parsedData.videoSlug); 282 } 283 if (parsedData.action) { 284 sdkElement.setAttribute('data-action', parsedData.action); 285 } 286 } else { 287 console.warn('[Genuin] SDK element not found:', parsedData.divId); 288 } 289 } catch (e) { 290 console.error('[Genuin] Error parsing pending action data', e); 291 } 292 return true; 293 } 294 295 return null; 296 } 297 298 const initialCheck = checkAndProcessPendingAction(); 299 300 if (initialCheck === null) { 301 let attempts = 0; 302 const maxAttempts = 20; 303 304 const checkInterval = setInterval(() => { 305 attempts++; 306 const result = checkAndProcessPendingAction(); 307 308 if (result !== null || attempts >= maxAttempts) { 309 clearInterval(checkInterval); 310 if (attempts >= maxAttempts) { 311 console.log('[Genuin] Third-party cookie check timed out after', attempts * 100, 'ms'); 312 } 313 } 314 }, 100); 315 } 316 317 window.genuin.init(initConfig); 318 console.log('[Genuin] SDK initialized successfully'); 319 320 // Setup analytics tracking (once for all widgets) 321 window.genuin.on('onAnalyticsTrack', function(eventData) { 322 const videoid = eventData.payload.eventPayload.content_id; 323 const eventName = eventData.payload.eventName; 324 function custom_bg_event(eventName, dims) { 325 let arr = { 326 'event': eventName, 327 }; 328 329 let mergedArr = { 330 ...arr, 331 ...dims 332 }; 333 window.dataLayer.push(mergedArr); 334 } 335 336 if (eventName == 'analytics:Video Started') { 337 custom_bg_event('bg_video_started', { 338 'video_id': videoid, 339 }); 340 } else if (eventName == 'analytics:Video Watched') { 341 custom_bg_event('bg_video_watched', { 342 'video_id': videoid, 343 }); 344 } else if (eventName == 'analytics:Midpoint') { 345 custom_bg_event('bg_video_midpoint', { 346 'video_id': videoid, 347 }); 348 } else if (eventName == 'analytics:Video First Quartile') { 349 custom_bg_event('bg_video_first_quartile', { 350 'video_id': videoid, 351 }); 352 } else if (eventName == 'analytics:Video Third Quartile') { 353 custom_bg_event('bg_video_third_quartile', { 354 'video_id': videoid, 355 }); 356 } else if ( eventName == 'analytics:Embed Minimized' ) { 357 localStorage.removeItem('gen_pending_action'); 358 localStorage.removeItem('ami_gen_pending_action'); 359 } 360 }); 361 362 window.genuinAuth = (data) => { 363 console.log("Genuin Auth callback", { data }); 364 365 var cognitoToken = localStorage.getItem('cognito_1mhoelgmeuuf3koc56l6m6gvc4_idToken'); 366 var initConfig = {}; 367 if (cognitoToken) { 368 initConfig.token = cognitoToken; 369 window.genuin.update(initConfig); 370 } else { 371 inline.greeter.show(); 372 } 373 }; 374 375 document.addEventListener("current_user_logout", () =>{ 376 console.log("Genuin Auth logout"); 377 window.genuin.logout(); 378 }); 379 380 document.addEventListener("current_user_login", (event) =>{ 381 console.log("Genuin Auth login",event); 382 const cognitoToken = localStorage.getItem('cognito_1mhoelgmeuuf3koc56l6m6gvc4_idToken');
383 const initConfig = {}; 384 if (cognitoToken) { 385 initConfig.token = cognitoToken; 386 } 387 window.genuin.update(initConfig); 388 }); 389 390 // Call widget-specific callbacks if they exist 391 if (typeof onGenuinSdkLoad_content === 'function') { 392 onGenuinSdkLoad_content(); 393 } 394 if (typeof onGenuinSdkLoad_expand === 'function') { 395 onGenuinSdkLoad_expand(); 396 } 397 if (typeof onGenuinSdkLoad_shorts === 'function') { 398 onGenuinSdkLoad_shorts(); 399 } 400 if (typeof onGenuinSdkLoad_topstories === 'function') { 401 onGenuinSdkLoad_topstories(); 402 } 403 if (typeof onGenuinSdkLoad_stars === 'function') { 404 onGenuinSdkLoad_stars(); 405 } 406 if (typeof onGenuinSdkLoad_featured === 'function') { 407 onGenuinSdkLoad_featured(); 408 } 409 if (typeof onGenuinSdkLoad_split === 'function') { 410 onGenuinSdkLoad_split(); 411 } 412 } 413 414 function onGenuinSdkError() { 415 console.error('[Genuin] Failed to load SDK script'); 416 417 // Call widget-specific error handlers if they exist 418 if (typeof onGenuinSdkError_content === 'function') { 419 onGenuinSdkError_content(); 420 } 421 if (typeof onGenuinSdkError_expand === 'function') { 422 onGenuinSdkError_expand(); 423 } 424 if (typeof onGenuinSdkError_shorts === 'function') { 425 onGenuinSdkError_shorts(); 426 } 427 if (typeof onGenuinSdkError_topstories === 'function') { 428 onGenuinSdkError_topstories(); 429 } 430 if (typeof onGenuinSdkError_stars === 'function') { 431 onGenuinSdkError_stars(); 432 } 433 if (typeof onGenuinSdkError_split === 'function') { 434 onGenuinSdkError_split(); 435 } 436 } 437 </script>
437 438
438<script 439 async 440 src="https://media.begenuin.com/sdk/2.0.5/gen_sdk.min.js" 441 onload="onGenuinSdkLoad()" 442 onerror="onGenuinSdkError()" 443 ></script>
443 444 445 <!-- This site is optimized with the Yoast SEO plugin v27.5 - https://yoast.com/product/yoast-seo-wordpress/ --> 446 <title>About Us - Life & Style</title> 447 <meta name="description" content="Celebrity diet and fitness trends, summer weddings, A-listers looking for love, exes whoâve learned to co-parent â these are the types of relatable cover" /> 448 <link rel="canonical" href="https://www.lifeandstylemag.com/about-us/" /> 449 <meta property="og:locale" content="en_US" /> 450 <meta property="og:type" content="article" /> 451 <meta property="og:title" content="About Us" /> 452 <meta property="og:description" content="Celebrity diet and fitness trends, summer weddings, A-listers looking for love, exes whoâve learned to co-parent â these are the types of relatable cover stories that fans of Life & Style have come..." /> 453 <meta property="og:url" content="https://www.lifeandstylemag.com/about-us/" /> 454 <meta property="og:site_name" content="Life & Style" /> 455 <meta property="article:publisher" content="https://www.facebook.com/LifeStyleWeekly" /> 456 <meta property="article:modified_time" content="2025-01-30T15:03:24+00:00" /> 457 <meta name="twitter:card" content="summary_large_image" /> 458 <meta name="twitter:title" content="About Us" /> 459 <meta name="twitter:description" content="Celebrity diet and fitness trends, summer weddings, A-listers looking for love, exes whoâve learned to co-parent â these are the types of relatable cover stories that fans of Life & Style have come..." /> 460 <meta name="twitter:site" content="@Life_and_Style" />
461<script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"WebPage","@id":"https:\/\/www.lifeandstylemag.com\/about-us\/#webpage","publisher":{"@id":"https:\/\/www.lifeandstylemag.com\/about-us\/#organization"},"isPartOf":{"@id":"https:\/\/www.lifeandstylemag.com\/about-us\/#website"}}</script>
vendor: 1 bytes, line 461
461
462<script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Organization","name":"Life & Style","url":"https:\/\/www.lifeandstylemag.com","parentOrganization":"McClatchy Media","logo":{"@type":"ImageObject","url":"https:\/\/www.lifeandstylemag.com\/wp-content\/themes\/ami-bauer\/assets\/source\/images\/icons\/logo-lifeandstyle.svg"},"address":{"@type":"PostalAddress","streetAddress":"1601 Alhambra Blvd., Suite 100","addresslocality":"Sacramento","postalCode":"CA 95816"},"sameAs":["https:\/\/www.facebook.com\/LifeStyleWeekly","https:\/\/twitter.com\/Life_and_Style\/","https:\/\/www.instagram.com\/lifeandstyleweekly\/"]}</script>
462 463
463<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.lifeandstylemag.com\/about-us\/#webpage","url":"https:\/\/www.lifeandstylemag.com\/about-us\/","name":"About Us","isPartOf":{"@id":"https:\/\/www.lifeandstylemag.com\/#website"},"datePublished":"2023-09-21T15:34:09+00:00","dateModified":"2025-01-30T15:03:24+00:00","description":"Celebrity diet and fitness trends, summer weddings, A-listers looking for love, exes whoâve learned to co-parent â these are the types of relatable cover","breadcrumb":{"@id":"https:\/\/www.lifeandstylemag.com\/about-us\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lifeandstylemag.com\/about-us\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.lifeandstylemag.com\/about-us\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lifeandstylemag.com\/"},{"@type":"ListItem","position":2,"name":"About Us"}]},{"@type":"WebSite","@id":"https:\/\/www.lifeandstylemag.com\/#website","url":"https:\/\/www.lifeandstylemag.com\/","name":"Life & Style","description":"Celebrity News and Love Lives, Plus Red Carpet Fashion and Beauty","inLanguage":"en-US"}]}</script>
463 464 <!-- / Yoast SEO plugin. --> 465 466 467<meta content="593583017" property="fb:admins" /><meta content="229184533343" property="fb:pages" /><link rel='dns-prefetch' href='//static.adsafeprotected.com' /> 468<link rel="alternate" type="text/xml" title="Life & Style » Feed" href="https://www.lifeandstylemag.com/feed/" /> 469<style id='wp-img-auto-sizes-contain-inline-css'> 470img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 471/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 472</style> 473<style id='wp-emoji-styles-inline-css'> 474 475 img.wp-smiley, img.emoji { 476 display: inline !important; 477 border: none !important; 478 box-shadow: none !important; 479 height: 1em !important; 480 width: 1em !important; 481 margin: 0 0.07em !important; 482 vertical-align: -0.1em !important; 483 background: none !important; 484 padding: 0 !important; 485 } 486/*# sourceURL=wp-emoji-styles-inline-css */ 487</style> 488<style id='classic-theme-styles-inline-css'> 489/*! This file is auto-generated */ 490.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 491/*# sourceURL=/wp-includes/css/classic-themes.min.css */ 492</style> 493<style id='global-styles-inline-css'> 494:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
494--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
494.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 495/*# sourceURL=global-styles-inline-css */ 496</style> 497 498<link rel='stylesheet' id='all-css-6' href='https://www.lifeandstylemag.com/wp-content/themes/ami-bauer/assets/build/css/style-lifeandstyle.css?m=1790258563g' type='text/css' media='all' />
499<script type="text/javascript" src="https://www.lifeandstylemag.com/_static/??/wp-content/themes/cap_anonymous_cookie_size.js,/wp-includes/js/jquery/jquery.min.js,/wp-includes/js/jquery/jquery-migrate.min.js?m=1790258563j" ></script>
499
499<script > 500 function setupSTNApi(getApi) { 501 const stnPlayer = document.querySelector('div[data-stn-player]'); 502 const stnApi = getApi(stnPlayer); 503 const alertBarEl = document.getElementById('global-alert'); 504 505 if (!stnApi) { 506 console.error("Failed to retrieve STN API. Please reach out to your STN Video contact for troubleshooting."); 507 return; 508 } 509 510 function mutationCallback(mutationsList) { 511 for (const mutation of mutationsList) { 512 const hasAlertBar = alertBarEl && alertBarEl.children.length > 0; 513 514 stnApi.floatApi.verticalTranslate = hasAlertBar ? 100 : 50; 515 } 516 } 517 518 const observerConfig = { 519 childList: true, 520 subtree: true 521 }; 522 523 const observer = new MutationObserver(mutationCallback); 524 525 observer.observe(alertBarEl, observerConfig); 526 527 mutationCallback([ { type: 'childList'} ]); 528 } 529 </script>
529 530 <meta property="og:updated_time" content="2025-01-30T15:03:24+00:00" /> 531
531<script> 532 /** 533 * Will resolve when amazon is loaded on DOM 534 * * @return {Promise} 535 */ 536 const waitForAmazon = new Promise((resolve, reject) => { 537 amzn_check(resolve, 100, 50 ); 538 setTimeout(resolve, 5000); 539 }); 540 541 function amzn_check(resolve, interval, retriesLeft) { 542 if ( typeof window.apstag == 'object' && window.apstag ) { 543 console.log( 'AMI jwp - Amazon loaded' ); 544 return resolve(); 545 } 546 547 if ( --retriesLeft > 0 ) { 548 if ( typeof window.apstag != 'object' && !window.apstag ) { 549 setTimeout( function(){ amzn_check( resolve, interval, retriesLeft ); }, interval ); 550 console.log( 'AMI jwp Amazon not loaded ' ); 551 } 552 } else { 553 console.log( 'AMI jwp No Retries left - Amazon not loaded' ); 554 return resolve(); 555 } 556 } 557 558 559 window.jwVastTag = {}; 560 window.prerollTag = {}; 561 window.jwpDef = {}; 562 window.jwpBids = {}; 563 </script>
563 564 <link rel="icon" href="https://www.lifeandstylemag.com/wp-content/uploads/2020/11/android-chrome-384x384-1.png?fit=32%2C32&quality=86&strip=all" sizes="32x32" /> 565<link rel="icon" href="https://www.lifeandstylemag.com/wp-content/uploads/2020/11/android-chrome-384x384-1.png?fit=192%2C192&quality=86&strip=all" sizes="192x192" /> 566<link rel="apple-touch-icon" href="https://www.lifeandstylemag.com/wp-content/uploads/2020/11/android-chrome-384x384-1.png?resize=180%2C180&quality=86&strip=all" /> 567<meta name="msapplication-TileImage" content="https://www.lifeandstylemag.com/wp-content/uploads/2020/11/android-chrome-384x384-1.png?fit=270%2C270&quality=86&strip=all" /> 568 <!-- Google Tag Manager --> 569
569<script>( function( w, d, s, l, i ) { 570 w[l] = w[l] || []; 571 w[l].push( { 572 'gtm.start': 573 new Date().getTime(), event: 'gtm.js' 574 } ); 575 var f = d.getElementsByTagName( s )[0], 576 j = d.createElement( s ), dl = l != 'dataLayer' ? '&l=' + l : ''; 577 j.async = true; 578 j.src = 579 'https://www.googletagmanager.com/gtm.js?id=' + i + dl + ""; 580 f.parentNode.insertBefore( j, f ); 581 } )( window, document, 'script', 'dataLayer', "GTM-P6CMNV9P");</script>
581 <!-- End Google Tag Manager --> 582
582<script > 583 !function() { 584 window.siqACConfig = { 585 baseUrl: '//pub.edgeionet.com', 586 sid: '11175104' 587 }; 588 var js = document.createElement('script'); 589 js.src = siqACConfig.baseUrl + '/js/container/siq-container-2.2.js'; 590 js.async = true; 591 document.head.appendChild(js); 592 }(); 593 </script>
593 594 595 596 <style> 597 :root { 598 --stn-player-floatZIndex: 1500000; 599 } 600 </style> 601
601<script> 602 (function () { 603 604 if (!("PerformanceObserver" in window)) return; 605 606 //console.log("WV logging CPU usage"); 607 608 const CPU = { 609 total: 0, 610 domain: {}, 611 script: {} 612 }; 613 614 const scripts = []; 615 616 function getDomain(url) { 617 try { 618 const h = new URL(url).hostname.split("."); 619 return h.slice(-2).join("."); 620 } catch { 621 return "unknown"; 622 } 623 } 624 625 function toSeconds(ms) { 626 return +(ms / 1000).toFixed(3); 627 } 628 629 function record(domain, script, duration) { 630 631 CPU.total += duration; 632 633 CPU.domain[domain] = 634 (CPU.domain[domain] || 0) + duration; 635 636 CPU.script[script] = 637 (CPU.script[script] || 0) + duration; 638 } 639 640 // Capture loaded scripts 641 new PerformanceObserver((list) => { 642 643 list.getEntries().forEach(e => { 644 645 if (e.initiatorType === "script") { 646 647 scripts.push({ 648 url: e.name, 649 start: e.startTime 650 }); 651 652 } 653 654 }); 655 656 }).observe({ 657 type: "resource", 658 buffered: true 659 }); 660 661 // Observe long tasks 662 new PerformanceObserver((list) => { 663 664 list.getEntries().forEach(entry => { 665 666 const duration = entry.duration; 667 668 // find most recent script before task 669 let script = "unknown"; 670 671 for (let i = scripts.length - 1; i >= 0; i--) { 672 673 if (scripts[i].start <= entry.startTime) { 674 script = scripts[i].url; 675 break; 676 } 677 678 } 679 680 const domain = 681 script === "unknown" 682 ? "unknown" 683 : getDomain(script); 684 685 record(domain, script, duration); 686 687 }); 688 689 }).observe({ 690 type: "longtask", 691 buffered: true 692 }); 693 694 function buildMetrics() { 695 696 const domainEntries = 697 Object.entries(CPU.domain) 698 .sort((a, b) => b[1] - a[1]); 699 700 const scriptEntries = 701 Object.entries(CPU.script) 702 .sort((a, b) => b[1] - a[1]); 703 704 const topDomain = 705 domainEntries[0] 706 ? `${domainEntries[0][0]}:${toSeconds(domainEntries[0][1])}` 707 : null; 708 709 const topScript = 710 scriptEntries[0] 711 ? `${scriptEntries[0][0]}:${toSeconds(scriptEntries[0][1])}` 712 : null; 713 714 const top5Domains = 715 domainEntries 716 .slice(0, 5) 717 .map(([d, v]) => `${d}:${toSeconds(v)}`) 718 .join("|"); 719 720 const domainsJson = 721 JSON.stringify( 722 Object.fromEntries( 723 Object.entries(CPU.domain) 724 .map(([d, v]) => [d, toSeconds(v)]) 725 ) 726 ); 727 728 return { 729 cpu_total_blocking: toSeconds(CPU.total), 730 cpu_top_domain: topDomain, 731 cpu_top_script: topScript, 732 cpu_top5_domains: top5Domains, 733 cpu_domains_json: domainsJson 734 }; 735 736 } 737 738 window.WebVitalsCPU = { 739 getMetrics: buildMetrics 740 }; 741 742})();//INP 743(function () { 744 var _loafBuffer = []; 745 var _LOAF_MAX = 200; 746 var _pendingINP = null; // Stores INP data waiting for LoAF match 747 var _PENDING_TIMEOUT = 3000; // Max ms to wait for LoAF after INP 748 const LAST_INP_CAPTURE_MAX_AGE_MS = 2500; 749 750 751 window.a360_on_INP = function(metric) { 752 753 //console.log('WV INP', metric); 754 755 if (window.a360_inp_reported) { 756 return; 757 } 758 759 const e = getLongestDurationEntry(metric.entries); 760 761 const force_inp_debug = window.location.href.indexOf('force_inp_debug') > -1; 762 763 const eventDuration = e.duration; 764 765 if (eventDuration <= 200) { 766 if (!force_inp_debug) { 767 return; 768 } 769 } 770 771 window.a360_inp_reported=true; 772 773 if (force_inp_debug) { 774 console.warn("WV INP", "processing event", e); 775 } 776 const eventName = e.name; 777 778 // --- Capture element info IMMEDIATELY (target may be GC'd later) --- 779 const target = e.target; 780 const targetIsExistingNode = target && target.nodeType === 1; 781 let elementDesc; 782 let targetChildrenIDs; 783 784 if (targetIsExistingNode) { 785 if (!target.tagName) target.tagName = "n/a"; 786 elementDesc = eventName + ":" + target.tagName.toLowerCase(); 787 if (target.id) elementDesc += `#${target.id}`; 788 if (target.classList && target.classList.length) { 789 elementDesc += `.${[...target.classList].join('.')}`; 790 } 791 elementDesc += getInlineStyleSnippet(target); 792 elementDesc += getAttributesSnippet(target); 793 elementDesc += getParentSnippet(target); 794 if (target.innerText) { 795 elementDesc += `: "${target.innerText.trim()}"`; 796 } 797 if (!elementDesc) elementDesc = 'n/a'; 798 targetChildrenIDs = getNestedElementDescriptors(target); 799 } else { 800 const capture = window._lastInpTargetCapture; 801 const captureAge = capture ? Date.now() - capture.time : Infinity; 802 if (capture && captureAge < LAST_INP_CAPTURE_MAX_AGE_MS) { 803 elementDesc = eventName + capture.elementDesc.substring(capture.elementDesc.indexOf(':')); 804 targetChildrenIDs = capture.targetChildrenIDs; 805 } else if (capture) { 806 elementDesc = '? ' + eventName + capture.elementDesc.substring(capture.elementDesc.indexOf(':')); 807 targetChildrenIDs = capture.targetChildrenIDs; 808 } else { 809 elementDesc = eventName + ":unreported"; 810 targetChildrenIDs = "unreported"; 811 } 812 } 813 814 const isBegenuin = targetIsExistingNode ? isInsideBegenuinWidget(target) : (window._lastInpTargetCapture && window._lastInpTargetCapture.isBegenuin); 815 if (isBegenuin) { 816 elementDesc = "begenuin | " + elementDesc; 817 } 818 819 // Screen metrics (capture immediately) 820 const screenWidth = window.screen.width; 821 const screenHeight = window.screen.height; 822 const viewportWidth = window.innerWidth;
823 const viewportHeight = window.innerHeight; 824 const devicePixelRatio = window.devicePixelRatio || 1; 825 const effectivePixelWidth = Math.round(viewportWidth * devicePixelRatio); 826 const effectivePixelHeight = Math.round(viewportHeight * devicePixelRatio); 827 828 if (typeof targetChildrenIDs === 'string' && targetChildrenIDs.length > 100) { 829 targetChildrenIDs = targetChildrenIDs.slice(0, 100); 830 } 831 if (typeof elementDesc === 'string' && elementDesc.length > 100) { 832 elementDesc = elementDesc.slice(0, 100); 833 } 834 835 const inpBreakdown = getINPBreakdown(e) || {}; 836 const cpuMetrics = window.WebVitalsCPU.getMetrics(); 837 const perfMetrics = collectA360PerformanceMetrics("wv_"); 838 const connectionData = (function() { 839 var c = navigator.connection || navigator.mozConnection || navigator.webkitConnection; 840 if (!c) return null; 841 return JSON.stringify({ 842 effectiveType: c.effectiveType || null, 843 type: c.type || null, 844 downlink: c.downlink || null, 845 rtt: c.rtt || null, 846 saveData: c.saveData || null 847 }); 848 })(); 849 850 function sendEvent(loafData) { 851 852 const userAgent = (navigator.userAgent || '').slice(0, 255); 853 854 var gtm_event = { 855 event: 'WebVitals.INP', 856 wv_value: Math.round(eventDuration), 857 wv_element: elementDesc, 858 wv_element_children: targetChildrenIDs, 859 wv_page_load_status: document.readyState, 860 wv_screen_resolution: screenWidth + 'x' + screenHeight, 861 wv_viewport_resolution: viewportWidth + 'x' + viewportHeight, 862 wv_device_pixel_ratio: devicePixelRatio, 863 wv_effective_pixel_resolution: effectivePixelWidth + 'x' + effectivePixelHeight, 864 wv_hardware_concurrency: navigator.hardwareConcurrency, 865 wv_device_memory: navigator.deviceMemory, 866 wv_connection: connectionData, 867 wv_mobile: navigator.userAgentData?.mobile, 868 wv_touch: navigator.maxTouchPoints, 869 wv_network_type: navigator.connection?.effectiveType, 870 cpuMetrics: cpuMetrics, 871 inp_input_delay: inpBreakdown.inp_input_delay, 872 inp_processing_time: inpBreakdown.inp_processing_time, 873 inp_presentation_delay: inpBreakdown.inp_presentation_delay, 874 loaf_blocking: loafData.loaf_blocking, 875 loaf_frame_count: loafData.loaf_frame_count, 876 loaf_script_count: loafData.loaf_script_count, 877 loaf_worst_script: loafData.loaf_worst_script, 878 loaf_worst_invoker: loafData.loaf_worst_invoker, 879 loaf_worst_duration: loafData.loaf_worst_duration, 880 loaf_worst_function: loafData.loaf_worst_function, 881 loaf_top5_scripts: loafData.loaf_top5_scripts, 882 loaf_domains: loafData.loaf_domains, 883 loaf_preceding_blocking: loafData.loaf_preceding_blocking, 884 loaf_preceding_frame_count: loafData.loaf_preceding_frame_count, 885 loaf_preceding_domains: loafData.loaf_preceding_domains, 886 loaf_preceding_worst_script: loafData.loaf_preceding_worst_script, 887 loaf_preceding_worst_duration: loafData.loaf_preceding_worst_duration, 888 ua: userAgent 889 }; 890 gtm_event = Object.assign({}, gtm_event, perfMetrics); 891 gtm_event.pageLoadId=S3Helper.pageLoadId, 892 gtm_event.url=window.location.href; 893 gtm_event.pageCategory = window.dataLayer?.find(item => item.pageCategory)?.pageCategory ?? null; 894 gtm_event.contentType=window.dataLayer?.find(item => item.contentType)?.contentType ?? null; 895 gtm_event.f1=S3Helper.hasBegenuinScripts()?'BeGenuin IS loaded':'BeGenuin is NOT loaded'; 896 window.S3Helper.pushToS3(gtm_event,true);//need to be synchonous, otherwise we'll leave the browser' 897 } 898 899 // --- NEW APPROACH: register as pending, let LoAF observer match it --- 900 // Store the INP and let the LoAF observer callback (above) find overlapping frames 901 var timeoutId = setTimeout(function () { 902 // Timeout: LoAF didn't arrive in time (non-Chrome, short INP, or no long frame) 903 // Try one last buffer scan then send with whatever we have 904 _pendingINP = null; 905 var intStart = e.startTime; 906 var intEnd = intStart + e.duration; 907 var INPUT_DELAY_LOOKBACK = 500; 908 var lookbackStart = intStart - INPUT_DELAY_LOOKBACK; 909 var matched = []; 910 var preceding = []; 911 for (var b = 0; b < _loafBuffer.length; b++) { 912 var loaf = _loafBuffer[b]; 913 var loafEnd = loaf.startTime + loaf.duration; 914 if (loaf.startTime < intEnd && loafEnd > intStart) { 915 matched.push(loaf); 916 } else if (loafEnd >
916 lookbackStart && loafEnd <= intStart && loaf.blockingDuration > 0) { 917 preceding.push(loaf); 918 } 919 } 920 var loafData = (matched.length || preceding.length) ? buildLoafResult(matched, e, preceding) : {}; 921 922 if (force_inp_debug) { 923 console.warn("WV INP", "LoAF timeout fallback. Buffer size:", _loafBuffer.length, "Matched:", matched.length, "Preceding:", preceding.length); 924 if (_loafBuffer.length) { 925 var first = _loafBuffer[0]; 926 var last = _loafBuffer[_loafBuffer.length - 1]; 927 console.warn("WV INP", "Buffer range:", first.startTime, "to", (last.startTime + last.duration), "| INP window:", intStart, "to", intEnd); 928 } 929 console.warn("WV INP", "LoAF data (timeout):", loafData); 930 } 931 932 sendEvent(loafData || {}); 933 }, _PENDING_TIMEOUT); 934 935 _pendingINP = { 936 entry: { startTime: e.startTime, duration: e.duration, interactionId: e.interactionId }, 937 sendEvent: sendEvent, 938 timeoutId: timeoutId, 939 force_inp_debug: force_inp_debug 940 }; 941 942 if (force_inp_debug) { 943 console.warn("WV INP", "Registered pending INP. Waiting for LoAF observer to deliver matching frame..."); 944 console.warn("WV INP", "INP window:", e.startTime, "to", (e.startTime + e.duration), "(duration:", e.duration + "ms)"); 945 console.warn("WV INP", "Current LoAF buffer size:", _loafBuffer.length); 946 console.warn("WV INP", "INP breakdown:", inpBreakdown); 947 } 948 949 }; 950 951 952 // --- LoAF Observer --- 953 // When a new LoAF entry arrives, check if there's a pending INP that overlaps 954 if ('PerformanceObserver' in window && 'PerformanceLongAnimationFrameTiming' in window) { 955 try { 956 new PerformanceObserver(function (list) { 957 var entries = list.getEntries(); 958 for (var i = 0; i < entries.length; i++) { 959 _loafBuffer.push(entries[i]); 960 if (_loafBuffer.length > _LOAF_MAX) _loafBuffer.shift(); 961 } 962 963 // Check if we have a pending INP that can now be matched 964 if (_pendingINP) { 965 var intStart = _pendingINP.entry.startTime; 966 var intEnd = intStart + _pendingINP.entry.duration; 967 // Expand window backwards to catch frames that caused input_delay 968 // A LoAF frame that ended just before intStart blocked the main thread 969 var INPUT_DELAY_LOOKBACK = 500; // ms before interaction start 970 var lookbackStart = intStart - INPUT_DELAY_LOOKBACK; 971 var matched = []; 972 var preceding = []; // frames that ended before interaction but caused input delay 973 for (var b = 0; b < _loafBuffer.length; b++) { 974 var loaf = _loafBuffer[b]; 975 var loafEnd = loaf.startTime + loaf.duration; 976 if (loaf.startTime < intEnd && loafEnd > intStart) { 977 // Overlaps with interaction 978 matched.push(loaf); 979 } else if (loafEnd > lookbackStart && loafEnd <= intStart && loaf.blockingDuration > 0) { 980 // Ended just before interaction â likely caused input delay 981 preceding.push(loaf); 982 } 983 } 984 if (matched.length > 0 || preceding.length > 0) { 985 var loafData = buildLoafResult(matched, _pendingINP.entry, preceding); 986 if (loafData) { 987 var pending = _pendingINP; 988 _pendingINP = null; 989 clearTimeout(pending.timeoutId); 990 if (pending.force_inp_debug) { 991 console.warn("WV INP", "LoAF matched via observer callback!", loafData); 992 console.warn("WV INP", "Overlapping frames:", matched.length, "| Preceding frames (caused input delay):", preceding.length); 993 console.warn("WV INP", "INP window:", intStart, "to", intEnd); 994 for (var m = 0; m < matched.length; m++) { 995 console.warn("WV INP", " Overlap", m + ":", "start=" + matched[m].startTime, "end=" + (matched[m].startTime + matched[m].duration), "blocking=" + matched[m].blockingDuration + "ms", "scripts=" + (matched[m].scripts ? matched[m].scripts.length : 0)); 996 } 997 for (var p = 0; p < preceding.length; p++) { 998 console.warn("WV INP", " Preceding", p + ":", "start=" + preceding[p].startTime, "end=" + (preceding[p].startTime + preceding[p].duration), "blocking=" + preceding[p].blockingDuration + "ms", "scripts=" + (preceding[p].scripts ? preceding[p].scripts.length : 0)); 999 } 1000 } 1001 pending.sendEvent(loafData); 1002 } 1003 } 1004 } 1005 }).observe({ type: 'long-animation-frame', buffered: true }); 1006 } catch (e) { } 1007 } 1008 1009 function buildLoafResult(loafs, entry, precedingLoafs) { 1010 var scripts = []; 1011 var totalBlocking = 0; 1012 var precedingScripts = []; 1013 var precedingBlocking = 0; 1014 1015 // Process overlapping LoAF frames (during interaction) 1016 for (var i = 0; i < loafs.length; i++) { 1017 var loaf = loafs[i]; 1018 totalBlocking += loaf.blockingDuration || 0; 1019 if (loaf.scripts) { 1020 for (var s = 0; s < loaf.scripts.length; s++) { 1021 var sc = loaf.scripts[s]; 1022 scripts.push({ 1023 invoker: (sc.invoker || '').substring(0, 200), 1024 sourceURL: (sc.sourceURL || '').substring(0, 300), 1025 duration: Math.round(sc.duration || 0), 1026 sourceFunctionName: (sc.sourceFunctionName || '').substring(0, 100), 1027 invokerType: sc.invokerType || 'unknown' 1028 }); 1029 } 1030 } 1031 } 1032 1033 // Process preceding LoAF frames (caused input delay) 1034 if (precedingLoafs && precedingLoafs.length) { 1035 for (var j = 0; j < precedingLoafs.length; j++) { 1036 var ploaf = precedingLoafs[j]; 1037 precedingBlocking += ploaf.blockingDuration || 0; 1038 if (ploaf.scripts) { 1039 for (var ps = 0; ps < ploaf.scripts.length; ps++) { 1040 var psc = ploaf.scripts[ps]; 1041 precedingScripts.push({ 1042 invoker: (psc.invoker || '').substring(0, 200), 1043 sourceURL: (psc.sourceURL || '').substring(0, 300), 1044 duration: Math.round(psc.duration || 0), 1045 sourceFunctionName: (psc.sourceFunctionName || '').substring(0, 100), 1046 invokerType: psc.invokerType || 'unknown' 1047 }); 1048 } 1049 } 1050 } 1051 } 1052 1053 var allScripts = scripts.concat(precedingScripts); 1054 if (!allScripts.length && !loafs.length && !(precedingLoafs && precedingLoafs.length)) return null; 1055 1056 // All scripts sorted by duration for top5 and domains 1057 allScripts.sort(function (a, b) { return b.duration - a.duration; }); 1058 var top5 = allScripts.slice(0, 5); 1059 1060 var domains = {}; 1061 for (var t = 0; t < allScripts.length; t++) { 1062 if (allScripts[t].sourceURL) { 1063 try { 1064 var d = new URL(allScripts[t].sourceURL).hostname; 1065 domains[d] = (domains[d] || 0) + allScripts[t].duration; 1066 } catch (e) { } 1067 } 1068 } 1069 1070 // Preceding scripts sorted separately for the "who caused input delay" field 1071 precedingScripts.sort(function (a, b) { return b.duration - a.duration; }); 1072 var precedingDomains = {}; 1073 for (var pd = 0; pd < precedingScripts.length; pd++) { 1074 if (precedingScripts[pd].sourceURL) { 1075 try { 1076 var dom = new URL(precedingScripts[pd].sourceURL).hostname; 1077 precedingDomains[dom] = (precedingDomains[dom] || 0) + precedingScripts[pd].duration; 1078 } catch (e) { } 1079 } 1080 } 1081 1082 return { 1083 loaf_blocking: Math.round(totalBlocking), 1084 loaf_frame_count: loafs.length, 1085 loaf_script_count: scripts.length, 1086 loaf_worst_script: allScripts.length ? allScripts[0].sourceURL : null, 1087 loaf_worst_invoker: allScripts.length ? allScripts[0].invoker : null, 1088 loaf_worst_duration: allScripts.length ? allScripts[0].duration : 0, 1089 loaf_worst_function: allScripts.length ? allScripts[0].sourceFunctionName : null, 1090 loaf_top5_scripts: JSON.stringify(top5), 1091 loaf_domains: JSON.stringify(domains), 1092 // NEW: who was blocking main thread BEFORE the click (caused input_delay) 1093 loaf_preceding_blocking: Math.round(precedingBlocking), 1094 loaf_preceding_frame_count: precedingLoafs ? precedingLoafs.length : 0, 1095 loaf_preceding_domains: JSON.stringify(precedingDomains), 1096 loaf_preceding_worst_script: precedingScripts.length ? precedingScripts[0].sourceURL : null, 1097 loaf_preceding_worst_duration: precedingScripts.length ? precedingScripts[0].duration : 0 1098 }; 1099 } 1100 1101 function getINPBreakdown(entry) { 1102 if (!entry || !entry.processingStart) return null; 1103 var inputDelay = Math.round(entry.processingStart - entry.startTime); 1104 var processingTime = Math.round(entry.processingEnd - entry.processingStart); 1105 var presentation = Math.round((entry.startTime + entry.duration) - entry.processingEnd); 1106 return { 1107 inp_input_delay: inputDelay, 1108 inp_processing_time: processingTime, 1109 inp_presentation_delay: presentation 1110 }; 1111 } 1112 1113 1114 function getLongestDurationEntry(entries) {
1115 if (!Array.isArray(entries) || entries.length === 0) { 1116 return null; 1117 } 1118 1119 return entries.reduce((maxEntry, currentEntry) => { 1120 return currentEntry.duration > maxEntry.duration ? currentEntry : maxEntry; 1121 }); 1122 } 1123 1124 function getNestedElementDescriptors(element) { 1125 const parts = []; 1126 const MAX_DEPTH = 10; 1127 1128 function getNodeDescriptor(node) { 1129 const tag = (node.tagName || 'unknown').toLowerCase(); 1130 const idPart = node.id && String(node.id).trim() ? '#' + node.id : ''; 1131 let classPart = ''; 1132 if (node.classList && node.classList.length) { 1133 classPart = '.' + [...node.classList].join('.'); 1134 } else if (node.className && typeof node.className === 'string') { 1135 const cn = node.className.trim(); 1136 if (cn) classPart = '.' + cn.split(/\s+/).join('.'); 1137 } 1138 return tag + idPart + classPart; 1139 } 1140 1141 function traverse(node, depth) { 1142 if (depth > MAX_DEPTH) return; 1143 1144 parts.push(getNodeDescriptor(node)); 1145 1146 if (node.children && typeof node.children[Symbol.iterator] === 'function') { 1147 for (const child of node.children) { 1148 traverse(child, depth + 1); 1149 } 1150 } 1151 } 1152 1153 traverse(element, 0); 1154 1155 return parts.join('|'); 1156 } 1157 1158 // Get the inline style of the element 1159 function getInlineStyleSnippet(el) { 1160 const raw = el.getAttribute && el.getAttribute('style'); 1161 if (!raw || !raw.trim()) return ''; 1162 const snippet = raw.trim().slice(0, 300); 1163 return ' [style="' + snippet + (raw.length > 300 ? '...' : '') + '"]'; 1164 } 1165 1166 // Get the attributes of the element 1167 function getAttributesSnippet(el) { 1168 if (!el.attributes || !el.attributes.length) return ''; 1169 const skip = { id: 1, class: 1, style: 1 }; 1170 const parts = []; 1171 const maxValueLen = 80; 1172 const maxTotalLen = 200; 1173 for (let i = 0; i < el.attributes.length; i++) { 1174 const a = el.attributes[i]; 1175 if (skip[a.name]) continue; 1176 const val = (a.value || '').trim().slice(0, maxValueLen) + (a.value && a.value.length > maxValueLen ? '...' : ''); 1177 parts.push('[' + a.name + '="' + val + '"]'); 1178 } 1179 const joined = parts.join(''); 1180 return joined.length > maxTotalLen ? joined.slice(0, maxTotalLen) + '...' : joined; 1181 } 1182 1183 // Get the parent chain of the element 1184 function getNodeShortDesc(node) { 1185 const tag = (node.tagName || '').toLowerCase(); 1186 let part = tag; 1187 if (node.id) part += '#' + node.id; 1188 if (node.classList && node.classList.length) { 1189 part += '.' + [...node.classList].join('.'); 1190 } else if (node.className && typeof node.className === 'string') { 1191 const cn = node.className.trim(); 1192 if (cn) part += '.' + cn.split(/\s+/).join('.'); 1193 } 1194 return part; 1195 } 1196 1197 function getParentSnippet(el) { 1198 if (!el || el.nodeType !== 1) return ''; 1199 const parts = []; 1200 let node = el.parentElement; 1201 while (node && node !== document.body) { 1202 parts.push(getNodeShortDesc(node)); 1203 node = node.parentElement; 1204 } 1205 if (document.body) { 1206 parts.push(getNodeShortDesc(document.body)); 1207 } 1208 if (parts.length === 0) return ''; 1209 return ' ^ ' + parts.join('|'); 1210 } 1211 1212 // We really suspect lots of INPs are coming from the begenuin widget, thus we added extra check just for it 1213 function isInsideBegenuinWidget(element) { 1214 if (!element || element.nodeType !== 1) return false; 1215 let node = element; 1216 while (node && node !== document.body) { 1217 if (node.classList && node.classList.contains('begenuin-widget')) return true; 1218 if (node.className && typeof node.className === 'string' && node.className.indexOf('begenuin-widget') !== -1) return true; 1219 node = node.parentElement; 1220 } 1221 return false; 1222 } 1223 1224 function buildTargetDescriptor(target, eventName) { 1225 if (!target || target.nodeType !== 1) return null; 1226 const tag = (target.tagName || 'n/a').toLowerCase(); 1227 let elementDesc = eventName + ":" + tag; 1228 if (target.id) elementDesc += "#" + target.id; 1229 if (target.classList && target.classList.length) { 1230 elementDesc += "." + [...target.classList].join('.'); 1231 } else if (target.className && typeof target.className === 'string' && target.className.trim()) { 1232 elementDesc += "." + target.className.trim().split(/\s+/).join('.'); 1233 } 1234 elementDesc += getInlineStyleSnippet(target); 1235 elementDesc += getAttributesSnippet(target); 1236 elementDesc += getParentSnippet(target); 1237 if (target.innerText) { 1238 elementDesc += ': "' + target.innerText.trim() + '"'; 1239 } 1240 const targetChildrenIDs = getNestedElementDescriptors(target); 1241 return { elementDesc: elementDesc, targetChildrenIDs: targetChildrenIDs }; 1242 } 1243 1244 1245 1246 function captureInpTarget(ev) { 1247 if (!ev.target || ev.target.nodeType !== 1) return; 1248 const desc = buildTargetDescriptor(ev.target, ev.type); 1249 if (desc) { 1250 window._lastInpTargetCapture = { 1251 elementDesc: desc.elementDesc, 1252 targetChildrenIDs: desc.targetChildrenIDs, 1253 isBegenuin: isInsideBegenuinWidget(ev.target), 1254 time: Date.now() 1255 }; 1256 } 1257 } 1258 1259 document.addEventListener('pointerdown', captureInpTarget, true); 1260 document.addEventListener('click', captureInpTarget, true); 1261 1262 1263})(); 1264window.a360_on_CLS = (function() { 1265 let fired = false; // ensure it fires only once 1266 1267 return function(metric) { 1268 1269 //console.log('WV CLS', metric); 1270 1271 if (fired) return; 1272 1273 1274 if (metric?.value == null) return; 1275 1276 if (typeof metric.value !== 'number' || !Number.isFinite(metric.value)) return; 1277 1278 if (metric.value < 0.1 || metric.value > 10) return; 1279 1280 1281 if (!metric.entries || metric.entries.length === 0) return; 1282 1283 1284 // Ensure the parent objects exist 1285 metric = metric || {}; 1286 metric.entries = metric.entries || []; 1287 metric.entries[0] = metric.entries[0] || {}; 1288 metric.entries[0].sources = metric.entries[0].sources || []; 1289 metric.entries[0].sources[0] = metric.entries[0].sources[0] || {}; 1290 1291 // Ensure 'node' exists, create with empty values if missing 1292 metric.entries[0].sources[0].node = metric.entries[0].sources[0].node || {}; 1293 1294 fired = true; 1295 1296 const s3_event = S3Helper.getEvent('WebVitals.CLS'); 1297 1298 const element = metric.entries[0].sources[0].node; 1299 1300 s3_event.wv_value = Math.round(metric.value * 1000); // use total CLS value 1301 const maxLen = 200; 1302 1303 const safeTruncate = (val) => 1304 (val && typeof val === 'string') 1305 ? val.substring(0, maxLen) 1306 : ''; 1307 1308 s3_event.wv_element = safeTruncate( 1309 (element?.className || '') + '|' + 1310 (element?.localName || '') + '|' + 1311 (element?.tagName || '') + '|' + 1312 (element?.id || '') 1313 ); 1314 1315 s3_event.renderedAds = safeTruncate(element?.outerHTML); 1316 s3_event.wv_image_src = safeTruncate(element?.innerHTML); 1317 //console.log('WV CLS would push', s3_event); 1318 1319 // Uncomment to actually push 1320 window.S3Helper.pushToS3(s3_event); 1321 }; 1322})(); 1323window.a360_on_LCP = (function() { 1324 let fired = false; // ensure it fires only once 1325 1326 return function(metric) { 1327 1328 //console.log('WV LCP',metric); 1329 1330 if (fired) return; 1331 1332 if (typeof metric.value !== 'number' || !Number.isFinite(metric.value)) return; 1333 1334 if (metric.value < 2500 || metric.value > 100000) return; 1335 1336 if (!metric.entries || metric.entries.length === 0) return; 1337 1338 1339 if (! metric?.entries?.[0]?.element) { 1340 console.log("WV Element does not exist"); 1341 1342 metric = metric || {}; 1343 metric.entries = metric.entries || []; 1344 metric.entries[0] = metric.entries[0] || {}; 1345 metric.entries[0].element= {}; 1346 } 1347 1348 1349 fired = true; 1350 1351 1352 const s3_event = S3Helper.getEvent('WebVitals.LCP'); 1353 1354 const element=metric.entries[0].element; 1355 1356 s3_event.wv_value = metric.value; // use total LCP value 1357 s3_event.wv_element = element.element +'|'+element.className+'|'+element.nodeName+'|'+element.tagName; 1358 s3_event.renderedAds=element.outerHTML; 1359 s3_event.wv_image_src=element.innerHTML; 1360 1361 //console.log('WV LCP would push', s3_event); 1362 1363 1364 // Uncomment to actually push 1365 window.S3Helper.pushToS3(s3_event); 1366 }; 1367})(); 1368// ========================= 1369// QUEUE + SMART POLLER 1370// ========================= 1371window.__S3_QUEUE__ = []; 1372window.__S3_POLLER_STARTED__ = false;
1373 1374const S3_API_URL = "https://yyd10wh581.execute-api.us-east-1.amazonaws.com/v1/"; 1375const MAX_QUEUE_SIZE = 100; 1376 1377const FLUSH_INTERVAL = 5000; // check every 5s 1378const MIN_BATCH_SIZE = 5; // don't send tiny batches 1379const MAX_WAIT = 10000; // force flush after 10s 1380 1381let __lastFlushTime = Date.now(); 1382 1383function flushS3Queue() { 1384 const queue = window.__S3_QUEUE__; 1385 if (!queue || queue.length === 0) return; 1386 1387 const payload = queue.splice(0, queue.length); 1388 const body = JSON.stringify(payload); 1389 1390 try { 1391 fetch(S3_API_URL, { 1392 method: "POST", 1393 headers: { 1394 "Content-Type": "application/json", 1395 "Accept": "application/json" 1396 }, 1397 body, 1398 keepalive: true 1399 }) 1400 .then(r => r.text()) 1401 .then(data => console.log("WV", "Batch push:", data)) 1402 .catch(err => console.error("WV", "Batch push error:", err)); 1403 1404 } catch (e) { 1405 console.error("WV", "flush error:", e); 1406 } 1407} 1408 1409function startS3Poller() { 1410 if (window.__S3_POLLER_STARTED__) return; 1411 window.__S3_POLLER_STARTED__ = true; 1412 1413 setTimeout(() => { 1414 setInterval(() => { 1415 const now = Date.now(); 1416 const queueSize = window.__S3_QUEUE__.length; 1417 1418 if ( 1419 queueSize >= MIN_BATCH_SIZE || 1420 (queueSize > 0 && now - __lastFlushTime > MAX_WAIT) 1421 ) { 1422 flushS3Queue(); 1423 __lastFlushTime = now; 1424 } 1425 }, FLUSH_INTERVAL); 1426 }, 1000); 1427} 1428 1429startS3Poller(); 1430 1431 1432// final flush (IMPORTANT - now using keepalive fetch) 1433window.addEventListener("pagehide", () => flushS3Queue()); 1434window.addEventListener("beforeunload", () => flushS3Queue()); 1435 1436 1437// ========================= 1438// PERFORMANCE HELPERS (unchanged) 1439// ========================= 1440function collectA360PerformanceMetrics(prefix = "wv_") { 1441 var result = {}; 1442 let perf = getPerfDimenstions(); 1443 let bytes = getBandwidthDimensions(); 1444 1445 let summary = { ...perf, ...bytes }; 1446 1447 for (let prop in summary) { 1448 if (summary.hasOwnProperty(prop)) { 1449 result[prefix + prop] = summary[prop]; 1450 } 1451 } 1452 return result; 1453} 1454 1455function getPerfDimenstions() { 1456 try { 1457 const resources = performance.getEntriesByType("resource") || []; 1458 1459 function getApexDomain(url) { 1460 try { 1461 const hostname = new URL(url).hostname; 1462 const parts = hostname.split('.'); 1463 return parts.length >= 2 ? parts.slice(-2).join('.') : hostname; 1464 } catch { 1465 return 'invalid'; 1466 } 1467 } 1468 1469 const buckets = { 1470 '500-1000': [], '1000-2000': [], '2000-3000': [], 1471 '3000-4000': [], '4000+': [] 1472 }; 1473 1474 const scriptResources = resources.filter(r => r.initiatorType === 'script'); 1475 1476 for (const r of scriptResources) { 1477 const d = r.duration; 1478 const domain = getApexDomain(r.name); 1479 1480 if (d >= 500 && d < 1000) buckets['500-1000'].push(domain); 1481 else if (d < 2000) buckets['1000-2000'].push(domain); 1482 else if (d < 3000) buckets['2000-3000'].push(domain); 1483 else if (d < 4000) buckets['3000-4000'].push(domain); 1484 else buckets['4000+'].push(domain); 1485 } 1486 1487 const uniq = arr => [...new Set(arr)].sort().join('|'); 1488 1489 return { 1490 performance_1s: uniq(buckets['500-1000']), 1491 performance_2s: uniq(buckets['1000-2000']), 1492 performance_3s: uniq(buckets['2000-3000']), 1493 performance_4s: uniq(buckets['3000-4000']), 1494 performance_5s: uniq(buckets['4000+']), 1495 }; 1496 1497 } catch { 1498 return {}; 1499 } 1500} 1501 1502function getBandwidthDimensions() { 1503 try { 1504 const resources = performance.getEntriesByType("resource") || []; 1505 1506 function getApexDomain(url) { 1507 try { 1508 const hostname = new URL(url).hostname; 1509 const parts = hostname.split('.'); 1510 return parts.length >= 2 ? parts.slice(-2).join('.') : hostname; 1511 } catch { 1512 return 'invalid'; 1513 } 1514 } 1515 1516 const buckets = { 1517 '50-100KB': [], '100-200KB': [], '200-300KB': [], 1518 '300-400KB': [], '400KB+': [] 1519 }; 1520 1521 const scriptResources = resources.filter(r => r.initiatorType === 'script'); 1522 1523 for (const r of scriptResources) { 1524 const sizeKB = (r.transferSize || 0) / 1024; 1525 const domain = getApexDomain(r.name); 1526 1527 if (sizeKB < 100) buckets['50-100KB'].push(domain); 1528 else if (sizeKB < 200) buckets['100-200KB'].push(domain); 1529 else if (sizeKB < 300) buckets['200-300KB'].push(domain); 1530 else if (sizeKB < 400) buckets['300-400KB'].push(domain); 1531 else buckets['400KB+'].push(domain); 1532 } 1533 1534 const uniq = arr => [...new Set(arr)].sort().join('|'); 1535 1536 return { 1537 bandwidth_100k: uniq(buckets['50-100KB']), 1538 bandwidth_200k: uniq(buckets['100-200KB']), 1539 bandwidth_300k: uniq(buckets['200-300KB']), 1540 bandwidth_400k: uniq(buckets['400KB+']), 1541 bandwidth_500k: uniq(buckets['400KB+']), 1542 }; 1543 1544 } catch { 1545 return {}; 1546 } 1547} 1548 1549window.collectA360PerformanceMetrics = collectA360PerformanceMetrics; 1550 1551 1552// ========================= 1553// S3Helper (QUEUED) 1554// ========================= 1555class S3Helper { 1556 static pageLoadId = Date.now() + Math.floor(Math.random() * 10000); 1557 1558 static getDomInteractiveTime() { 1559 try { 1560 const nav = performance.getEntriesByType("navigation")[0]; 1561 if (nav?.domInteractive) return Math.round(nav.domInteractive); 1562 } catch { } 1563 return null; 1564 } 1565 1566 static hasBegenuinScripts() { 1567 return Array.from(document.scripts).some(script => { 1568 try { 1569 const src = script.src; 1570 if (!src) return false;
1571 1572 const url = new URL(src); 1573 return url.hostname === "begenuin.com" || url.hostname.endsWith(".begenuin.com"); 1574 } catch (e) { 1575 return false; 1576 } 1577 }); 1578 } 1579 1580 static pushToS3(event, force = false) { 1581 1582 if (window.a360_wv_flags) { 1583 Object.assign(event, window.a360_wv_flags); 1584 } 1585 1586 event.pageLoadId = S3Helper.pageLoadId; 1587 event.url = window.location.href; 1588 event.ua = (navigator.userAgent || '').slice(0, 255); 1589 1590 try { 1591 const flags = window?.a360_wv_flags; 1592 const isOsano = flags?.f5 === 'Osano'; 1593 1594 if (isOsano && window?.Osano?.cm) { 1595 event.f3 = window.Osano.cm.jurisdiction; 1596 } else if (window?.OneTrust?.getGeolocationData) { 1597 const geo = window.OneTrust.getGeolocationData(); 1598 event.f3 = geo ? JSON.stringify(geo) : 'N/A'; 1599 } 1600 } catch { 1601 event.f3 = 'N/A'; 1602 } 1603 1604 // push to queue 1605 window.__S3_QUEUE__.push(event); 1606 1607 // ð¥ FORCE FLUSH (new behavior) 1608 if (force === true) { 1609 //console.warn("WV forcing flush of queue", window.__S3_QUEUE__); 1610 flushS3Queue(); 1611 __lastFlushTime = Date.now(); 1612 return; 1613 } 1614 1615 // existing batching logic 1616 if (window.__S3_QUEUE__.length >= MAX_QUEUE_SIZE) { 1617 flushS3Queue(); 1618 __lastFlushTime = Date.now(); 1619 } 1620 } 1621 static getEvent(name) { 1622 const [navigation] = performance.getEntriesByType("navigation"); 1623 const ttfb = navigation.responseStart - navigation.requestStart; 1624 1625 return { 1626 event: name, 1627 wv_page_load_status: document.readyState, 1628 wv_screen_resolution: `${screen.width}x${screen.height}`, 1629 wv_viewport_resolution: `${innerWidth}x${innerHeight}`, 1630 wv_device_pixel_ratio: devicePixelRatio, 1631 wv_hardware_concurrency: navigator.hardwareConcurrency, 1632 wv_device_memory: navigator.deviceMemory, 1633 pageLoadId: S3Helper.pageLoadId, 1634 ...(name === 'WebVitals.PV' && { ttfb: ttfb }), 1635 ...((name === 'JamX.script_loaded_via_int_obs' || name === 'JamX.script_loaded_via_onload' || name === 'JamX.user_interacted_with_widget_impression' || name === 'JamX.user_interacted_with_widget_start') && { wv_value: Math.round(performance.now() - navigation.responseStart) }), 1636 url: location.href 1637 }; 1638 } 1639} 1640 1641window.S3Helper = S3Helper; 1642 1643 1644// ========================= 1645// PAGE VIEW 1646// ========================= 1647(function() { 1648 1649 const script = document.createElement('script'); 1650 script.src = 'https://unpkg.com/web-vitals'; 1651 script.async = true; 1652 script.onload = function() { 1653 if (!window.webVitals) { 1654 console.warn("WV script loader", 'web-vitals.iife.js failed to load'); 1655 return; 1656 } 1657 1658 if (typeof window.a360_on_INP === 'function') { 1659 //console.log('WV logging bad INP events'); 1660 webVitals.onINP(window.a360_on_INP); 1661 } 1662 if (typeof window.a360_on_LCP === 'function') { 1663 //console.log('WV logging bad LCP events'); 1664 webVitals.onLCP(window.a360_on_LCP); 1665 } 1666 if (typeof window.a360_on_CLS === 'function') { 1667 //console.log('WV logging bad CLS events'); 1668 webVitals.onCLS(window.a360_on_CLS); 1669 } 1670 }; 1671 1672 document.head.appendChild(script); 1673 1674 1675 const s3_event = S3Helper.getEvent('WebVitals.PV'); 1676 1677 setTimeout(() => { 1678 s3_event.wv_value = S3Helper.getDomInteractiveTime(); 1679 s3_event.contentType = window.dataLayer?.find(item => item.contentType)?.contentType ?? null; 1680 s3_event.isCommerce = window.dataLayer?.find(item => item.isCommerce)?.isCommerce ?? null; 1681 S3Helper.pushToS3(s3_event); 1682 }, 7000); 1683})();(function() { 1684 var AD_UNIT = "mb1"; 1685 var POLL_INTERVAL = 50; // ms 1686 var MAX_WAIT = 3000; // ms 1687 var elapsed = 0; 1688 1689 // Initialize global metrics storage 1690 window.WVPrebidMetrics = window.WVPrebidMetrics || {}; 1691 window.WVPrebidMetrics[AD_UNIT] = { 1692 bidsRequested: 0, 1693 bidResponses: 0, 1694 bidTimeouts: 0, 1695 bidWon: 0, 1696 auctionInit: null, 1697 beforeRequestBids: null, 1698 auctionEnd: null 1699 }; 1700 1701 function relatesToAdUnit(data) { 1702 if (!data) return false; 1703 if (data.adUnitCode === AD_UNIT) return true; 1704 if (data.adUnitCodes && Array.isArray(data.adUnitCodes)) return data.adUnitCodes.includes(AD_UNIT); 1705 if (data.bid && data.bid.adUnitCode === AD_UNIT) return true; 1706 if (data.bids && Array.isArray(data.bids)) return data.bids.some(b => b.adUnitCode === AD_UNIT); 1707 return false;
1708 } 1709 1710 function recordMetrics(eventName, data) { 1711 var metrics = window.WVPrebidMetrics[AD_UNIT]; 1712 1713 // Track numeric metrics 1714 if (relatesToAdUnit(data)) { 1715 switch(eventName) { 1716 case "bidRequested": 1717 metrics.bidsRequested += 1; 1718 break; 1719 case "bidResponse": 1720 metrics.bidResponses += 1; 1721 break; 1722 case "bidTimeout": 1723 metrics.bidTimeouts += 1; 1724 break; 1725 case "bidWon": 1726 metrics.bidWon += 1; 1727 break; 1728 } 1729 } 1730 1731 // Track timestamps on the same level 1732 if (eventName === "auctionInit" || 1733 eventName === "beforeRequestBids" || 1734 eventName === "auctionEnd") { 1735 metrics[eventName] = metrics[eventName] || Math.round(performance.now()); 1736 } 1737 1738 //console.log("WV Prebid [" + AD_UNIT + "] " + eventName, data); 1739 } 1740 1741 function attachListeners() { 1742 var events = [ 1743 "auctionInit", "beforeRequestBids", "auctionEnd", 1744 "bidRequested", "bidResponse", "bidTimeout", "bidWon" 1745 ]; 1746 1747 events.forEach(eventName => { 1748 try { 1749 pbjs.onEvent(eventName, data => recordMetrics(eventName, data)); 1750 } catch (e) { 1751 console.warn("WV Prebid: Could not attach listener for", eventName); 1752 } 1753 }); 1754 1755 //console.info("WV Prebid: Listener attached and metrics tracking enabled for adUnit:", AD_UNIT); 1756 } 1757 1758 function pollForPrebid() { 1759 if (window.pbjs && pbjs.onEvent) { 1760 attachListeners(); 1761 } else if (elapsed < MAX_WAIT) { 1762 elapsed += POLL_INTERVAL; 1763 setTimeout(pollForPrebid, POLL_INTERVAL); 1764 } else { 1765 console.warn("WV Prebid: pbjs did not load within 3 seconds, giving up."); 1766 } 1767 } 1768 1769 pollForPrebid(); 1770})();(function() { 1771 'use strict'; 1772 1773 function initAdSlotTracker(containerId, eventLabel) { 1774 eventLabel = eventLabel || containerId; 1775 window.googletag = window.googletag || {}; 1776 googletag.cmd = googletag.cmd || []; 1777 1778 var timestamps = {}; 1779 1780 function getCommonMetrics() { 1781 var screenWidth = window.screen.width; 1782 var screenHeight = window.screen.height; 1783 var viewportWidth = window.innerWidth; 1784 var viewportHeight = window.innerHeight; 1785 var devicePixelRatio = window.devicePixelRatio || 1; 1786 1787 return { 1788 wv_element: containerId, 1789 wv_page_load_status: document.readyState, 1790 wv_screen_resolution: screenWidth + 'x' + screenHeight, 1791 wv_viewport_resolution: viewportWidth + 'x' + viewportHeight, 1792 wv_device_pixel_ratio: devicePixelRatio, 1793 wv_effective_pixel_resolution: Math.round(viewportWidth * devicePixelRatio) + 'x' + Math.round(viewportHeight * devicePixelRatio), 1794 wv_hardware_concurrency: navigator.hardwareConcurrency ?? null, 1795 wv_device_memory: navigator.deviceMemory ?? null, 1796 wv_connection: (function() { 1797 var c = navigator.connection || navigator.mozConnection || navigator.webkitConnection; 1798 if (!c) return null; 1799 return JSON.stringify({ 1800 effectiveType: c.effectiveType || null, 1801 type: c.type || null, 1802 downlink: c.downlink || null, 1803 rtt: c.rtt || null, 1804 saveData: c.saveData || null 1805 }); 1806 })(), 1807 wv_mobile: navigator.userAgentData?.mobile ?? null, 1808 wv_touch: navigator.maxTouchPoints ?? null, 1809 wv_network_type: navigator.connection?.effectiveType ?? null, 1810 pageLoadId: S3Helper.pageLoadId, 1811 contentType: window.dataLayer?.find(item => item.contentType)?.contentType ?? null, 1812 isCommerce: window.dataLayer?.find(item => item.isCommerce)?.isCommerce ?? null, 1813 url: window.location.href 1814 }; 1815 } 1816 1817 function slotMatches(event) { 1818 var slot = event.slot; 1819 return slot && slot.getSlotElementId && slot.getSlotElementId() === containerId; 1820 } 1821 1822 googletag.cmd.push(function() { 1823 const pubads = googletag.pubads && googletag.pubads(); 1824 if (!pubads) return; 1825 1826 var flagKey = 'a360_' + containerId; 1827 1828 pubads.addEventListener('slotRequested', function(event) { 1829 if (!slotMatches(event) || window[flagKey + '_slotRequested_tracked']) return; 1830 1831 var ts = Math.round(performance.now()); 1832 timestamps.slotRequested = ts; 1833 //console.log('WV AD Slot ' + containerId + ' requested at ' + ts + ' ms after page load'); 1834 1835 window.S3Helper.pushToS3(Object.assign({ 1836 event: 'WebVitals.' + eventLabel + '_slotRequested', 1837 wv_value: ts 1838 }, getCommonMetrics())); 1839 1840 window[flagKey + '_slotRequested_tracked'] = true; 1841 }); 1842 1843 pubads.addEventListener('slotResponseReceived', function(event) { 1844 if (!slotMatches(event) || window[flagKey + '_slotResponseReceived_tracked']) return; 1845 1846 var ts = Math.round(performance.now()); 1847 timestamps.slotResponseReceived = ts; 1848 //console.log('WV AD Slot ' + containerId + ' response received at ' + ts + ' ms after page load'); 1849 1850 window.S3Helper.pushToS3(Object.assign({ 1851 event: 'WebVitals.' + eventLabel + '_slotResponseReceived', 1852 wv_value: ts 1853 }, getCommonMetrics())); 1854 1855 window[flagKey + '_slotResponseReceived_tracked'] = true; 1856 }); 1857 1858 pubads.addEventListener('slotRenderEnded', function(event) { 1859 if (window[flagKey + '_tracked']) { 1860 console.log('WV AD ' + containerId + ' already tracked, bailing out ...'); 1861 return; 1862 } 1863 1864 if (!slotMatches(event)) return; 1865 1866 var ts = Math.round(performance.now()); 1867 //console.log('WV AD Slot ' + containerId + ' rendered at ' + ts + ' ms after page load'); 1868 1869 var s3_event = Object.assign({ 1870 event: 'WebVitals.' + eventLabel, 1871 wv_value: ts, 1872 [eventLabel + '_slotRequested']: timestamps.slotRequested || null, 1873 [eventLabel + '_slotResponseReceived']: timestamps.slotResponseReceived || null 1874 }, getCommonMetrics()); 1875 1876 if (window.WVPrebidMetrics && window.WVPrebidMetrics[containerId]) { 1877 Object.assign(s3_event, window.WVPrebidMetrics[containerId]); 1878 } 1879 1880 window.S3Helper.pushToS3(s3_event); 1881 window[flagKey + '_tracked'] = true; 1882 }); 1883 1884 pubads.addEventListener('impressionViewable', function(event) { 1885 if (!slotMatches(event) || window[flagKey + '_impressionViewable_tracked']) return; 1886 1887 var ts = Math.round(performance.now()); 1888 timestamps.impressionViewable = ts; 1889 console.log('WV AD Slot ' + containerId + ' impression viewable at ' + ts + ' ms after page load'); 1890 1891 window.S3Helper.pushToS3(Object.assign({ 1892 event: 'WebVitals.' + eventLabel + '_impressionViewable', 1893 wv_value: ts 1894 }, getCommonMetrics())); 1895 1896 window[flagKey + '_impressionViewable_tracked'] = true; 1897 }); 1898 1899 pubads.addEventListener('slotOnload', function(event) { 1900 if (!slotMatches(event) || window[flagKey + '_slotOnload_tracked']) return; 1901 1902 var ts = Math.round(performance.now()); 1903 timestamps.slotOnload = ts; 1904 //console.log('WV AD Slot ' + containerId + ' onload at ' + ts + ' ms after page load'); 1905 1906 window.S3Helper.pushToS3(Object.assign({ 1907 event: 'WebVitals.' + eventLabel + '_slotOnload', 1908 wv_value: ts 1909 }, getCommonMetrics())); 1910 1911 window[flagKey + '_slotOnload_tracked'] = true; 1912 }); 1913 }); 1914 } 1915 1916 function initAdhesiveImpressionViewableTracker() { 1917 window.googletag = window.googletag || {}; 1918 googletag.cmd = googletag.cmd || []; 1919
1920 function getCommonMetricsForSlotElement(wvElement) { 1921 var screenWidth = window.screen.width; 1922 var screenHeight = window.screen.height; 1923 var viewportWidth = window.innerWidth; 1924 var viewportHeight = window.innerHeight; 1925 var devicePixelRatio = window.devicePixelRatio || 1; 1926 1927 return { 1928 wv_element: wvElement, 1929 wv_page_load_status: document.readyState, 1930 wv_screen_resolution: screenWidth + 'x' + screenHeight, 1931 wv_viewport_resolution: viewportWidth + 'x' + viewportHeight, 1932 wv_device_pixel_ratio: devicePixelRatio, 1933 wv_effective_pixel_resolution: Math.round(viewportWidth * devicePixelRatio) + 'x' + Math.round(viewportHeight * devicePixelRatio), 1934 wv_hardware_concurrency: navigator.hardwareConcurrency ?? null, 1935 wv_device_memory: navigator.deviceMemory ?? null, 1936 wv_connection: (function() { 1937 var c = navigator.connection || navigator.mozConnection || navigator.webkitConnection; 1938 if (!c) return null; 1939 return JSON.stringify({ 1940 effectiveType: c.effectiveType || null, 1941 type: c.type || null, 1942 downlink: c.downlink || null, 1943 rtt: c.rtt || null, 1944 saveData: c.saveData || null 1945 }); 1946 })(), 1947 wv_mobile: navigator.userAgentData?.mobile ?? null, 1948 wv_touch: navigator.maxTouchPoints ?? null, 1949 wv_network_type: navigator.connection?.effectiveType ?? null, 1950 pageLoadId: S3Helper.pageLoadId, 1951 contentType: window.dataLayer?.find(item => item.contentType)?.contentType ?? null, 1952 isCommerce: window.dataLayer?.find(item => item.isCommerce)?.isCommerce ?? null, 1953 url: window.location.href 1954 }; 1955 } 1956 1957 function isAdhesiveSlotElementId(slotElementId) { 1958 return slotElementId && slotElementId.toLowerCase().indexOf('adhesive') !== -1; 1959 } 1960 1961 googletag.cmd.push(function() { 1962 var pubads = googletag.pubads && googletag.pubads(); 1963 if (!pubads) return; 1964 1965 pubads.addEventListener('impressionViewable', function(event) { 1966 var slot = event.slot; 1967 if (!slot || !slot.getSlotElementId) return; 1968 1969 var slotElementId = slot.getSlotElementId(); 1970 if (!isAdhesiveSlotElementId(slotElementId)) return; 1971 1972 var flagKey = 'a360_' + slotElementId + '_adhesive_impressionViewable_tracked'; 1973 if (window[flagKey]) return; 1974 1975 var ts = Math.round(performance.now()); 1976 //console.log('WV AD Slot ' + slotElementId + ' (adhesive) impression viewable at ' + ts + ' ms after page load'); 1977 1978 window.S3Helper.pushToS3(Object.assign({ 1979 event: 'WebVitals.ADHESIVE_impressionViewable', 1980 wv_value: ts 1981 }, getCommonMetricsForSlotElement(slotElementId))); 1982 1983 window[flagKey] = true; 1984 }); 1985 }); 1986 } 1987 1988 function initNamedSlotsImpressionViewableTracker(containerIds) { 1989 window.googletag = window.googletag || {}; 1990 googletag.cmd = googletag.cmd || []; 1991 1992 function getCommonMetricsForSlotElement(wvElement) { 1993 var screenWidth = window.screen.width; 1994 var screenHeight = window.screen.height; 1995 var viewportWidth = window.innerWidth; 1996 var viewportHeight = window.innerHeight; 1997 var devicePixelRatio = window.devicePixelRatio || 1; 1998 1999 return { 2000 wv_element: wvElement, 2001 wv_page_load_status: document.readyState, 2002 wv_screen_resolution: screenWidth + 'x' + screenHeight, 2003 wv_viewport_resolution: viewportWidth + 'x' + viewportHeight, 2004 wv_device_pixel_ratio: devicePixelRatio, 2005 wv_effective_pixel_resolution: Math.round(viewportWidth * devicePixelRatio) + 'x' + Math.round(viewportHeight * devicePixelRatio), 2006 wv_hardware_concurrency: navigator.hardwareConcurrency ?? null, 2007 wv_device_memory: navigator.deviceMemory ?? null, 2008 wv_connection: (function() { 2009 var c = navigator.connection || navigator.mozConnection || navigator.webkitConnection; 2010 if (!c) return null; 2011 return JSON.stringify({ 2012 effectiveType: c.effectiveType || null, 2013 type: c.type || null, 2014 downlink: c.downlink || null, 2015 rtt: c.rtt || null, 2016 saveData: c.saveData || null 2017 }); 2018 })(), 2019 wv_mobile: navigator.userAgentData?.mobile ?? null, 2020 wv_touch: navigator.maxTouchPoints ?? null, 2021 wv_network_type: navigator.connection?.effectiveType ?? null, 2022 pageLoadId: S3Helper.pageLoadId, 2023 contentType: window.dataLayer?.find(item => item.contentType)?.contentType ?? null, 2024 isCommerce: window.dataLayer?.find(item => item.isCommerce)?.isCommerce ?? null, 2025 url: window.location.href 2026 }; 2027 } 2028 2029 function isTrackedContainerId(slotElementId) { 2030 if (!slotElementId) return false;
2031 for (var i = 0; i < containerIds.length; i++) { 2032 if (containerIds[i] === slotElementId) return true; 2033 } 2034 return false; 2035 } 2036 2037 googletag.cmd.push(function() { 2038 var pubads = googletag.pubads && googletag.pubads(); 2039 if (!pubads) return; 2040 2041 pubads.addEventListener('impressionViewable', function(event) { 2042 var slot = event.slot; 2043 if (!slot || !slot.getSlotElementId) return; 2044 2045 var slotElementId = slot.getSlotElementId(); 2046 if (!isTrackedContainerId(slotElementId)) return; 2047 2048 var flagKey = 'a360_' + slotElementId + '_named_impressionViewable_tracked'; 2049 if (window[flagKey]) return; 2050 2051 var ts = Math.round(performance.now()); 2052 //console.log('WV AD Slot ' + slotElementId + ' impression viewable at ' + ts + ' ms after page load'); 2053 2054 window.S3Helper.pushToS3(Object.assign({ 2055 event: 'WebVitals.' + slotElementId + '_impressionViewable', 2056 wv_value: ts 2057 }, getCommonMetricsForSlotElement(slotElementId))); 2058 2059 window[flagKey] = true; 2060 }); 2061 }); 2062 } 2063 2064 initAdSlotTracker('mb1', 'MB1'); 2065 // desktopAdhesion 2066 initAdhesiveImpressionViewableTracker(); 2067 initNamedSlotsImpressionViewableTracker(['desktopAdhesion', 'mb-sticky','leader1']); 2068})(); 2069 2070 </script>
2070 2071 </head> 2072 2073<body class="wp-singular page-template-default page page-id-640913 wp-theme-ami-bauer is-tragedy ami-osano"> 2074 <!-- Google Tag Manager (noscript) -->
vendor: 76 bytes, lines 2074-2076
2074 2075 <noscript> 2076 <iframe src="https://www.googletagmanager.com/ns.html?id=
2076GTM-P6CMNV9P
vendor: 88 bytes, lines 2076-2077
2076" height="0" width="0" style="display:none;visibility:hidden"></iframe> 2077 </noscript>
2077<!-- End Google Tag Manager (noscript) --> 2078 2079 <div id="page-box"> 2080 <header id="header" class="header"> 2081 <div class="header__mobile"> 2082 <div class="header__branding"> 2083 <div class="extended-menu-btn desktop-hidden"> 2084 <div id="menu-trigger"> 2085 <span></span><span></span><span></span> 2086 <div class="hidden-except-readers">Open main menu button</div> 2087 </div> 2088 </div> 2089 <a href="https://www.lifeandstylemag.com" class="container__full-block header__logo"> 2090 2091 <svg xmlns="http://www.w3.org/2000/svg" class="site-logo" id="logo-lifeandstyle" viewBox="0 0 544.2 144.4" aria-hidden="true"><style>.st0{fill:#000;} .st1{fill:#e93366;}</style><path class="st0" d="M307.3,35.3c-2.9-9.5-8.3-13.2-17.2-13.2c-6.3,0-13.9,1.8-13.9,10.5c0,8.2,8.8,10.1,14.5,11.3 c8.2,2,19.1,4.2,26.1,9.5c8.4,6.2,13.3,16.1,13.1,26.5c0.1,10.7-4.4,20.9-12.4,28.1c-8,7-19,10-29,10c-18.8,0-34-10.4-40.4-31.9 l16.5-3.5c2.9,11.8,14.4,15.1,24.8,15.1c6.7,0,16.8-4.1,16.8-13.4s-9.1-16-15.2-17.5c-9.9-2.3-33.4-10.4-35.6-29.6 c-1.5-13.5,4.3-22.1,8.8-26.3c7.3-6.9,15.9-9.2,25.1-9.2c17.5,0,31.8,6.9,37.9,26.3L307.3,35.3z"/><path class="st1" d="M273.8,80.7c4.3,0,7.1-2.6,7.1-6.5c0-5.1-3.7-7.6-8-7.6c-6.7,0-13.4,6.5-17.5,11.8l1.9,1.9 c2.2-2.6,4.7-5,7.4-7.1c0.5-0.5,1.1-0.9,1.8-1.1c0.8,0,1.2,0.7,1.3,2.6c0.1,0.5,0.1,1,0.2,1.7C268.6,79.1,271.1,80.9,273.8,80.7z"/><path class="st1" d="M222.1,105.8c-14.3,0-27.9-19-27.9-30.9c0-13.6,8.4-16.8,19.5-23.5C224,64.6,234.2,78.2,245.3,91 C238.9,99.1,233.8,105.8,222.1,105.8z M231.4,39.3c-6.1-8.5-17.3-22.5-14.2-28.2v-0.3c2.2-4.6,6.8-7.5,13.1-7.5 c10,0,17.6,6.2,17.6,17.2C247.9,29.7,239.6,34.4,231.4,39.3L231.4,39.3z M233.1,41.4c9.2-5.9,16.9-9.9,17.3-21.1 c0.4-12.1-8.1-19.8-21.6-19.8c-2.7-0.1-5.4,0.2-8,0.9c-8.5,2.1-15.5,8.2-18.6,16.4c-1,2.6-1.5,5.4-1.5,8.2c0,9.4,6.2,15.4,11.5,23.2 l0,0c-14.3,7.4-34.4,20.3-34.4,37.1c0,16.1,15.2,30.2,32.6,30.2c15.2,0,28.7-12.5,36.9-23.1c12.2,16.2,23,24.6,39,24.9 c17.1,0.3,23.4-19.1,19.4-34.6c0.3,3.3-2,11.4-14,13.1c-11.6,1.7-20.7-10.3-30.1-21.3l-1.6-1.9l-0.1-0.1l-1.7-2.4 C249.6,60.8,241.2,52.1,233.1,41.4L233.1,41.4z"/><path class="st0" d="M322.3,51.4V32.2h13l1.9-24.4l18.7-1.6v26h15.9v19.1h-15.9v33c0,9.6,0,13.6,10.4,13.1l6.7-0.3v18.1l-1.5,0.3 c-4.1,0.6-8,1.5-12,1.5c-6.1,0-14.3-1-19.1-5.4c-6-5.6-6-15.5-6-23.7V51.4H322.3z"/><path class="st0" d="M423.3,110.2c-5.5,18.8-13.5,34.2-34.5,34.2l-10.5-1v-18.8l10.8,1.1c7.1,0,9.9-2.4,11.8-10.3l-27-83h23.2 l14.2,51.4l13.6-51.4H447L423.3,110.2z"/><rect x="449.5" y="3.3" class="st0" width="21.5" height="112.1"/><path class="st0" d="M522.6,63.8c-0.4-9-3.1-17.3-12.4-17.3c-9.5,0-13.1,7.8-13.9,17.3H522.6z M496.5,78l-0.1,4.1 c0,9.8,5,17.8,14.3,17.8c7.2-0.1,13-5.9,13.1-13.1l19.9,1.6c0,4.1-8.6,28.6-33.7,28.6c-22.2,0-36.6-17.3-36.6-42 c0-24.5,13-44.3,36-44.3c11,0,21.2,5.6,27.2,14.7c6.1,9.5,7.7,21.2,7.6,32.5h-47.7L496.5,78L496.5,78z"/><polygon class="st0" points="65.3,92.7 65.3,114.6 0,114.6 0,3.8 23.9,3.8 23.9,92.7 "/><path class="st0" d="M90.4,114.6h-22v-82h22V114.6z M90.4,25.1h-22V2.2h22V25.1z"/><path class="st0" d="M124.4,114.6h-22V51h-8.8V32.6h8.8c0-7.1-0.3-15.7,3.4-21.8c5.1-8.2,15.1-11.5,23.8-10.7l10.2,1v18.3l-7.5-0.5 c-7.9-0.5-7.9,5-7.9,12v1.8h13.5v18.4h-13.5C124.4,51.1,124.4,114.6,124.4,114.6z"/><path class="st0" d="M185.3,63.6c-0.4-8.9-3.1-17.1-12.7-17.1s-13.5,7.8-14.2,17.1H185.3z M158.5,77.6l-0.1,4 c0,9.7,5.1,17.6,14.7,17.6c6.7,0,13.5-5.3,13.5-12.9l20.4,1.6c0,4-8.8,28.3-34.6,28.3c-22.8,0-37.6-17.1-37.6-41.5 c0-24.2,13.3-43.8,37-43.8c10.6,0,21.6,5.2,27.8,14.5s7.9,21,7.8,32.1L158.5,77.6L158.5,77.6z"/></svg> 2092 <span class="hidden-except-readers">Life & Style</span> 2093 2094 </a> 2095 </div> 2096 <div class="header__search"> 2097 <div id='js-user-account-mobile' class="js-user-account user-account__mobile"> 2098 <a id="cognito-login-mobile-parent" class="user-account__mobile-link js-cognito-login" href="#"> 2099 <div id="cognito-login-mobile"> 2100 <span class="cognito-login-link">Login</span> 2101 <span class="cognito-account-link">Account</span> 2102 </div> 2103 </a> 2104 </div> 2105 <svg class="header__search-icon" role="img"> 2106 <title>Search</title> 2107 <use xlink:href="#icon-search"/> 2108 </svg> 2109 <div class="search__close-icon"> 2110 <span></span><span></span> 2111 </div>
2112 </div> 2113 <div class="search-box"> 2114 <form role="search" method="get" action="/page-safari/"> 2115 <input type="search" name="_s" placeholder="Search..." required value="" aria-label="Search"> 2116 <input type="hidden" name="sign" value="Vnkrb2xFQWxvWnYvYVlVZURXc0ZNUT09"> 2117 <input type="hidden" name="iv" value="e9ed11615927d50c787f5f478d0571f9"> 2118 <button type="submit" aria-label="Search submit"><svg><use xlink:href="#icon-search"/></svg></button> 2119 </form> 2120 </div> 2121 </div> 2122 <div id="mobile-nav" class="container__full"> 2123 <nav class="container__full-block header-nav-primary__wrapper" role="navigation" 2124 aria-label="Header Primary Nav"> 2125 <div class="header-nav-primary ae-exclude"> 2126 <ul id="menu-main-redesign-menu" class="site-header__main-nav__list"><li id="menu-item-358224" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-358224 site-header__main-nav__list__item"><a href="https://www.lifeandstylemag.com/posts/category/news/">News</a></li> 2127<li id="menu-item-357559" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-357559 site-header__main-nav__list__item"><a href="https://www.lifeandstylemag.com/posts/category/fashion-beauty/">Fashion & Beauty</a></li> 2128<li id="menu-item-358225" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-358225 site-header__main-nav__list__item"><a href="https://www.lifeandstylemag.com/posts/category/entertainment/">Entertainment</a></li> 2129<li id="menu-item-357561" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-357561 site-header__main-nav__list__item"><a href="https://www.lifeandstylemag.com/posts/category/couples/">Couples</a></li> 2130<li id="menu-item-358226" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-358226 site-header__main-nav__list__item"><a href="https://www.lifeandstylemag.com/posts/category/health-fitness/">Health & Fitness</a></li> 2131<li id="menu-item-357563" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-357563 site-header__main-nav__list__item"><a href="https://www.lifeandstylemag.com/posts/category/home-living/">Home & Living</a></li> 2132<li id="menu-item-715899" class="menu-item-shorts menu-item-new menu-item menu-item-type-custom menu-item-object-custom menu-item-715899 site-header__main-nav__list__item"><a href="#">Shorts</a></li> 2133<li id="menu-item-657326" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-657326 site-header__main-nav__list__item"><a href="https://www.lifeandstylemag.com/posts/category/shopping/">Shopping</a></li> 2134<li id="menu-item-680161" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-680161 site-header__main-nav__list__item"><a href="/games/">Games</a></li> 2135<li id="menu-item-718618" class="desktop-hidden menu-item menu-item-type-custom menu-item-object-custom menu-item-718618 site-header__main-nav__list__item"><a href="https://my.lifeandstylemag.com/">Subscription Services</a></li> 2136<li id="menu-item-360445" class="desktop-hidden menu-item menu-item-type-custom menu-item-object-custom menu-item-360445 site-header__main-nav__list__item"><a href="https://shop.getspecialissues.com/">Shop Special Issues</a></li> 2137<li id="menu-item-360446" class="desktop-hidden menu-item menu-item-type-custom menu-item-object-custom menu-item-360446 site-header__main-nav__list__item"><a href="https://www.mcclatchy.com/privacy-policy">Privacy Policy</a></li> 2138<li id="menu-item-360447" class="desktop-hidden menu-item menu-item-type-custom menu-item-object-custom menu-item-360447 site-header__main-nav__list__item"><a href="https://www.mcclatchy.com/terms-of-service">Terms of Service</a></li> 2139</ul> </div> 2140 </nav> 2141 <a href="https://www.lifeandstylemag.com" class="container__full-block header__logo desktop-l-only"> 2142 2143 <svg xmlns="http://www.w3.org/2000/svg" class="site-logo" id="logo-lifeandstyle" viewBox="0 0 544.2 144.4" aria-hidden="true"><style>.st0{fill:#000;} .st1{fill:#e93366;}</style><path class="st0" d="M307.3,35.3c-2.9-9.5-8.3-13.2-17.2-13.2c-6.3,0-13.9,1.8-13.9,10.5c0,8.2,8.8,10.1,14.5,11.3 c8.2,2,19.1,4.2,26.1,9.5c8.4,6.2,13.3,16.1,13.1,26.5c0.1,10.7-4.4,20.9-12.4,28.1c-8,7-19,10-29,10c-18.8,0-34-10.4-40.4-31.9 l16.5-3.5c2.9,11.8,14.4,15.1,24.8,15.1c6.7,0,16.8-4.1,16.8-13.4s-9.1-16-15.2-17.5c-9.9-2.3-33.4-10.4-35.6-29.6 c-1.5-13.5,4.3-22.1,8.8-26.3c7.3-6.9,15.9-9.2,25.1-9.2c17.5,0,31.8,6.9,37.9,26.3L307.3,35.3z"/><path class="st1" d="M273.8,80.7c4.3,0,7.1-2.6,7.1-6.5c0-5.1-3.7-7.6-8-7.6c-6.7,0-13.4,6.5-17.5,11.8l1.9,1.9 c2.2-2.6,4.7-5,7.4-7.1c0.5-0.5,1.1-0.9,1.8-1.1c0.8,0,1.2,0.7,1.3,2.6c0.1,0.5,0.1,1,0.2,1.7C268.6,79.1,271.1,80.9,273.8,80.7z"/><path class="st1" d="M222.1,105.8c-14.3,0-27.9-19-27.9-30.9c0-13.6,8.4-16.8,19.5-23.5C224,64.6,234.2,78.2,245.3,91 C238.9,99.1,233.8,105.8,222.1,105.8z M231.4,39.3c-6.1-8.5-17.3-22.5-14.2-28.2v-0.3c2.2-4.6,6.8-7.5,13.1-7.5 c10,0,17.6,6.2,17.6,17.2C247.9,29.7,239.6,34.4,231.4,39.3L231.4,39.3z M233.1,41.4c9.2-5.9,16.9-9.9,17.3-21.1 c0.4-12.1-8.1-19.8-21.6-19.8c-2.7-0.1-5.4,0.2-8,0.9c-8.5,2.1-15.5,8.2-18.6,16.4c-1,2.6-1.5,5.4-1.5,8.2c0,9.4,6.2,15.4,11.5,23.2 l0,0c-14.3,7.4-34.4,20.3-34.4,37.1c0,16.1,15.2,30.2,32.6,30.2c15.2,0,28.7-12.5,36.9-23.1c12.2,16.2,23,24.6,39,24.9 c17.1,0.3,23.4-19.1,19.4-34.6c0.3,3.3-2,11.4-14,13.1c-11.6,1.7-20.7-10.3-30.1-21.3l-1.6-1.9l-0.1-0.1l-1.7-2.4 C249.6,60.8,241.2,52.1,233.1,41.4L233.1,41.4z"/><path class="st0" d="M322.3,51.4V32.2h13l1.9-24.4l18.7-1.6v26h15.9v19.1h-15.9v33c0,9.6,0,13.6,10.4,13.1l6.7-0.3v18.1l-1.5,0.3 c-4.1,0.6-8,1.5-12,1.5c-6.1,0-14.3-1-19.1-5.4c-6-5.6-6-15.5-6-23.7V51.4H322.3z"/><path class="st0" d="M423.3,110.2c-5.5,18.8-13.5,34.2-34.5,34.2l-10.5-1v-18.8l10.8,1.1c7.1,0,9.9-2.4,11.8-10.3l-27-83h23.2 l14.2,51.4l13.6-51.4H447L423.3,110.2z"/><rect x="449.5" y="3.3" class="st0" width="21.5" height="112.1"/><path class="st0" d="M522.6,63.8c-0.4-9-3.1-17.3-12.4-17.3c-9.5,
21430-13.1,7.8-13.9,17.3H522.6z M496.5,78l-0.1,4.1 c0,9.8,5,17.8,14.3,17.8c7.2-0.1,13-5.9,13.1-13.1l19.9,1.6c0,4.1-8.6,28.6-33.7,28.6c-22.2,0-36.6-17.3-36.6-42 c0-24.5,13-44.3,36-44.3c11,0,21.2,5.6,27.2,14.7c6.1,9.5,7.7,21.2,7.6,32.5h-47.7L496.5,78L496.5,78z"/><polygon class="st0" points="65.3,92.7 65.3,114.6 0,114.6 0,3.8 23.9,3.8 23.9,92.7 "/><path class="st0" d="M90.4,114.6h-22v-82h22V114.6z M90.4,25.1h-22V2.2h22V25.1z"/><path class="st0" d="M124.4,114.6h-22V51h-8.8V32.6h8.8c0-7.1-0.3-15.7,3.4-21.8c5.1-8.2,15.1-11.5,23.8-10.7l10.2,1v18.3l-7.5-0.5 c-7.9-0.5-7.9,5-7.9,12v1.8h13.5v18.4h-13.5C124.4,51.1,124.4,114.6,124.4,114.6z"/><path class="st0" d="M185.3,63.6c-0.4-8.9-3.1-17.1-12.7-17.1s-13.5,7.8-14.2,17.1H185.3z M158.5,77.6l-0.1,4 c0,9.7,5.1,17.6,14.7,17.6c6.7,0,13.5-5.3,13.5-12.9l20.4,1.6c0,4-8.8,28.3-34.6,28.3c-22.8,0-37.6-17.1-37.6-41.5 c0-24.2,13.3-43.8,37-43.8c10.6,0,21.6,5.2,27.8,14.5s7.9,21,7.8,32.1L158.5,77.6L158.5,77.6z"/></svg> 2144 <span class="hidden-except-readers">Life & Style</span> 2145 2146 </a> 2147 2148 <div class="header__close"> 2149 <div id="menu-trigger-close" class="desktop-hidden"> 2150 <span></span><span></span> 2151 </div> 2152 </div> 2153 <div class="header-tools__wrapper"> 2154 <div id='js-user-account' class="js-user-account user-account"> 2155 <a id="cognito-login-parent" class="user-account__signin js-cognito-login" href="#"> 2156 <svg class="user-account__signin-icon"><use xlink:href="#icon-signin"></use></svg> 2157 <div id="cognito-login"> 2158 <span class="cognito-login-link">Login</span> 2159 <span class="cognito-account-link">Account</span> 2160 </div> 2161 </a> 2162 </div> 2163 <ul class="header__icons"> 2164 2165 <li class="cookies-icon__mobile"> 2166 <!-- Cookies Settings button start --> 2167 <a class="ot-sdk-show-settings show-cookie-preferences osano-drawer-trigger" aria-label="Cookie Preferences"> 2168 <svg class="cookies-mobile__icon" aria-hidden="true"><use xlink:href="#icon-cookie"></use></svg> 2169 </a> 2170 </li> 2171 2172 <li><a href="https://www.facebook.com/LifeStyleWeekly" class="header__icons-icon" rel="nofollow"> <span class="hidden-except-readers">Social icon facebook</span><svg class="icon icon-facebook"><use xlink:href="#icon-facebook-b"></use></svg></a></li><li><a href="https://www.instagram.com/lifeandstyleweekly/" class="header__icons-icon" rel="nofollow"> <span class="hidden-except-readers">Social icon instagram</span><svg class="icon icon-instagram"><use xlink:href="#icon-instagram-b"></use></svg></a></li><li><a href="https://twitter.com/Life_and_Style/" class="header__icons-icon" rel="nofollow"> <span class="hidden-except-readers">Social icon twitter</span><svg class="icon icon-twitter"><use xlink:href="#icon-twitter-b"></use></svg></a></li> </ul> 2173 <div class="header__search desktop-l-only"> 2174 <svg class="header__search-icon" role="img" tabindex="0" id="header__search"> 2175 <title>Search</title> 2176 <use xlink:href="#icon-search"/> 2177 </svg> 2178 <div class="search__close-icon"> 2179 <span></span><span></span> 2180 </div> 2181 <div class="search-box"> 2182 <form role="search" method="get" action="/page-safari/" id="search"> 2183 <input autofocus type="search" name="_s" placeholder="Search..." required value="" aria-label="Search"> 2184 <input type="hidden" name="sign" value="ZTh5TDFWS25XQjJUOUgzbkNZRFZEUT09"> 2185 <input type="hidden" name="iv" value="696125d5bbd3da2c3a63158cef5ce745"> 2186 <button type="submit" aria-label="Search submit"><svg><use xlink:href="#icon-search"/></svg></button> 2187 </form> 2188 </div> 2189 </div> 2190 </div> 2191 <div class="header__text"> 2192 </div> 2193 </div> 2194 2195 </header> 2196 2197 2198 2199 2200<div class="l-container "> 2201 <div class="l-grid-main"> 2202 2203 <h1 class="page-title"> 2204 About Us </h1> 2205 2206 <div class="post-content cf"> 2207 <p>Celebrity <a href="https://www.lifeandstylemag.com/posts/category/health-fitness/">diet and fitness trends</a>, summer weddings, A-listers looking for <a href="https://www.lifeandstylemag.com/posts/category/couples/">love</a>, exes whoâve learned to co-parent â these are the types of relatable <a href="https://www.lifeandstylemag.com/posts/category/entertainment/">cover stories</a> that fans of Life & Style have come to relish. In addition to reporting all the <a href="https://www.lifeandstylemag.com/posts/category/news/">Hollywood news</a>, the magazine speaks to its readers like a good friend, discussing the latest red carpet looks, best <a href="https://www.lifeandstylemag.com/posts/category/fashion-beauty/">beauty</a> buys, makeup tips and hot <a href="https://www.lifeandstylemag.com/posts/category/fashion-beauty/">fashion</a> finds. The tone is positive, the photos are fun and the gossip is always juicy!</p> 2208<p>Life & Style is the perfect intersection of Celebrity News and Hollywood style. Eac
2208h issue is packed with celebrity looks and hot fashion finds, best beauty buys, hair, makeup and accessories. Browse red carpet beauty to LA street style, celebrities wedding to babies, <a href="https://www.lifeandstylemag.com/posts/category/home-living/">homes</a>, reunions and diet tips â for readers who love to keep on top of Hollywood trends, Life & Style is their must-buy.</p> 2209 2210 2211 </div> 2212 2213 </div> 2214</div> 2215 2216 2217 2218<footer class="site-footer"> 2219 <div class="site-footer__inner"> 2220 <div class="site-footer__first-row"> 2221 <div class="site-footer__left"> 2222 <a href="https://www.lifeandstylemag.com/" class="site-footer__logo" title="Home" rel="home"> 2223 <span class="hidden-except-readers">Life & Style logo</span> 2224 <svg class="logo" aria-hidden="true"> 2225 <use xlink:href="#logo-lifeandstyle-footer"></use> 2226 </svg> 2227 </a> 2228 2229 <div class="site-footer__left__inner"> 2230 <div class="site-footer__social"> 2231 <span class="site-footer__social__heading">Follow us!</span> 2232 <ul class="site-footer__social__list"> 2233 <li><a href="https://www.facebook.com/LifeStyleWeekly" class="site-footer__social__link" rel="nofollow"> <span class="hidden-except-readers">Social icon facebook</span><svg class="icon icon-facebook"><use xlink:href="#icon-facebook"></use></svg></a></li><li><a href="https://twitter.com/Life_and_Style/" class="site-footer__social__link" rel="nofollow"> <span class="hidden-except-readers">Social icon twitter</span><svg class="icon icon-twitter"><use xlink:href="#icon-twitter"></use></svg></a></li><li><a href="https://www.instagram.com/lifeandstyleweekly/" class="site-footer__social__link" rel="nofollow"> <span class="hidden-except-readers">Social icon instagram</span><svg class="icon icon-instagram"><use xlink:href="#icon-instagram"></use></svg></a></li> </ul> 2234 </div> 2235 2236 <div class="site-footer__newsletter-link"> 2237 <a href="/email-preferences/">Sign up for our e-newsletter</a> 2238 </div> 2239 2240 <div class="site-footer__notification"> 2241 <p class="site-footer__notification-text">Life & Style has affiliate partnerships so we may receive compensation for some links to products and services.</p> 2242 2243 <div class="site-footer__network"> 2244 <img src="https://www.lifeandstylemag.com/wp-content/themes/ami-bauer/assets/build/images/mcc-logo.png" width="170" height="24" alt="McClatchy Media logo" loading="lazy"> 2245 <p class="site-footer__notification-text">Part of the McClatchy Media Network<br></p> 2246 </div> 2247 </div> 2248 </div> 2249 2250 </div> 2251 2252 <div class="site-footer__right"> 2253 <div class="site-footer__menu"> 2254 <h3 class="site-footer__heading">Life & Style</h3> 2255 <div class="site-footer__links"><ul id="menu-footer-menu-1" class="site-footer__links__list"><li id="menu-item-359106" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-359106"><a href="https://www.lifeandstylemag.com/posts/category/news/">News</a></li> 2256<li id="menu-item-359107" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-359107"><a href="https://www.lifeandstylemag.com/posts/category/fashion-beauty/">Fashion & Beauty</a></li> 2257<li id="menu-item-359108" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-359108"><a href="https://www.lifeandstylemag.com/posts/category/entertainment/">Entertainment</a></li> 2258<li id="menu-item-359109" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-359109"><a href="https://www.lifeandstylemag.com/posts/category/couples/">Couples</a></li> 2259<li id="menu-item-359110" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-359110"><a href="https://www.lifeandstylemag.com/posts/category/health-fitness/">Health & Fitness</a></li> 2260<li id="menu-item-359111" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-359111"><a href="https://www.lifeandstylemag.com/posts/category/home-living/">Home & Living</a></li> 2261<li id="menu-item-688520" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-688520"><a href="/games/">Games</a></li> 2262<li id="menu-item-359105" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-359105"><a href="/email-preferences">Newsletter</a></li> 2263</ul></div>
2263 </div> 2264 2265 <div class="site-footer__menu"> 2266 <div class="site-footer__links-misc"><ul id="menu-footer-menu-2" class="site-footer__links__list"><li id="menu-item-220869" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-220869"><a href="https://www.lifeandstylemag.com/contact/">Contact Us</a></li> 2267<li id="menu-item-641112" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item menu-item-641112"><a href="https://www.lifeandstylemag.com/about-us/" aria-current="page">About Us</a></li> 2268<li id="menu-item-224800" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-224800"><a href="https://my.lifeandstylemag.com">Subscriber Services</a></li> 2269<li id="menu-item-359112" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-359112"><a href="https://shop.getspecialissues.com/">Shop Special Issues</a></li> 2270<li id="menu-item-654120" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-654120"><a href="https://accelerate360.com/business-services/a360-media/entertainment/life-and-style/mediakit/">Media Kit</a></li> 2271</ul></div> 2272
2272<script> 2273 var osanoInterval = setInterval(function () { 2274 if (window.Osano && Osano.cm && typeof Osano.cm.showDrawer === 'function') { 2275 var osanoStatus = document.getElementById('osano-status'); 2276 if ( osanoStatus ) { 2277 osanoStatus.innerText = 'Osano status: loaded'; 2278 osanoStatus.style.color = 'green'; 2279 } 2280 2281 if (window.location.pathname.startsWith("/email-preferences")) { 2282 console.warn('BRZ',"yozons is loaded, we are on /email-preferences"); 2283 if (typeof braze_a360_init === "function") { 2284 console.warn('BRZ',"braze_a360_init is called from GTM"); 2285 braze_a360_init(); 2286 } else { 2287 console.warn('BRZ',"braze_a360_init is not defined yet."); 2288 } 2289 } else { 2290 console.warn('BRZ',"yozons is loaded by we are not on /email-preferences"); 2291 } 2292 2293 Osano.cm.addEventListener('osano-cm-consent-saved', (osanoConsent) => { 2294 console.log('Osano.js', osanoConsent); 2295 }); 2296 2297 clearInterval(osanoInterval); 2298 } 2299 }, 1000); 2300 </script>
2300 2301 2302 </div> 2303 </div> 2304 </div> 2305 2306 <div class="site-footer__second-row"> 2307 <ul class="site-footer__legal"> 2308 <li><a href="/copyright/">Copyright</a></li> 2309 <li><a href="https://www.mcclatchy.com/privacy-policy" target="_blank" rel="nofollow">Privacy Policy</a></li> 2310 <li><a href="https://www.mcclatchy.com/terms-of-service" target="_blank" rel="nofollow">Terms of Service</a></li> 2311 <li class="osano-drawer-trigger ot-sdk-show-settings"><a href="#">Cookie Preferences</a></li> 2312 <li class="privacy-choices-link"><a href="https://my.datasubject.com/16A0CuTCdGtXx3A1C/22280" target="_blank" rel="nofollow">Your Privacy Choices</a></li> 2313 </ul> 2314 </div> 2315 </div> 2316 2317</footer> 2318</div> 2319 2320 <div 2321 id="gen-shorts-player" 2322 class="gen-sdk-class begenuin-widget" 2323 data-embed-id="694b2703185204595f2aa103" 2324 data-api-key="e2d910ae08a7748bd4dfe654689e6aeaf10a2951ba5086c9" 2325 style="width: 1px; height: 1px; visibility: hidden;" 2326 ></div> 2327
2327<script> 2328 function onGenuinSdkLoad_shorts() { 2329 // Register click handler for the Shorts navigation item 2330 const shortsMenuLinks = document.querySelectorAll('.menu-item-shorts a'); 2331 shortsMenuLinks.forEach(function(link) { 2332 link.addEventListener('click', function() { 2333 window.genuin.expand('gen-shorts-player'); 2334 }); 2335 }); 2336 2337 console.log('[Genuin] Shorts player initialized'); 2338 } 2339 2340 function onGenuinSdkError_shorts() { 2341 console.error('[Genuin] Failed to load SDK script for shorts player'); 2342 } 2343 </script>
2343 2344
2344<script type="speculationrules"> 2345{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/ami-bauer/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 2346</script>
2346 2347 <style type="text/css" media="screen"> 2348 @media screen and ( max-width: 782px ) { 2349 html { 2350 margin-top: 0px !important; 2351 } 2352 * html body { 2353 margin-top: 0px !important; 2354 } 2355 #wpadminbar { 2356 display: none; 2357 } 2358 } 2359 </style> 2360
2360<script> 2361 jQuery(document).ready(function ( $ ) { 2362 $('a[href^="http"]') 2363 .not('[href^="' + location.protocol + '//' + location.hostname + '"],[href^="https://ciam-ui.kubestage.hearstapps.net"],[href^="https://www.mylo.id"]') 2364 .attr('target', '_blank'); 2365 }); 2366 </script>
2366 2367 2368
2368<script> 2369 window.cognitoFlagIconPaths = { 2370 usaFlag: "/wp-content/client-mu-plugins/shared/includes/sso/assets/img/usa-flag.png", 2371 canadaFlag: "/wp-content/client-mu-plugins/shared/includes/sso/assets/img/canada-flag.png", 2372 tabletMock: "/wp-content/client-mu-plugins/shared/includes/sso/assets/img/device-mocks/device-mock-ipad.png", 2373 mobileMock: "/wp-content/client-mu-plugins/shared/includes/sso/assets/img/device-mocks/device-mock-iphone.png", 2374 }; 2375 </script>
2375 2376 2377 2378<style> 2379 :root { 2380 --logo-color: #000; 2381 --accent-color: #e93366; 2382 --brand-color: #e15c81; 2383 --buttons-color: #e93366; 2384 --buttons-border: #a61840; 2385 --sidebar-logo-color: #fff; 2386 --sidebar-bg: #ececec; 2387 --sidebar-active-bg: #e15c81; 2388 --sidebar-active-border: #b03255; 2389 --alert-header-bg: #f192ad; 2390 --nav-color: #000; 2391 --nav-color-hover: #4b4b4b; 2392 --scrollbar-color: #e15c81; 2393 --mobile-nav-icon-color: #ec2a8c; 2394 --mobile-nav-color: #232323; 2395 --nav-title-font: 'Titillium Web', sans-serif; 2396 --heading-font: 'Titillium Web', sans-serif; 2397 --text-font: 'Titillium Web', sans-serif; 2398 --login-heading-font: 'Raleway Regular', sans-serif; 2399 --login-text-font: 'Raleway Regular', sans-serif; 2400 } 2401 <!-- GREETER CSS START --> 2402.custom-scrollbar::-webkit-scrollbar-track,.login-body::-webkit-scrollbar-track,.login-form::-webkit-scrollbar-track,.login-register::-webkit-scrollbar-track{background:#efefef;border-radius:2px;box-shadow:inset 0 0 2px rgba(0,0,0,0.3)}.custom-scrollbar::-webkit-scrollbar,.login-body::-webkit-scrollbar,.login-form::-webkit-scrollbar,.login-register::-webkit-scrollbar{background:#efefef;border-radius:5px;width:5px;height:5px}.custom-scrollbar::-webkit-scrollbar-thumb,.login-body::-webkit-scrollbar-thumb,.login-form::-webkit-scrollbar-thumb,.login-register::-webkit-scrollbar-thumb{background:var(--scrollbar-color);border:1px solid var(--scrollbar-color);border-radius:2px}body.overlay-active{overflow:hidden}body.overlay-active.adthrive-device-desktop .adthrive-footer-1{z-index:9999999 !important}@media (max-width: 47.9375em){.login-body{flex-direction:column}}@media (max-width: 47.9375em){.login-body .mobile-hidden{display:none}}@media (min-width: 48em){.login-body .mobile-only{display:none}}.login-body input::placeholder{color:#191919 !important;font-family:inherit;font-size:initial !important;font-style:normal !important}.login-body input:-webkit-autofill{-webkit-text-fill-color:#191919}.close-sso-popup,.close-sso-message{color:#4c4c4c;cursor:pointer;font-size:22px;position:absolute;right:16px;text-align:right;top:12px;transition:.25s;z-index:1}.close-sso-popup:hover,.close-sso-message:hover{color:#1b1b1b;transition:.25s}.close-sso-message{position:static;border:none;background:none;padding:0}.overlay{background-color:rgba(0,0,0,0.8);bottom:0;cursor:pointer;display:none;height:100%;left:0;position:fixed;right:0;top:0;width:100%;z-index:2147483646}.overlay.active{display:block}.alert__popup{display:none}@keyframes slideInLeft{0%{-webkit-transform:translateX(-1000px);transform:translateX(-1000px);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(-1000px);transform:translateX(-1000px);opacity:0}}.field-with-checkbox{display:flex;gap:10px;margin-bottom:15px;width:100%}.field-with-checkbox input[type=checkbox]{-moz-appearance:none;-webkit-appearance:none;background:#fff;border:1px solid var(--accent-color);cursor:pointer;display:inline-block;flex-shrink:0;height:21px;margin-top:2px;outline:none;position:relative;transition:background 0.3s, border-color 0.3s, box-shadow 0.2s;vertical-align:top;width:21px}.field-with-checkbox input[type=checkbox].checkbox-themed{border:1px solid var(--buttons-color)}.field-with-checkbox input[type=checkbox]:checked::after{border:2px solid #fff;border-left:0;border-top:0;box-sizing:border-box;content:"";display:block;height:9px;left:7px;opacity:1;position:absolute;top:4px;transform:rotate(43deg);transition:transform .3s, opacity .2s;width:5px}.field-with-checkbox input[type=checkbox]:checked{background:var(--accent-color);transition:background 0.3s, border-color 0.3s, box-shadow 0.2s}.field-with-checkbox input[type=checkbox]:checked.checkbox-themed{background:var(--buttons-color)}.field-with-checkbox input[type=checkbox]:disabled{background-color:#F6F8FF;border-color:#9194a9;cursor:not-allowed;opacity:0.9}.field-with-checkbox input[type=checkbox]:disabled:checked{background-color:#BBC1E1}.field-with-checkbox input[type=checkbox]:hover:not(:checked):not(:disabled){border-color:var(--accent-color)}.field-with-checkbox input[type=checkbox]:hover:not(:checked):not(:disabled).checkbox-themed{border-color:var(--buttons-color)}.field-with-checkbox input[type=checkbox]+label{cursor:pointer;display:inline-block;margin-left:4px;vertical-align:top}.feedback-wrapper{display:flex;flex-direction:column;margin:0 5% 10px;height:auto;width:auto;max-width:90%;position:fixed;top:15px;z-index:2147483647}
2402@media (min-width: 48em){.feedback-wrapper{left:15px;margin:0;max-width:400px}}.feedback-message{align-items:center;animation-duration:1s;animation-fill-mode:both;animation-name:slideOutLeft;border-radius:5px;color:#3c4650;display:flex;font-family:var(--login-heading-font);font-size:17px;font-weight:600;gap:15px;height:auto;line-height:1;margin-bottom:5px;padding:10px 15px;visibility:visible}.feedback-message::before{align-items:center;border-radius:11px;color:#fff;display:flex;flex-shrink:0;font-family:'profile-icons';font-size:12px;height:30px;justify-content:center;width:30px}.feedback-message.active{animation-name:slideInLeft}.feedback-message.feedback-success{background:#eaf7ee;border:solid 2px #cae5d1}.feedback-message.feedback-success::before{background:#3cb95e url('data:image/svg+xml;utf8,<svg fill="White" id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="Icons"><polygon points="21.77 4.12 8.93 16.96 2.23 10.26 0 12.49 8.93 21.42 24 6.35 21.77 4.12"/></g></svg>') no-repeat center;background-size:12px 12px;content:'';height:30px;width:30px}.feedback-message.feedback-error{background:#fcede9;border:solid 2px #edc9c3}.feedback-message.feedback-error::before{background:#ed4f2c url('data:image/svg+xml;utf8,<svg fill="White" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23.92 23.92"><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M23.92,2.42,21.5,0,12,9.54,2.42,0,0,2.42,9.54,12,0,21.5l2.42,2.42L12,14.38l9.54,9.54,2.42-2.42L14.38,12Z"/></g></g></svg>') no-repeat center;background-size:12px 12px;content:'';height:30px;width:30px}.login-body *,.alert__popup *{box-sizing:border-box}.login-body{background:#f6f6f6;bottom:0;box-shadow:1px 1px 10px 3px rgba(0,0,0,0.1);display:none;left:0;letter-spacing:normal;margin:auto;min-height:100%;min-width:100%;overflow:auto;overflow:overlay;position:fixed;right:0;top:0;width:100vw;z-index:2147483646;pointer-events:auto}@media (min-width: 48em){.login-body{border-radius:10px;bottom:auto;height:auto;left:50%;max-height:95vh;max-height:95dvh;max-width:95vw;min-height:400px;min-width:540px;right:auto;top:50%;transform:translate(-50%, -50%);width:auto}}.login-body h4,.login-body button,.login-body label{font-size:unset;letter-spacing:unset;margin:unset;text-transform:unset}.login-body ul{margin:unset;padding:unset}.login-body span{font:normal 400 .9375rem var(--login-heading-font)}.login-body span a{cursor:pointer;text-decoration:none}.login-body span a:hover{text-decoration:underline}.login-body a{color:var(--accent-color);text-decoration:none}.login-body a:hover{text-decoration:underline}.login-body .btn{align-items:center;background:var(--accent-color);border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;font:normal 400 1.125rem var(--login-text-font);justify-content:center;margin:5px auto 15px;padding:12px 10px;position:relative;transition:0.3s;width:100%}.login-body .btn:hover{background:var(--accent-color);transition:0.3s}.login-body .btn:disabled{background-color:var(--accent-color);color:#fff;cursor:unset;opacity:0.4}.login-body .btn svg{fill:#fff;position:absolute;right:15px;width:20px}.login-body .hidden{display:none !important}.login-body.delete-account__popup-active .profile-wrapper{height:95vh;overflow:hidden}.login-body .login-form input::placeholder,.login-body .login-form input:not([type=submit]):not([type=checkbox])::placeholder,.login-body .login-register input::placeholder,.login-body .login-register input:not([type=submit]):not([type=checkbox])::placeholder{color:#565656 !important;opacity:1}.password-requirements{color:#878787;font-family:var(--login-heading-font);font-size:.9375rem;font-weight:600;margin:10px 0 15px;padding-left:5px}.password-requirements__title{font-weight:600;margin:0 0 5px}.password-requirements__list{list-style:none;padding-left:0}.password-requirements__list-item{align-items:center;display:flex;padding-left:15px;position:relative}.password-requirements__list-item::before{background:#8d8d8d;border-radius:100%;content:'';display:block;height:5px;left:2px;position:absolute;width:5px}.password-requirements__list-item.validation-success{color:#4c4c4c}.password-requirements__list-item.validation-success::before{background:transparent;border:2px solid var(--accent-color);border-left:0;border-radius:0;border-top:0;content:'';height:9px;opacity:1;transform:rotate(43deg);transition:transform 0.3s, opacity 0.2s;width:5px}.login-body__title,.login-profile h4{font:500 1.75rem var(--login-heading-font),sans-serif;margin:20px 0 10px;text-align:center}@media (min-height: 800px){.login-body__title,.login-profile h4{font-size:2rem}}
2402.login-body.sso-mj h1,.sso-mj .login-profile h4{font-size:1.5rem}@media (min-height: 800px){.login-body.sso-mj h1,.sso-mj .login-profile h4{font-size:1.75rem}}.login-profile h4{color:var(--accent-color);font-size:1.375rem;margin-bottom:20px;text-align:left}.login-logo{display:flex;fill:var(--logo-color);flex-shrink:0;height:auto;margin:10px auto 0;max-height:60px;max-width:180px;width:100%}@media (min-height: 800px){.login-logo{margin:25px auto 0;max-height:100px;max-width:240px}}.login-logo.logo-ww{max-width:240px}.login-logo.logo-magshop{max-height:60px}.login-logo.swimsuit-pwa-logo{max-width:330px}.login-request{color:#000;display:flex;flex-direction:column;padding:30px;width:100%}.login-request__register{font:normal 400 .9375rem var(--login-text-font);margin:10px auto 20px;text-align:center}.login-request__register a{text-decoration:none}.login-request__register a:hover{cursor:pointer;text-decoration:underline}.login-request .title--sign-up{display:none}.login-request span{margin:10px auto}.login-form{display:flex;flex-direction:column;margin-bottom:20px;margin-left:auto;margin-right:auto}@media (min-width: 48em){.login-form{padding-left:10px;padding-right:10px}}.login-form.recovery-code-form{margin-bottom:20px}.login-form.new-password-form{margin:24px 0}.login-form button:last-child{margin-bottom:0}.login-form label,.login-register label{font:normal 400 .9375rem var(--login-heading-font)}.login-form label[for='emailInputForgot'],.login-register label[for='emailInputForgot']{color:#696969;font-size:14px;font-weight:300;margin:20px 0 5px}.login-form label[for='codeInputReset'],.login-register label[for='codeInputReset']{color:#696969;font-weight:300;margin:10px 10px 12px;text-align:center}.login-form input,.login-form input:not([type=submit]):not([type=checkbox]),.login-register input,.login-register input:not([type=submit]):not([type=checkbox]){background-color:#fff;border:solid 1px #e0e0e0;border-radius:5px;color:#000;flex-grow:1;font:normal 400 1.0625rem var(--login-heading-font);margin-bottom:7px;margin-top:7px;padding:10px 40px 10px 10px}.login-form input:focus,.login-form input:not([type=submit]):not([type=checkbox]):focus,.login-register input:focus,.login-register input:not([type=submit]):not([type=checkbox]):focus{box-shadow:0 0 2px #b5b5b5}.login-form .forgot-password,.login-register .forgot-password{align-self:flex-start;margin:10px 0}.login-request,.login-register,.login-forgot{max-width:540px}.social-login{border-top:solid 1px #dadada;margin:15px 10px 0;padding:15px 0 30px}.social-login__title{font:normal 700 1rem var(--login-heading-font);margin:10px auto 20px;text-align:center}.social-login__legal{font:normal 400 .9375rem var(--login-text-font)}
2402.social-login .google-button,.social-login .facebook-button,.social-login .amazon-button,.social-login .apple-button{align-items:center;cursor:pointer;display:flex;gap:15px;justify-content:flex-start;min-height:46px;padding:5px}.social-login .google-button span,.social-login .facebook-button span,.social-login .amazon-button span,.social-login .apple-button span{margin:0}.social-login .google-button .social-logo,.social-login .facebook-button .social-logo,.social-login .amazon-button .social-logo,.social-login .apple-button .social-logo{max-width:36px;position:static}.social-login .google-button{background:#5383ec;transition:0.3s ease-in-out}.social-login .google-button:hover{background:#3f7ce8;color:white;transition:0.3s ease-in-out}.social-login .google-button .social-logo{background:#fff;box-sizing:content-box;padding:8px;width:20px}.social-login .facebook-button{background:#4267b2;transition:0.3s ease-in-out}.social-login .facebook-button:hover{background:#2955ad;color:white;transition:0.3s ease-in-out}.social-login .facebook-button .social-logo{fill:#4267B2;width:36px}.social-login .amazon-button{background:linear-gradient(to bottom, #f7dfa5, #f0c14b);border:1px solid #b38b22;color:black}.social-login .amazon-button:hover{background:linear-gradient(to bottom, #f5d78e, #eeb933);transition:0.3s ease-in-out}.social-login .amazon-button .social-logo{fill:#ffe8ab;width:30px}.social-login .apple-button{background-color:#000;color:#FFF;font-family:-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", "Arial", sans-serif;transition:0.3s ease-in-out}.social-login .apple-button:hover{background:#373737;transition:0.3s ease-in-out}.social-login .apple-button .social-logo{fill:#000000;width:30px}.terms-conditions-checkbox{align-items:center;display:flex;gap:10px;margin-bottom:5px;padding-left:10px;padding-right:10px}.terms-conditions-checkbox.terms-conditions-checkbox input{flex:0 0 20px;height:20px;margin:0;padding:5px 7px}.terms-conditions-checkbox.terms-conditions-checkbox input::after{height:13px;left:6px;top:1px;width:6px}.terms-conditions-checkbox label{font-size:.9375rem;line-height:1.2;margin:0}.login-form__terms-conditions{font:normal 400 1.125rem var(--login-heading-font);font-size:.9375rem;line-height:1.35;margin:0;max-width:400px}.sso-ww .login-form__terms-conditions,.sso-ffw .login-form__terms-conditions,.sso-sod .login-form__terms-conditions,.sso-bh .login-form__terms-conditions{font-size:.875rem}.login-register{color:#000;display:none;flex-direction:column;padding:30px;width:100%}.login-register .title--sign-in{display:none}.login-register span{margin:10px auto 20px}.login-registration-cta.login-registration-cta{color:#000;line-height:1.4;margin:15px auto 0;max-width:410px;padding-bottom:10px;position:relative;text-align:center}.login-registration-cta.login-registration-cta::after{background:#dadada;content:'';display:block;height:1px;margin:16px auto 0;width:220px}.already-have-acc{text-align:center}.login-forgot .already-have-acc{border-top:solid 1px #dcdcdc;display:block;margin:20px 10px 0;padding-top:20px}.already-have-acc a{color:var(--accent-color);text-decoration:underline}.screen-reader-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.login-form__social-acc{border-top:solid 1px #e5e5e5;font:normal 400 .9375rem var(--login-heading-font);padding-top:25px;text-align:center}.login-form__social-acc a{color:var(--accent-color);text-decoration:underline}.login-forgot{display:none;flex-direction:column;padding:20px;width:100%}@media (min-width: 48em){.login-forgot{padding:30px}}.login-forgot .login-logo{margin-bottom:10px}.login-forgot__notice{color:#696969;display:flex;gap:5px;text-align:left}.login-forgot__notice span{font-size:13px;font-weight:300;line-height:1.2}.login-forgot .login-forgot__step-1,.login-forgot .login-forgot__step-2,.login-forgot .login-forgot__step-3{display:none}.login-forgot .login-forgot__step-1.active,.login-forgot .login-forgot__step-2.active,.login-forgot .login-forgot__step-3.active{display:block}
2402.login-forgot .resend-code-btn{background-color:transparent;cursor:pointer;display:block;margin:0 auto;padding:0;text-align:center;width:auto}.login-forgot .resend-code-btn:hover{background-color:transparent;text-decoration:none}.login-forgot .resend-code-btn[disabled]{background-color:transparent;cursor:default}.login-forgot .resend-code-btn[disabled] span{color:#000}.login-forgot .resend-code-btn span{color:#252525;display:inline-block}.login-forgot .resend-code-btn span::after{border-bottom:solid 1px;content:'';display:block;height:1px}.login-forgot .recovery-code__wrapper{display:flex;gap:10px;justify-content:center;margin-bottom:10px}.login-forgot .recovery-code__input{height:42px;max-width:42px;text-align:center;width:42px}@media (min-width: 48em){.login-forgot .recovery-code__input{height:50px;max-width:50px;width:50px}}.login-forgot .recovery-code__input:not([type=submit]):not([type=checkbox]){padding:0}.login-forgot .recovery-code__input::-webkit-outer-spin-button,.login-forgot .recovery-code__input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:textfield;margin:0}.login-restore{display:none;flex-direction:column;padding:30px;width:100%}.login-restore span{text-align:center}.password-input-wrapper{display:flex;flex-direction:column;justify-content:center;position:relative}.view-password-button{cursor:pointer;height:20px;position:absolute;right:10px;top:20px;width:20px}.shopify-section .js-cognito-login{display:block;text-align:left;text-indent:-99999px}.shopify-section .magshop-intend{text-indent:unset}.shopify-section .user-account__signin-icon{display:block;height:26px}.shopify-section .cognito-account-link,.shopify-section .cognito-login-link{height:0;opacity:0;overflow:hidden;pointer-events:none;transition:0.25s}.shopify-section .cognito-account-link svg,.shopify-section .cognito-login-link svg{fill:#ff008f}.shopify-section .user-logged-in .cognito-account-link,.shopify-section .user-logged-out .cognito-login-link{height:auto;opacity:1;pointer-events:initial;transition:0.25s}.shopify-section .screen-reader-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.header__mid .icon_like .facl{display:block}.shopify-section .site-nav__magshop .site-nav__icons{display:flex;align-items:center}.shopify-section .site-nav__magshop .my-account{padding:0 0 2px}.shopify-section .site-nav__magshop .user-account__signin-icon{height:21px;fill:#0f0f0f}.shopify-section .site-nav__magshop .cognito-login-link{margin-top:2px}.shopify-section .site-nav__magshop .cognito-login-link .user-account__signin-icon{height:22px}@media (max-width: 768px){.js-cognito-login-desktop{display:none}.js-cognito-login-mobile{text-indent:0 !important}}@media (min-width: 469px){.js-cognito-login-mobile{display:none}} 2403 2404<!-- GREETER CSS END --> 2405</style> 2406 2407 2408<div class="overlay" id="profile-popup-overlay"></div> 2409<!-- Login error/success messages block--> 2410<div class="feedback-wrapper" id="feedback-wrapper"></div> 2411 2412<div class="alert__popup js-alertlifeandstyle"> 2413 <div class="alert__popup-inner"> 2414 <div class="alert__popup-header"> 2415 <svg class="icon logo-lifeandstyle" viewBox="0 0 544.2 144.4" width="112" height="30" fill="#f88db1"> 2416 <path d="M307.3 35.3c-2.9-9.5-8.3-13.2-17.2-13.2-6.3 0-13.9 1.8-13.9 10.5 0 8.2 8.8 10.1 14.5 11.3 8.2 2 19.1 4.2 26.1 9.5 8.4 6.2 13.3 16.1 13.1 26.5.1 10.7-4.4 20.9-12.4 28.1-8 7-19 10-29 10-18.8 0-34-10.4-40.4-31.9l16.5-3.5c2.9 11.8 14.4 15.1 24.8 15.1 6.7 0 16.8-4.1 16.8-13.4s-9.1-16-15.2-17.5c-9.9-2.3-33.4-10.4-35.6-29.6-1.5-13.5 4.3-22.1 8.8-26.3 7.3-6.9 15.9-9.2 25.1-9.2 17.5 0 31.8 6.9 37.9 26.3l-19.9 7.3z"/> 2417 <path d="M273.8 80.7c4.3 0 7.1-2.6 7.1-6.5 0-5.1-3.7-7.6-8-7.6-6.7 0-13.4 6.5-17.5 11.8l1.9 1.9c2.2-2.6 4.7-5 7.4-7.1.5-.5 1.1-.9 1.8-1.1.8 0 1.2.7 1.3 2.6.1.5.1 1 .2 1.7.6 2.7 3.1 4.5 5.8 4.3z" fill="#e93366"/> 2418 <path d="M222.1 105.8c-14.3 0-27.9-19-27.9-30.9 0-13.6 8.4-16.8 19.5-23.5C224 64.6 234.2 78.2 245.3 91c-6.4 8.1-11.5 14.8-23.2 14.8zm9.3-66.5c-6.1-8.5-17.3-22.5-14.2-28.2v-.3c2.2-4.6 6.8-7.5 13.1-7.5 10 0 17.6 6.2 17.6 17.2 0 9.2-8.3 13.9-16.5 18.8zm1.7 2.1c9.2-5.9 16.9-9.9 17.3-21.1.4-12.1-8.1-19.8-21.6-19.8-2.7-.1-5.4.2-8 .9-8.5 2.1-15.5 8.2-18.6 16.4-1 2.6-1.5 5.4-1.5 8.2 0 9.4 6.2 15.4 11.5 23.2-14.3 7.4-34.4 20.3-34.4 37.1 0 16.1 15.2 30.2 32.6 30.2 15.2 0 28.7-12.5 36.9-23.1 12.2 16.2 23 24.6 39 24.9 17.1.3 23.4-19.1 19.4-34.6.3 3.3-2 11.4-14 13.1-11.6 1.7-20.7-10.3-30.1-21.3l-1.6-1.9-.1-.1-1.7-2.4c-8.6-10.3-17-19-25.1-29.7z" fill="#ff0264"/> 2419 <path d="M322.3 51.4V32.2h13l1.9-24.4 18.7-1.6v26h15.9v19.1h-15.9v33c0 9.6 0 13.6 10.4 13.1l6.7-.3v18.1l-1.5.3c-4.1.6-8 1.5-12 1.5-6.1 0-14.3-1-19.1-5.4-6-5.6-6-15.5-6-23.7V51.4h-12.1zM423.3 110.2c-5.5 18.8-13.5 34.2-34.5 34.2l-10.5-1v-18.8l10.8 1.1c7.1 0 9.9-2.4 11.8-10.3l-27-83h23.2l14.2 51.4 13.6-51.4H447l-23.7 77.8zM449.5 3.3H471v112.1h-21.5zM522.6 63.8c-.4-9-3.1-17.3-12.4-17.3-9.5 0-13.1 7.8-13.9 17.3h26.3zM496.5 78l-.1 4.1c0 9.8 5 17.8 14.3 17.8 7.2-.1 13-5.9 13.1-13.1l19.9 1.6c0 4.1-8.6 28.6-33.7 28.6-22.2 0-36.6-17.3-36.6-42 0-24.5 13-44.3 36-44.3 11 0 21.2 5.6 27.2 14.7 6.1 9.5 7.7 21.2 7.6 32.5h-47.7v.1zM65.3 92.7v21.9H0V3.8h23.9v88.9zM90.4 114.6h-22v-82h22v82zm0-89.5h-22V2.2h22v22.9zM124.4 114.6h-22V51h-8.8V32.6h8.8c0-7.1-.3-15.7 3.4-21.8C110.9 2.6 120.9-.7 129.6.1l10.2 1v18.3l-7.5-.5c-7.9-.5-7.9 5-7.9 12v1.8h13.5v18.4h-13.5v63.5z"/> 2420 <path d="M185.3 63.6c-.4-8.9-3.1-17.1-12.7-17.1s-13.5 7.8-14.2 17.1h26.9zm-26.8 14-.1 4c0 9.7 5.1 17.6 14.7 17.6 6.7 0 13.5-5.3 13.5-12.9l20.4 1.6c0 4-8.8 28.3-34.6 28.3-22.8 0-37.6-17.1-37.6-41.5 0-24.2 13.3-43.8 37-43.8 10.6 0 21.6 5.2 27.8 14.5s7.9 21 7.8 32.1l-48.9.1z"/> 2421 </svg> 2422 </div> 2423 <i class="icon icon-close" id="alert__close-btn"></i> 2424 <h4 class="alert__title js-alert-title"></h4> 2425 <p class="alert__subtitle js-alert-subtitle"></p> 2426 <div class="alert__controls"> 2427 <button class="btn alert__cancel-btn js-alert-cancel">Cancel</button> 2428 <button class="btn alert__confirm-btn js-alert-confirm">OK</button> 2429 </div> 2430 </div> 2431</div> 2432 2433<div class="login-body sso-ls" id="login-body"> 2434 <!-- Popup close button--> 2435 <div class="close-sso-popup" id="profile-popup-close">â</div> 2436 <div class="profile-wrapper" id="profile"> 2437 <!-- Sidebar --> 2438 <div class="sidebar"> 2439 <div class="sidebar-wrapper"> 2440 <div id="sso-logo-wrapper"> 2441 <style>.sidebar-logo .st2 { fill: #000; }</style> 2442 <svg class="sidebar-logo logo-ls" viewBox="0 0 544.2 144.4"><style>.st2{fill:#fff;} .st3{fill:#e93366;}</style><path class="st2" d="M307.3,35.3c-2.9-9.5-8.3-13.2-17.2-13.2c-6.3,0-13.9,1.8-13.9,10.5c0,8.2,8.8,10.1,14.5,11.3 c8.2,2,19.1,4.2,26.1,9.5c8.4,6.2,13.3,16.1,13.1,26.5c0.1,10.7-4.4,20.9-12.4,28.1c-8,7-19,10-29,10c-18.8,0-34-10.4-40.4-31.9 l16.5-3.5c2.9,11.8,14.4,15.1,24.8,15.1c6.7,0,16.8-4.1,16.8-13.4s-9.1-16-15.2-17.5c-9.9-2.3-33.4-10.4-35.6-29.6 c-1.5-13.5,4.3-22.1,8.8-26.3c7.3-6.9,15.9-9.2,25.1-9.2c17.5,0,31.8,6.9,37.9,26.3L307.3,35.3z"/><path class="st3" d="M273.8,80.7c4.3,0,7.1-2.6,7.1-6.5c0-5.1-3.7-7.6-8-7.6c-6.7,0-13.4,6.5-17.5,11.8l1.9,1.9 c2.2-2.6,4.7-5,7.4-7.1c0.5-0.5,1.1-0.9,1.8-1.1c0.8,0,1.2,0.7,1.3,2.6c0.1,0.5,0.1,1,0.2,1.7C268.6,79.1,271.1,80.9,273.8,80.7z"/><path class="st3" d="M222.1,105.8c-14.3,0-27.9-19-27.9-30.9c0-13.6,8.4-16.8,19.5-23.5C224,64.6,234.2,78.2,245.3,91 C238.9,99.1,233.8,105.8,222.1,105.8z M231.4,39.3c-6.1-8.5-17.3-22.5-14.2-28.2v-0.3c2.2-4.6,6.8-7.5,13.1-7.5 c10,0,17.6,6.2,17.6,17.2C247.9,29.7,239.6,34.4,231.4,39.3L231.4,39.3z M233.1,41.4c9.2-5.9,16.9-9.9,17.3-21.1 c0.4-12.1-8.1-19.8-21.6-19.8c-2.7-0.1-5.4,0.2-8,0.9c-8.5,2.1-15.5,8.2-18.6,16.4c-1,2.6-1.5,5.4-1.5,8.2c0,9.4,6.2,15.4,11.5,23.2 l0,0c-14.3,7.4-34.4,20.3-34.4,37.1c0,16.1,15.2,30.2,32.6,30.2c15.2,0,28.7-12.5,36.9-23.1c12.2,16.2,23,24.6,39,24.9 c17.1,0.3,23.4-19.1,19.4-34.6c0.3,3.3-2,11.4-14,13.1c-11.6,1.7-20.7-10.3-30.1-21.3l-1.6-1.9l-0.1-0.1l-1.7-2.4 C249.6,60.8,241.2,52.1,233.1,41.4L233.1,41.4z"/><path class="st2" d="M322.3,51.4V32.2h13l1.9-24.4l18.7-1.6v26h15.9v19.1h-15.9v33c0,9.6,0,13.6,10.4,13.1l6.7-0.3v18.1l-1.5,0.3 c-4.1,0.6-8,1.5-12,1.5c-6.1,0-14.3-1-19.1-5.4c-6-5.6-6-15.5-6-23.7V51.4H322.3z"/><path class="st2" d="M423.3,110.2c-5.5,18.8-13.5,34.2-34.5,34.2l-10.5-1v-18.8l10.8,1.1c7.1,0,9.9-2.4,11.8-10.3l-27-83h23.2 l14.2,51.4l13.6-51.4H447L423.3,110.2z"/><rect x="449.5" y="3.3" class="st2" width="21.5" height="112.1"/><path class="st2" d="M522.6,63.8c-0.4-9-3.1-17.3-12.4-17.3c-9.5,
24420-13.1,7.8-13.9,17.3H522.6z M496.5,78l-0.1,4.1 c0,9.8,5,17.8,14.3,17.8c7.2-0.1,13-5.9,13.1-13.1l19.9,1.6c0,4.1-8.6,28.6-33.7,28.6c-22.2,0-36.6-17.3-36.6-42 c0-24.5,13-44.3,36-44.3c11,0,21.2,5.6,27.2,14.7c6.1,9.5,7.7,21.2,7.6,32.5h-47.7L496.5,78L496.5,78z"/><polygon class="st2" points="65.3,92.7 65.3,114.6 0,114.6 0,3.8 23.9,3.8 23.9,92.7 "/><path class="st2" d="M90.4,114.6h-22v-82h22V114.6z M90.4,25.1h-22V2.2h22V25.1z"/><path class="st2" d="M124.4,114.6h-22V51h-8.8V32.6h8.8c0-7.1-0.3-15.7,3.4-21.8c5.1-8.2,15.1-11.5,23.8-10.7l10.2,1v18.3l-7.5-0.5 c-7.9-0.5-7.9,5-7.9,12v1.8h13.5v18.4h-13.5C124.4,51.1,124.4,114.6,124.4,114.6z"/><path class="st2" d="M185.3,63.6c-0.4-8.9-3.1-17.1-12.7-17.1s-13.5,7.8-14.2,17.1H185.3z M158.5,77.6l-0.1,4 c0,9.7,5.1,17.6,14.7,17.6c6.7,0,13.5-5.3,13.5-12.9l20.4,1.6c0,4-8.8,28.3-34.6,28.3c-22.8,0-37.6-17.1-37.6-41.5 c0-24.2,13.3-43.8,37-43.8c10.6,0,21.6,5.2,27.8,14.5s7.9,21,7.8,32.1L158.5,77.6L158.5,77.6z"/></svg> 2443 </div> 2444 <div class="sidebar-title">Your account</div> 2445 <div class="account-menu__wrapper"> 2446 <ul class="account-menu"> 2447 <li class="account-menu__item active" data-target-tab="profile"><a href="#"><i class="icon icon-profile"></i> Account</a></li> 2448 <li class="account-menu__item mobile-hidden" data-target-tab="purchases"><a href="#"><i class="icon icon-purchase"></i>Purchase</a></li> 2449 <li class="account-menu__item" data-target-tab="favorite"><a href="#"><i class="icon icon-star"></i>Favorite</a></li> 2450 <li class="account-menu__item" data-target-tab="newsletter"><a id='sso-tab-news' href="#"><i class="icon icon-mail"></i>News</a></li> 2451 <li class="account-menu__item" data-target-tab="subscription"><a href="#"><i class="icon icon-magazine"></i><div class="mobile-hidden">Subscriptions</div><div class="mobile-only">Subs</div></a></li> 2452 <li class="account-menu__item" data-target-tab="addresses"><a href="#"><i class="icon icon-addresses"></i>Address</a></li> 2453 <li class="account-menu__item item__outer-link"><a href="https://www.appmagshop.us/" target="_blank"><i class="icon icon-books"></i><div><span class="mobile-hidden">Digital</span> Library</div></a></li> 2454 </ul> 2455 2456 <div class="account-controls mobile-hidden"> 2457 <a class="account-controls__btn" id='account-signout'><i class="icon icon-sign-out"></i>Sign Out</a> 2458 </div> 2459 </div> 2460 </div> 2461 2462 <div class="sidebar-footer"> 2463 <a href='https://www.mcclatchy.com/privacy-policy'>Privacy Policy</a> 2464 <a href='https://www.mcclatchy.com/terms-of-service'>Terms and Conditions</a> 2465 </div> 2466 </div> 2467 2468 <!-- Right column with user account details --> 2469 <div id="sso-profile-placeholder" class="account-info"> 2470 <!-- placeholder for profile HTML. Will load it dynamicly --> 2471 2472 </div> 2473 </div> 2474 2475<!-- Main login form block --> 2476<div class="login-request" id='login' style='display:none'> 2477 <svg class="lifeandstyle-logo login-logo" viewBox="0 0 544.2 144.4" width="112" height="30" fill="#f88db1"> 2478 <path d="M307.3 35.3c-2.9-9.5-8.3-13.2-17.2-13.2-6.3 0-13.9 1.8-13.9 10.5 0 8.2 8.8 10.1 14.5 11.3 8.2 2 19.1 4.2 26.1 9.5 8.4 6.2 13.3 16.1 13.1 26.5.1 10.7-4.4 20.9-12.4 28.1-8 7-19 10-29 10-18.8 0-34-10.4-40.4-31.9l16.5-3.5c2.9 11.8 14.4 15.1 24.8 15.1 6.7 0 16.8-4.1 16.8-13.4s-9.1-16-15.2-17.5c-9.9-2.3-33.4-10.4-35.6-29.6-1.5-13.5 4.3-22.1 8.8-26.3 7.3-6.9 15.9-9.2 25.1-9.2 17.5 0 31.8 6.9 37.9 26.3l-19.9 7.3z"/> 2479 <path d="M273.8 80.7c4.3 0 7.1-2.6 7.1-6.5 0-5.1-3.7-7.6-8-7.6-6.7 0-13.4 6.5-17.5 11.8l1.9 1.9c2.2-2.6 4.7-5 7.4-7.1.5-.5 1.1-.9 1.8-1.1.8 0 1.2.7 1.3 2.6.1.5.1 1 .2 1.7.6 2.7 3.1 4.5 5.8 4.3z" fill="#e93366"/> 2480 <path d="M222.1 105.8c-14.3 0-27.9-19-27.9-30.9 0-13.6 8.4-16.8 19.5-23.5C224 64.6 234.2 78.2 245.3 91c-6.4 8.1-11.5 14.8-23.2 14.8zm9.3-66.5c-6.1-8.5-17.3-22.5-14.2-28.2v-.3c2.2-4.6 6.8-7.5 13.1-7.5 10 0 17.6 6.2 17.6 17.2 0 9.2-8.3 13.9-16.5 18.8zm1.7 2.1c9.2-5.9 16.9-9.9 17.3-21.1.4-12.1-8.1-19.8-21.6-19.8-2.7-.1-5.4.2-8 .9-8.5 2.1-15.5 8.2-18.6 16.4-1 2.6-1.5 5.4-1.5 8.2 0 9.4 6.2 15.4 11.5 23.2-14.3 7.4-34.4 20.3-34.4 37.1 0 16.1 15.2 30.2 32.6 30.2 15.2 0 28.7-12.5 36.9-23.1 12.2 16.2 23 24.6 39 24.9 17.1.3 23.4-19.1 19.4-34.6.3 3.3-2 11.4-14 13.1-11.6 1.7-20.7-10.3-30.1-21.3l-1.6-1.9-.1-.1-1.7-2.4c-8.6-10.3-17-19-25.1-29.7z" fill="#ff0264"/> 2481 <path d="M322.3 51.4V32.2h13l1.9-24.4 18.7-1.6v26h15.9v19.1h-15.9v33c0 9.6 0 13.6 10.4 13.1l6.7-.3v18.1l-1.5.3c-4.1.6-8 1.5-12 1.5-6.1 0-14.3-1-19.1-5.4-6-5.6-6-15.5-6-23.7V51.4h-12.1zM423.3 110.2c-5.5 18.8-13.5 34.2-34.5 34.2l-10.5-1v-18.8l10.8 1.1c7.1 0 9.9-2.4 11.8-10.3l-27-83h23.2l14.2 51.4 13.6-51.4H447l-23.7 77.8zM449.5 3.3H471v112.1h-21.5zM522.6 63.8c-.4-9-3.1-17.3-12.4-17.3-9.5 0-13.1 7.8-13.9 17.3h26.3zM496.5 78l-.1 4.1c0 9.8 5 17.8 14.3 17.8 7.2-.1 13-5.9 13.1-13.1l19.9 1.6c0 4.1-8.6 28.6-33.7 28.6-22.2 0-36.6-17.3-36.6-42 0-24.5 13-44.3 36-44.3 11 0 21.2 5.6 27.2 14.7 6.1 9.5 7.7 21.2 7.6 32.5h-47.7v.1zM65.3 92.7v21.9H0V3.8h23.9v88.9zM90.4 114.6h-22v-82h22v82zm0-89.5h-22V2.2h22v22.9zM124.4 114.6h-22V51h-8.8V32.6h8.8c0-7.1-.3-15.7 3.4-21.8C110.9 2.6 120.9-.7 129.6.1l10.2 1v18.3l-7.5-.5c-7.9-.5-7.9 5-7.9 12v1.8h13.5v18.4h-13.5v63.5z"/> 2482 <path d="M185.3 63.6c-.4-8.9-3.1-17.1-12.7-17.1s-13.5 7.8-14.2 17.1h26.9zm-26.8 14-.1 4c0 9.7 5.1 17.6 14.7 17.6 6.7 0 13.5-5.3 13.5-12.9l20.4 1.6c0 4-8.8 28.3-34.6 28.3-22.8 0-37.6-17.1-37.6-41.5 0-24.2 13.3-43.8 37-43.8 10.6 0 21.6 5.2 27.8 14.5s7.9 21 7.8 32.1l-48.9.1z"/> 2483 </svg> 2484 <div class="login-body__title">Sign In</div> 2485 <div class="login-request__register">Need an account? <a id='show-sign-up' class='show-sign-up' role="button" name="Sign up now!" tabindex="0">Sign up now!</a></div> 2486 <div class="login-form__wrapper"> 2487 <form class="login-form" method=post> 2488 <label for="inputUsername" class="screen-reader-only">Email</label> 2489 <input type="text" id="inputUsername" class="js-validate-email" placeholder="Enter Email" name="username" required autofocus aria-label="Enter your email" aria-describedby="email-error_signin-form"> 2490 <span class="error-message error-message__email" id="email-error_signin-form" aria-live="assertive" role="alert"></span> 2491 <div class="password-input-wrapper"> 2492 <label for="inputPassword" class="screen-reader-only">Password</label> 2493 <input class="js-password js-validate-password" type="password" id="inputPassword" placeholder="Enter Password" name="password" required aria-label="Enter your password" aria-describedby="pass-error_login-form">
2494 <i class="view-password-button" tabindex="0" aria-live="assertive" role="button" name="Show or hide password" aria-pressed="false" onclick="inline.utility.showPassword( 'signin' )"></i> 2495 <span class="error-message error-message__password" id="pass-error_login-form" aria-live="assertive" role="alert"></span> 2496 </div> 2497 <span class="forgot-password" id="show-forgot-password"><a role="button" tabindex="0" name="Forgot password?">Forgot password?</a></span> 2498 <button type="submit" id="sign-in" class="btn js-submit-form" name="Sign In" disabled>Sign In 2499 <svg viewBox="0 0 96 96"><path d="M69.8437,43.3876,33.8422,13.3863a6.0035,6.0035,0,0,0-7.6878,9.223l30.47,25.39-30.47,25.39a6.0035,6.0035,0,0,0,7.6878,9.2231L69.8437,52.6106a6.0091,6.0091,0,0,0,0-9.223Z"/></svg> 2500 </button> 2501 <p class="login-form__terms-conditions">By clicking Sign In, you agree to our <a style='white-space: nowrap;' href='https://www.mcclatchy.com/terms-of-service'>Terms and Conditions</a> and that you have read our <a style='white-space: nowrap;' href='https://www.mcclatchy.com/privacy-policy'>Privacy Policy</a>.</p> 2502 </form> 2503 <div class="social-login"> 2504 <p class="social-login__title">Sign <b class="title--sign-in">In</b><b class="title--sign-up">Up</b> with your social account</p> 2505 2506 <button name="googleSignUpButton" onclick="inline.browser.socialNetworkAuth('Google');" class="btn google-button socialButton-customizable"> 2507 <svg class="social-logo" viewBox="0 0 256 262" preserveAspectRatio="xMidYMid"> 2508 <path d="M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027" fill="#4285F4"></path> 2509 <path d="M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1" fill="#34A853"></path> 2510 <path d="M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782" fill="#FBBC05"></path> 2511 <path d="M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251" fill="#EA4335"></path> 2512 </svg> 2513 <span>Continue with Google</span> 2514 </button> 2515 2516<!-- <button name="facebookSignUpButton" onclick="inline.browser.socialNetworkAuth('Facebook');"--> 2517<!-- class="btn facebook-button socialButton-customizable">--> 2518<!-- <svg class="social-logo" viewBox="0 0 216 216" color="#ffffff">--> 2519<!-- <path fill="#ffffff" d="--> 2520<!-- M204.1 0H11.9C5.3 0 0 5.3 0 11.9v192.2c0 6.6 5.3 11.9 11.9--> 2521<!-- 11.9h103.5v-83.6H87.2V99.8h28.1v-24c0-27.9 17-43.1 41.9-43.1--> 2522<!-- 11.9 0 22.2.9 25.2 1.3v29.2h-17.3c-13.5 0-16.2 6.4-16.2--> 2523<!-- 15.9v20.8h32.3l-4.2 32.6h-28V216h55c6.6 0 11.9-5.3--> 2524<!-- 11.9-11.9V11.9C216 5.3 210.7 0 204.1 0z"></path>--> 2525<!-- </svg>--> 2526<!-- <span>Continue with Facebook</span>--> 2527<!-- </button>--> 2528 2529<!-- 2530 <button name="amazonSignUpButton" onclick="inline.browser.socialNetworkAuth('LoginWithAmazon');" 2531 class="btn amazon-button socialButton-customizable"> 2532 <svg class="social-logo" viewBox="0 0 175 181" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink"> 2533 <defs></defs> 2534 <g fill-rule="evenodd"> 2535 <g fill="#000"> 2536 <path d="M153.507609,149.082589 C154.515676,148.678569 155.38932,148.577566 156.128569,148.779576 C156.867818,148.981586 157.237437,149.570773 157.237437,150.547154 C157.237437,151.523535 156.733411,152.651407 155.725344,153.930804 C154.851687,155.00819 153.373211,156.47274 151.289874,158.324498 C149.206536,160.176256 145.997572,162.465667 141.662886,165.192801 C137.3282,167.919936 132.590358,170.411354 127.449219,172.667132 C122.308079,174.922909 115.990957,176.875643 108.497662,178.525391 C101.004367,180.175138 93.2927738,181 85.3626502,181 C77.3653221,181 69.368114,179.956298 61.370786,177.868862 C53.3734579,175.781426 46.3506996,173.205837 40.3023002,170.14202 C34.2539008,167.078203 28.457605,163.57675 22.913239,159.637556 C17.3688729,155.698362 12.9166457,152.163241 9.5564238,149.032087 C6.19620193,145.900933 3.3736579,142.954999 1.08870702,140.194196 C0.551071524,139.588167 0.215054377,139.032648 0.0806455023,138.527623 C-0.0537633725,138.022598 -0.0201616578,137.
2536618584 0.181451654,137.315569 C0.383064967,137.012554 0.651878684,136.77688 0.987900871,136.608538 C1.32392306,136.440196 1.71034278,136.372861 2.14717162,136.406529 C2.58400046,136.440197 2.97042018,136.591703 3.30644237,136.861049 C16.2096944,144.739437 26.2902088,150.328295 33.548288,153.62779 C59.6908142,165.47904 86.5385842,168.509144 114.092404,162.718192 C126.861247,160.024726 139.999517,155.479571 153.507609,149.082589 Z"></path> 2537 <path d="M174.374483,137.467076 C175.113731,138.544462 175.197736,140.884376 174.626498,144.486886 C174.05526,148.089397 173.097611,151.540348 171.753523,154.839844 C169.468572,160.428785 166.612426,164.603595 163.185,167.364397 C162.042524,168.30711 161.16888,168.610121 160.56404,168.273437 C159.9592,167.936754 159.9592,167.128727 160.56404,165.84933 C161.975333,162.819181 163.470609,158.728541 165.049913,153.577288 C166.629218,148.426035 166.847629,145.109754 165.705153,143.628348 C165.369131,143.156992 164.848305,142.769812 164.142658,142.466797 C163.437011,142.163782 162.529765,141.961775 161.420892,141.86077 C160.312019,141.759765 159.320768,141.675596 158.44711,141.608259 C157.573453,141.540922 156.397393,141.540922 154.918895,141.608259 C153.440398,141.675596 152.381944,141.742931 151.743501,141.810268 C151.105059,141.877605 150.063406,141.978608 148.618511,142.113281 C147.
2537173615,142.247955 146.417577,142.31529 146.350372,142.31529 C145.947146,142.382627 145.510323,142.433129 145.039892,142.466797 C144.569461,142.500465 144.199842,142.534133 143.931025,142.567801 C143.662207,142.60147 143.376592,142.635137 143.074172,142.668806 C142.771752,142.702474 142.53654,142.719308 142.368529,142.719308 L141.360468,142.719308 C141.259661,142.719308 141.158856,142.702474 141.058049,142.668806 C140.957243,142.635137 140.890039,142.584636 140.856437,142.517299 L140.705228,142.214286 C140.302001,141.136899 141.881282,139.790187 145.443117,138.174107 C149.004952,136.558028 152.465929,135.547993 155.826151,135.143973 C158.917555,134.672617 162.54654,134.638949 166.713215,135.042969 C170.87989,135.446989 173.43362,136.255016 174.374483,137.467076 Z"></path> 2538 <path d="M134.656859,92.7220982 C134.656859,94.8095342 135.110482,96.9642746 136.017742,99.1863839 C136.925002,101.408493 138.000256,103.361227 139.243539,105.044643 C140.486821,106.728059 141.746885,108.276779 143.023769,109.690848 C144.300654,111.104918 145.40951,112.182288 146.350372,112.922991 L147.660852,114.03404 L124.777856,136.65904 C122.089678,134.167584 119.435143,131.625664 116.81417,129.033203 C114.193197,126.440742 112.244297,124.471175 110.967413,123.124442 L109.052096,121.104353 C108.312847,120.36365 107.472804,119.252612 106.531942,117.771205 C103.978174,121.744067 100.702006,125.195019 96.7033423,128.124163 C92.7046783,131.053307 88.4204597,133.191214 83.8505579,134.537946 C79.2806562,135.884679 74.5764161,136.659039 69.7376966,136.861049 C64.8989771,137.063059 60.2787414,136.356035 55.8768507,134.739955 C51.4749601,133.123876 47.5267586,130.918634 44.0321278,128.124163 C40.5374971,125.329692 37.7485548,121.525229 35.6652172,116.710658 C33.5818796,111.896088 32.5402265,106.425068 32.5402265,100.297433 C32.5402265,94.6411548 33.4810745,89.4563108 35.3627987,84.7427455 C37.244523,80.0291803 39.6638465,76.1068795 42.6208417,72.9757254 C45.5778369,69.8445714 49.1564196,67.0501425 53.3566969,64.5923549 C57.5569742,62.1345673 61.6731843,60.2155017 65.7054505,58.8351004 C69.7377168,57.4546992 74.1059397,56.2931595 78.8102503,55.3504464 C83.5145609,54.4077334 87.5299658,53.7848787 90.8565855,53.4818638 C94.1832051,53.1788489 97.5265758,52.9600081 100.886798,52.8253348 L100.886798,39.9977679 C100.886798,35.6208859 100.181162,32.3551075 98.7698684,30.2003348 C96.4849176,26.6314926 92.4191101,24.8470982 86.572324,24.8470982 C86.1690974,24.8470982 85.6146691,24.880766 84.9090225,24.9481027 C84.2033759,25.0154393 82.8425065,25.4194531 80.8263734,26.1601562 C78.8102402,26.9008594 76.9285442,27.89406 75.1812288,29.1397879 C73.4339135,30.3855159 71.5522174,32.3887511 69.5360843,35.1495536 C67.5199512,37.9103561 65.9070689,41.1424666 64.697389,44.8459821 L35.0603803,42.1188616 C35.0603803,38.0786628 35.799618,34.0721925 37.2781156,30.0993304 C38.7566133,26.1264682 41.0079281,22.3220048 44.0321278,18.6858259 C47.0563275,15.049647 50.6853127,11.8512043 54.9191923,9.09040179 C59.1530718,6.32959929 64.2437316,4.12435721 70.1913243,2.47460938 C76.138917,0.824861543 82.5400437,0 89.3948963,0 C96.11534,0 102.19725,0.841695452 107.64081,2.52511161 C113.084369,4.20852776 117.435791,6.27909857 120.695207,8.73688616 C123.954622,11.1946737 126.676361,13.9891026 128.860505,17.1202567 C131.044649,20.2514107 132.556726,23.1468431 133.396782,25.8066406 C134.236837,28.4664382 134.656859,30.9410228 134.656859,33.2304688 L134.656859,92.7220982 Z M66.9151244,94.843192 C66.9151244,100.634144 69.2672444,105.111963 73.971555,108.276786 C78.4070479,111.239598 83.0776862,111.98029 87.9836102,110.498884 C93.6287829,108.815468 97.4593784,104.674326 99.4755115,98.0753348 C100.416374,95.0451857 100.886798,91.6447361 100.886798,87.8738839 L100.886798,71.5111607 C96.9217358,71.645834 93.1919455,72.0498478 89.6973147,72.7232143 C86.202684,73.3965807 82.6241014,74.5244527 78.9614595,76.1068638 C75.2988177,77.689275 72.3754685,80.0796901 70.1913243,83.2781808 C68.0071801,86.4766715 66.9151244,90.3316367 66.9151244,94.843192 Z"></path> 2539 </g> 2540 </g> 2541 </svg> 2542 <span>Continue with Amazon</span> 2543 </button> 2544 --> 2545 2546 <button name="appleSignUpButton" 2547 onclick="inline.browser.socialNetworkAuth('SignInWithApple');" 2548 class="btn apple-button socialButton-customizable"> 2549
2550 <span><svg class="social-logo" viewBox="0 0 170 170" version="1.1"> 2551 <g fill-rule="evenodd"> 2552 <g fill="#fff"> 2553 <path d="m150.37 130.25c-2.45 5.66-5.35 10.87-8.71 15.66-4.58 6.53-8.33 11.05-11.22 13.56-4.48 4.12-9.28 6.23-14.42 6.35-3.69 0-8.14-1.05-13.32-3.18-5.197-2.12-9.973-3.17-14.34-3.17-4.58 0-9.492 1.05-14.746 3.17-5.262 2.13-9.501 3.24-12.742 3.35-4.929 0.21-9.842-1.96-14.746-6.52-3.13-2.73-7.045-7.41-11.735-14.04-5.032-7.08-9.169-15.29-12.41-24.65-3.471-10.11-5.211-19.9-5.211-29.378 0-10.857 2.346-20.221 7.045-28.068 3.693-6.303 8.606-11.275 14.755-14.925s12.793-5.51 19.948-5.629c3.915 0 9.049 1.211 15.429 3.591 6.362 2.388 10.447 3.599 12.238 3.599 1.339 0 5.877-1.416 13.57-4.239 7.275-2.618 13.415-3.702 18.445-3.275 13.63 1.1 23.87 6.473 30.68 16.153-12.19 7.386-18.22 17.731-18.1 31.002 0.11 10.337 3.86 18.939 11.23 25.769 3.34 3.17 7.07 5.62 11.22 7.36-0.9 2.61-1.85 5.11-2.86 7.51zm-31.26-123.01c0 8.1021-2.96 15.667-8.86 22.669-7.12 8.324-15.732 13.134-25.071 12.375-0.119-0.972-0.188-1.995-0.188-3.07 0-7.778 3.386-16.102 9.399-22.908 3.002-3.446 6.82-6.3113 11.45-8.597 4.62-2.2516 8.99-3.4968 13.1-3.71 0.12 1.0831 0.17 2.1663 0.17 3.2409z"></path> 2554 </g> 2555 </g> 2556</svg></span> 2557 <span>Continue with Apple</span> 2558 </button> 2559 2560 <p class="social-login__legal">We won't post to any of your accounts</p> 2561</div> 2562 </div> 2563</div> 2564 2565 <!-- Registration form block --> 2566 <div class="login-register" id='register' > 2567 <svg class="lifeandstyle-logo login-logo" viewBox="0 0 544.2 144.4" width="112" height="30" fill="#f88db1"> 2568 <path d="M307.3 35.3c-2.9-9.5-8.3-13.2-17.2-13.2-6.3 0-13.9 1.8-13.9 10.5 0 8.2 8.8 10.1 14.5 11.3 8.2 2 19.1 4.2 26.1 9.5 8.4 6.2 13.3 16.1 13.1 26.5.1 10.7-4.4 20.9-12.4 28.1-8 7-19 10-29 10-18.8 0-34-10.4-40.4-31.9l16.5-3.5c2.9 11.8 14.4 15.1 24.8 15.1 6.7 0 16.8-4.1 16.8-13.4s-9.1-16-15.2-17.5c-9.9-2.3-33.4-10.4-35.6-29.6-1.5-13.5 4.3-22.1 8.8-26.3 7.3-6.9 15.9-9.2 25.1-9.2 17.5 0 31.8 6.9 37.9 26.3l-19.9 7.3z"/> 2569 <path d="M273.8 80.7c4.3 0 7.1-2.6 7.1-6.5 0-5.1-3.7-7.6-8-7.6-6.7 0-13.4 6.5-17.5 11.8l1.9 1.9c2.2-2.6 4.7-5 7.4-7.1.5-.5 1.1-.9 1.8-1.1.8 0 1.2.7 1.3 2.6.1.5.1 1 .2 1.7.6 2.7 3.1 4.5 5.8 4.3z" fill="#e93366"/> 2570 <path d="M222.1 105.8c-14.3 0-27.9-19-27.9-30.9 0-13.6 8.4-16.8 19.5-23.5C224 64.6 234.2 78.2 245.3 91c-6.4 8.1-11.5 14.8-23.2 14.8zm9.3-66.5c-6.1-8.5-17.3-22.5-14.2-28.2v-.3c2.2-4.6 6.8-7.5 13.1-7.5 10 0 17.6 6.2 17.6 17.2 0 9.2-8.3 13.9-16.5 18.8zm1.7 2.1c9.2-5.9 16.9-9.9 17.3-21.1.4-12.1-8.1-19.8-21.6-19.8-2.7-.1-5.4.2-8 .9-8.5 2.1-15.5 8.2-18.6 16.4-1 2.6-1.5 5.4-1.5 8.2 0 9.4 6.2 15.4 11.5 23.2-14.3 7.4-34.4 20.3-34.4 37.1 0 16.1 15.2 30.2 32.6 30.2 15.2 0 28.7-12.5 36.9-23.1 12.2 16.2 23 24.6 39 24.9 17.1.3 23.4-19.1 19.4-34.6.3 3.3-2 11.4-14 13.1-11.6 1.7-20.7-10.3-30.1-21.3l-1.6-1.9-.1-.1-1.7-2.4c-8.6-10.3-17-19-25.1-29.7z" fill="#ff0264"/> 2571 <path d="M322.3 51.4V32.2h13l1.9-24.4 18.7-1.6v26h15.9v19.1h-15.9v33c0 9.6 0 13.6 10.4 13.1l6.7-.3v18.1l-1.5.3c-4.1.6-8 1.5-12 1.5-6.1 0-14.3-1-19.1-5.4-6-5.6-6-15.5-6-23.7V51.4h-12.1zM423.3 110.2c-5.5 18.8-13.5 34.2-34.5 34.2l-10.5-1v-18.8l10.8 1.1c7.1 0 9.9-2.4 11.8-10.3l-27-83h23.2l14.2 51.4 13.6-51.4H447l-23.7 77.8zM449.5 3.3H471v112.1h-21.5zM522.6 63.8c-.4-9-3.1-17.3-12.4-17.3-9.5 0-13.1 7.8-13.9 17.3h26.3zM496.5 78l-.1 4.1c0 9.8 5 17.8 14.3 17.8 7.2-.1 13-5.9 13.1-13.1l19.9 1.6c0 4.1-8.6 28.6-33.7 28.6-22.2 0-36.6-17.3-36.6-42 0-24.5 13-44.3 36-44.3 11 0 21.2 5.6 27.2 14.7 6.1 9.5 7.7 21.2 7.6 32.5h-47.7v.1zM65.3 92.7v21.9H0V3.8h23.9v88.9zM90.4 114.6h-22v-82h22v82zm0-89.5h-22V2.2h22v22.9zM124.4 114.6h-22V51h-8.8V32.6h8.8c0-7.1-.3-15.7 3.4-21.8C110.9 2.6 120.9-.7 129.6.1l10.2 1v18.3l-7.5-.5c-7.9-.5-7.9 5-7.9 12v1.8h13.5v18.4h-13.5v63.5z"/> 2572 <path d="M185.3 63.6c-.4-8.9-3.1-17.1-12.7-17.1s-13.5 7.8-14.2 17.1h26.9zm-26.8 14-.1 4c0 9.7 5.1 17.6 14.7 17.6 6.7 0 13.5-5.3 13.5-12.9l20.4 1.6c0 4-8.8 28.3-34.6 28.3-22.8 0-37.6-17.1-37.6-41.5 0-24.2 13.3-43.8 37-43.8 10.6 0 21.6 5.2 27.8 14.5s7.9 21 7.8 32.1l-48.9.1z"/> 2573 </svg> 2574 <div class="login-body__title" id="titleheader">Sign Up</div> 2575 <span class="login-registration-cta">Create a free account to access exclusive content, play games, solve puzzles, test your pop-culture knowledge and receive special offers.</span> 2576 <span class="already-have-acc">Already have an account? <a id="signin-already-have-account" class="signin-already-have-account" role="button" name="Login" tabindex="0">Login</a></span> 2577 <div class="login-form__wrapper"> 2578 <form class="login-form" method=post> 2579 2580 <label for="nameInputRegister" class="screen-reader-only">Name</label> 2581 <input type="text" class="form-control js-validate-name" id="nameInputRegister" placeholder="Name" pattern=".*" required aria-label="Enter Name" aria-describedby="name-error_signup-form"> 2582 <span class="error-message error-message__name" id="name-error_signup-form" aria-live="assertive" role="alert"></span> 2583 2584 <label for="emailInputRegister" class="screen-reader-only">Email</label> 2585 <input type="email" class="form-control js-validate-email" id="emailInputRegister" placeholder="Enter Email" pattern=".*" required aria-label="Enter your email" aria-describedby="email-error_signup-form"> 2586 <span class="error-message error-message__email" id="email-error_signup-form" aria-live="assertive" role="alert"></span> 2587 <div class="password-input-wrapper"> 2588 <label for="passwordInputRegister" class="screen-reader-only">Password</label> 2589 <input type="password" class="form-control js-validate-password js-password" id="passwordInputRegister" placeholder="Enter Password" pattern=".*" required aria-label="Enter your password" aria-describedby="pass-error_signup-form">
2590 <i class="view-password-button" tabindex="0" aria-live="assertive" role="button" name="Show or hide password" aria-pressed="false" onclick="inline.utility.showPassword( 'signup' )"></i> 2591 <span class="error-message error-message__password" id="pass-error_signup-form" aria-live="assertive" role="alert"></span> 2592 </div> 2593 <label for="confirmationpassword" class="screen-reader-only">Confirm Password</label> 2594 <input type="password" class="form-control js-password js-password-confirm" id="confirmationpassword" placeholder="Confirm Password" pattern=".*" required aria-label="Confirm entered password" aria-describedby="pass-confirm-error_signup-form"> 2595 <span class="error-message error-message__password-confirm" id="pass-confirm-error_signup-form" aria-live="assertive" role="alert"></span> 2596 <div class="password-requirements"> 2597 <p class="password-requirements__title">Your password must include:</p> 2598 <ul class="password-requirements__list"> 2599 <li class="password-requirements__list-item pswd-length">Min 8 characters</li> 2600 <li class="password-requirements__list-item pswd-lowercase">Min 1 lowercase character</li> 2601 <li class="password-requirements__list-item pswd-uppercase">Min 1 uppercase character</li> 2602 <li class="password-requirements__list-item pswd-number">Min 1 number</li> 2603 </ul> 2604 </div> 2605 <button id="mainbutton" class="btn btn-lg btn-primary btn-block js-submit-form" disabled="disabled" name="Sign Up">Sign Up</button> 2606 </form> 2607 </div> 2608 <div class="field-with-checkbox terms-conditions-checkbox"> 2609 <input type="checkbox" class="field-custom-checkbox" id="signUpAgree"> 2610 <label for="signUpAgree">I agree to the terms of the <a style='white-space: nowrap;' href='https://www.mcclatchy.com/terms-of-service'>Terms and Conditions</a>, <br>the <a style='white-space: nowrap;' href='https://www.mcclatchy.com/privacy-policy'>Privacy Policy</a> and receive emails from Life & Style</label> 2611 </div> 2612 <div class="social-login"> 2613 <p class="social-login__title">Sign <b class="title--sign-in">In</b><b class="title--sign-up">Up</b> with your social account</p> 2614 2615 <button name="googleSignUpButton" onclick="inline.browser.socialNetworkAuth('Google');" class="btn google-button socialButton-customizable"> 2616 <svg class="social-logo" viewBox="0 0 256 262" preserveAspectRatio="xMidYMid"> 2617 <path d="M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027" fill="#4285F4"></path> 2618 <path d="M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1" fill="#34A853"></path> 2619 <path d="M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782" fill="#FBBC05"></path> 2620 <path d="M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251" fill="#EA4335"></path> 2621 </svg> 2622 <span>Continue with Google</span> 2623 </button> 2624 2625<!-- <button name="facebookSignUpButton" onclick="inline.browser.socialNetworkAuth('Facebook');"--> 2626<!-- class="btn facebook-button socialButton-customizable">--> 2627<!-- <svg class="social-logo" viewBox="0 0 216 216" color="#ffffff">--> 2628<!-- <path fill="#ffffff" d="--> 2629<!-- M204.1 0H11.9C5.3 0 0 5.3 0 11.9v192.2c0 6.6 5.3 11.9 11.9--> 2630<!-- 11.9h103.5v-83.6H87.2V99.8h28.1v-24c0-27.9 17-43.1 41.9-43.1--> 2631<!-- 11.9 0 22.2.9 25.2 1.3v29.2h-17.3c-13.5 0-16.2 6.4-16.2--> 2632<!-- 15.9v20.8h32.3l-4.2 32.6h-28V216h55c6.6 0 11.9-5.3--> 2633<!-- 11.9-11.9V11.9C216 5.3 210.7 0 204.1 0z"></path>--> 2634<!-- </svg>--> 2635<!-- <span>Continue with Facebook</span>--> 2636<!-- </button>--> 2637 2638<!-- 2639 <button name="amazonSignUpButton" onclick="inline.browser.socialNetworkAuth('LoginWithAmazon');" 2640 class="btn amazon-button socialButton-customizable">
2641 <svg class="social-logo" viewBox="0 0 175 181" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink"> 2642 <defs></defs> 2643 <g fill-rule="evenodd"> 2644 <g fill="#000"> 2645 <path d="M153.507609,149.082589 C154.515676,148.678569 155.38932,148.577566 156.128569,148.779576 C156.867818,148.981586 157.237437,149.570773 157.237437,150.547154 C157.237437,151.523535 156.733411,152.651407 155.725344,153.930804 C154.851687,155.00819 153.373211,156.47274 151.289874,158.324498 C149.206536,160.176256 145.997572,162.465667 141.662886,165.192801 C137.3282,167.919936 132.590358,170.411354 127.449219,172.667132 C122.308079,174.922909 115.990957,176.875643 108.497662,178.525391 C101.004367,180.175138 93.2927738,181 85.3626502,181 C77.3653221,181 69.368114,179.956298 61.370786,177.868862 C53.3734579,175.781426 46.3506996,173.205837 40.3023002,170.14202 C34.2539008,167.078203 28.457605,163.57675 22.913239,159.637556 C17.3688729,155.698362 12.9166457,152.163241 9.5564238,149.032087 C6.19620193,145.900933 3.3736579,142.954999 1.08870702,140.194196 C0.551071524,139.588167 0.215054377,139.032648 0.0806455023,138.527623 C-0.0537633725,138.022598 -0.0201616578,137.618584 0.181451654,137.315569 C0.383064967,137.012554 0.651878684,136.77688 0.987900871,136.608538 C1.32392306,136.440196 1.71034278,136.372861 2.14717162,136.406529 C2.58400046,136.440197 2.97042018,136.591703 3.30644237,136.861049 C16.2096944,144.739437 26.2902088,150.328295 33.548288,153.62779 C59.6908142,165.47904 86.5385842,168.509144 114.092404,162.718192 C126.861247,160.024726 139.999517,155.479571 153.507609,149.082589 Z"></path> 2646 <path d="M174.374483,137.467076 C175.113731,138.544462 175.197736,140.884376 174.626498,144.486886 C174.05526,148.089397 173.097611,151.540348 171.753523,154.839844 C169.468572,160.428785 166.612426,164.603595 163.185,167.364397 C162.042524,168.30711 161.16888,168.610121 160.56404,168.273437 C159.9592,167.936754 159.9592,167.128727 160.56404,165.84933 C161.975333,162.819181 163.470609,158.728541 165.049913,153.577288 C166.629218,148.426035 166.847629,145.109754 165.705153,143.628348 C165.369131,143.156992 164.848305,142.769812 164.142658,142.466797 C163.437011,142.163782 162.529765,141.961775 161.420892,141.86077 C160.312019,141.759765 159.320768,141.675596 158.44711,141.608259 C157.573453,141.540922 156.397393,141.540922 154.918895,141.608259 C153.440398,141.675596 152.381944,141.742931 151.743501,141.810268 C151.105059,141.877605 150.063406,141.978608 148.618511,142.113281 C147.
2646173615,142.247955 146.417577,142.31529 146.350372,142.31529 C145.947146,142.382627 145.510323,142.433129 145.039892,142.466797 C144.569461,142.500465 144.199842,142.534133 143.931025,142.567801 C143.662207,142.60147 143.376592,142.635137 143.074172,142.668806 C142.771752,142.702474 142.53654,142.719308 142.368529,142.719308 L141.360468,142.719308 C141.259661,142.719308 141.158856,142.702474 141.058049,142.668806 C140.957243,142.635137 140.890039,142.584636 140.856437,142.517299 L140.705228,142.214286 C140.302001,141.136899 141.881282,139.790187 145.443117,138.174107 C149.004952,136.558028 152.465929,135.547993 155.826151,135.143973 C158.917555,134.672617 162.54654,134.638949 166.713215,135.042969 C170.87989,135.446989 173.43362,136.255016 174.374483,137.467076 Z"></path> 2647 <path d="M134.656859,92.7220982 C134.656859,94.8095342 135.110482,96.9642746 136.017742,99.1863839 C136.925002,101.408493 138.000256,103.361227 139.243539,105.044643 C140.486821,106.728059 141.746885,108.276779 143.023769,109.690848 C144.300654,111.104918 145.40951,112.182288 146.350372,112.922991 L147.660852,114.03404 L124.777856,136.65904 C122.089678,134.167584 119.435143,131.625664 116.81417,129.033203 C114.193197,126.440742 112.244297,124.471175 110.967413,123.124442 L109.052096,121.104353 C108.312847,120.36365 107.472804,119.252612 106.531942,117.771205 C103.978174,121.744067 100.702006,125.195019 96.7033423,128.124163 C92.7046783,131.053307 88.4204597,133.191214 83.8505579,134.537946 C79.2806562,135.884679 74.5764161,136.659039 69.7376966,136.861049 C64.8989771,137.063059 60.2787414,136.356035 55.8768507,134.739955 C51.4749601,133.123876 47.5267586,130.918634 44.0321278,128.124163 C40.5374971,125.329692 37.7485548,121.525229 35.6652172,116.710658 C33.5818796,111.896088 32.5402265,106.425068 32.5402265,100.297433 C32.5402265,94.6411548 33.4810745,89.4563108 35.3627987,84.7427455 C37.244523,80.0291803 39.6638465,76.1068795 42.6208417,72.9757254 C45.5778369,69.8445714 49.1564196,67.0501425 53.3566969,64.5923549 C57.5569742,62.1345673 61.6731843,60.2155017 65.7054505,58.8351004 C69.7377168,57.4546992 74.1059397,56.2931595 78.8102503,55.3504464 C83.5145609,54.4077334 87.5299658,53.7848787 90.8565855,53.4818638 C94.1832051,53.1788489 97.5265758,52.9600081 100.886798,52.8253348 L100.886798,39.9977679 C100.886798,35.6208859 100.181162,32.3551075 98.7698684,30.2003348 C96.4849176,26.6314926 92.4191101,24.8470982 86.572324,24.8470982 C86.1690974,24.8470982 85.6146691,24.880766 84.9090225,24.9481027 C84.2033759,25.0154393 82.8425065,25.4194531 80.8263734,26.1601562 C78.8102402,26.9008594 76.9285442,27.89406 75.1812288,29.1397879 C73.4339135,30.3855159 71.5522174,32.3887511 69.5360843,35.1495536 C67.5199512,37.9103561 65.9070689,41.1424666 64.697389,44.8459821 L35.0603803,42.1188616 C35.0603803,38.0786628 35.799618,34.0721925 37.2781156,30.0993304 C38.7566133,26.1264682 41.0079281,22.3220048 44.0321278,18.6858259 C47.0563275,15.049647 50.6853127,11.8512043 54.9191923,9.09040179 C59.1530718,6.32959929 64.2437316,4.12435721 70.1913243,2.47460938 C76.138917,0.824861543 82.5400437,0 89.3948963,0 C96.11534,0 102.19725,0.841695452 107.64081,2.52511161 C113.084369,4.20852776 117.435791,6.27909857 120.695207,8.73688616 C123.954622,11.1946737 126.676361,13.9891026 128.860505,17.1202567 C131.044649,20.2514107 132.556726,23.1468431 133.396782,25.8066406 C134.236837,28.4664382 134.656859,30.9410228 134.656859,33.2304688 L134.656859,92.7220982 Z M66.9151244,94.843192 C66.9151244,100.634144 69.2672444,105.111963 73.971555,108.276786 C78.4070479,111.239598 83.0776862,111.98029 87.9836102,110.498884 C93.6287829,108.815468 97.4593784,104.674326 99.4755115,98.0753348 C100.416374,95.0451857 100.886798,91.6447361 100.886798,87.8738839 L100.886798,71.5111607 C96.9217358,71.645834 93.1919455,72.0498478 89.6973147,72.7232143 C86.202684,73.3965807 82.6241014,74.5244527 78.9614595,76.1068638 C75.2988177,77.689275 72.3754685,80.0796901 70.1913243,83.2781808 C68.0071801,86.4766715 66.9151244,90.3316367 66.9151244,94.843192 Z"></path> 2648 </g> 2649 </g> 2650 </svg> 2651 <span>Continue with Amazon</span> 2652 </button> 2653 --> 2654 2655 <button name="appleSignUpButton" 2656 onclick="inline.browser.socialNetworkAuth('SignInWithApple');" 2657 class="btn apple-button socialButton-customizable"> 2658
2659 <span><svg class="social-logo" viewBox="0 0 170 170" version="1.1"> 2660 <g fill-rule="evenodd"> 2661 <g fill="#fff"> 2662 <path d="m150.37 130.25c-2.45 5.66-5.35 10.87-8.71 15.66-4.58 6.53-8.33 11.05-11.22 13.56-4.48 4.12-9.28 6.23-14.42 6.35-3.69 0-8.14-1.05-13.32-3.18-5.197-2.12-9.973-3.17-14.34-3.17-4.58 0-9.492 1.05-14.746 3.17-5.262 2.13-9.501 3.24-12.742 3.35-4.929 0.21-9.842-1.96-14.746-6.52-3.13-2.73-7.045-7.41-11.735-14.04-5.032-7.08-9.169-15.29-12.41-24.65-3.471-10.11-5.211-19.9-5.211-29.378 0-10.857 2.346-20.221 7.045-28.068 3.693-6.303 8.606-11.275 14.755-14.925s12.793-5.51 19.948-5.629c3.915 0 9.049 1.211 15.429 3.591 6.362 2.388 10.447 3.599 12.238 3.599 1.339 0 5.877-1.416 13.57-4.239 7.275-2.618 13.415-3.702 18.445-3.275 13.63 1.1 23.87 6.473 30.68 16.153-12.19 7.386-18.22 17.731-18.1 31.002 0.11 10.337 3.86 18.939 11.23 25.769 3.34 3.17 7.07 5.62 11.22 7.36-0.9 2.61-1.85 5.11-2.86 7.51zm-31.26-123.01c0 8.1021-2.96 15.667-8.86 22.669-7.12 8.324-15.732 13.134-25.071 12.375-0.119-0.972-0.188-1.995-0.188-3.07 0-7.778 3.386-16.102 9.399-22.908 3.002-3.446 6.82-6.3113 11.45-8.597 4.62-2.2516 8.99-3.4968 13.1-3.71 0.12 1.0831 0.17 2.1663 0.17 3.2409z"></path> 2663 </g> 2664 </g> 2665</svg></span> 2666 <span>Continue with Apple</span> 2667 </button> 2668 2669 <p class="social-login__legal">We won't post to any of your accounts</p> 2670</div> 2671 </div> 2672 2673<div class="login-forgot" id="forgot"> 2674 <div class="login-forgot__logo"> 2675 <svg class="login-logo" viewBox="0 0 544.2 144.4" width="112" height="30" fill="#f88db1"> 2676 <path d="M307.3 35.3c-2.9-9.5-8.3-13.2-17.2-13.2-6.3 0-13.9 1.8-13.9 10.5 0 8.2 8.8 10.1 14.5 11.3 8.2 2 19.1 4.2 26.1 9.5 8.4 6.2 13.3 16.1 13.1 26.5.1 10.7-4.4 20.9-12.4 28.1-8 7-19 10-29 10-18.8 0-34-10.4-40.4-31.9l16.5-3.5c2.9 11.8 14.4 15.1 24.8 15.1 6.7 0 16.8-4.1 16.8-13.4s-9.1-16-15.2-17.5c-9.9-2.3-33.4-10.4-35.6-29.6-1.5-13.5 4.3-22.1 8.8-26.3 7.3-6.9 15.9-9.2 25.1-9.2 17.5 0 31.8 6.9 37.9 26.3l-19.9 7.3z"/> 2677 <path d="M273.8 80.7c4.3 0 7.1-2.6 7.1-6.5 0-5.1-3.7-7.6-8-7.6-6.7 0-13.4 6.5-17.5 11.8l1.9 1.9c2.2-2.6 4.7-5 7.4-7.1.5-.5 1.1-.9 1.8-1.1.8 0 1.2.7 1.3 2.6.1.5.1 1 .2 1.7.6 2.7 3.1 4.5 5.8 4.3z" fill="#e93366"/> 2678 <path d="M222.1 105.8c-14.3 0-27.9-19-27.9-30.9 0-13.6 8.4-16.8 19.5-23.5C224 64.6 234.2 78.2 245.3 91c-6.4 8.1-11.5 14.8-23.2 14.8zm9.3-66.5c-6.1-8.5-17.3-22.5-14.2-28.2v-.3c2.2-4.6 6.8-7.5 13.1-7.5 10 0 17.6 6.2 17.6 17.2 0 9.2-8.3 13.9-16.5 18.8zm1.7 2.1c9.2-5.9 16.9-9.9 17.3-21.1.4-12.1-8.1-19.8-21.6-19.8-2.7-.1-5.4.2-8 .9-8.5 2.1-15.5 8.2-18.6 16.4-1 2.6-1.5 5.4-1.5 8.2 0 9.4 6.2 15.4 11.5 23.2-14.3 7.4-34.4 20.3-34.4 37.1 0 16.1 15.2 30.2 32.6 30.2 15.2 0 28.7-12.5 36.9-23.1 12.2 16.2 23 24.6 39 24.9 17.1.3 23.4-19.1 19.4-34.6.3 3.3-2 11.4-14 13.1-11.6 1.7-20.7-10.3-30.1-21.3l-1.6-1.9-.1-.1-1.7-2.4c-8.6-10.3-17-19-25.1-29.7z" fill="#ff0264"/> 2679 <path d="M322.3 51.4V32.2h13l1.9-24.4 18.7-1.6v26h15.9v19.1h-15.9v33c0 9.6 0 13.6 10.4 13.1l6.7-.3v18.1l-1.5.3c-4.1.6-8 1.5-12 1.5-6.1 0-14.3-1-19.1-5.4-6-5.6-6-15.5-6-23.7V51.4h-12.1zM423.3 110.2c-5.5 18.8-13.5 34.2-34.5 34.2l-10.5-1v-18.8l10.8 1.1c7.1 0 9.9-2.4 11.8-10.3l-27-83h23.2l14.2 51.4 13.6-51.4H447l-23.7 77.8zM449.5 3.3H471v112.1h-21.5zM522.6 63.8c-.4-9-3.1-17.3-12.4-17.3-9.5 0-13.1 7.8-13.9 17.3h26.3zM496.5 78l-.1 4.1c0 9.8 5 17.8 14.3 17.8 7.2-.1 13-5.9 13.1-13.1l19.9 1.6c0 4.1-8.6 28.6-33.7 28.6-22.2 0-36.6-17.3-36.6-42 0-24.5 13-44.3 36-44.3 11 0 21.2 5.6 27.2 14.7 6.1 9.5 7.7 21.2 7.6 32.5h-47.7v.1zM65.3 92.7v21.9H0V3.8h23.9v88.9zM90.4 114.6h-22v-82h22v82zm0-89.5h-22V2.2h22v22.9zM124.4 114.6h-22V51h-8.8V32.6h8.8c0-7.1-.3-15.7 3.4-21.8C110.9 2.6 120.9-.7 129.6.1l10.2 1v18.3l-7.5-.5c-7.9-.5-7.9 5-7.9 12v1.8h13.5v18.4h-13.5v63.5z"/> 2680 <path d="M185.3 63.6c-.4-8.9-3.1-17.1-12.7-17.1s-13.5 7.8-14.2 17.1h26.9zm-26.8 14-.1 4c0 9.7 5.1 17.6 14.7 17.6 6.7 0 13.5-5.3 13.5-12.9l20.4 1.6c0 4-8.8 28.3-34.6 28.3-22.8 0-37.6-17.1-37.6-41.5 0-24.2 13.3-43.8 37-43.8 10.6 0 21.6 5.2 27.8 14.5s7.9 21 7.8 32.1l-48.9.1z"/> 2681 </svg> 2682 </div> 2683 2684 <div class="login-forgot__content"> 2685 <!-- Step 1, where user enters his email --> 2686 <div class="login-forgot__step-1 active"> 2687 <div class="login-body__title" id="sso_forgot_your_pass">Forgot your password?</div> 2688 <div class="login-form__wrapper"> 2689 <form class="login-form" method=post> 2690 <label for="emailInputForgot">Enter your email to receive activation code.</label> 2691 <input type="email" class="form-control js-validate-email" id="emailInputForgot" placeholder="Enter Email" pattern=".*" required aria-label="Enter your email to receive activation code." aria-describedby="email-error_forgot-form"> 2692 <span class="error-message error-message__email" id="email-error_forgot-form" aria-live="assertive" role="alert"></span> 2693 <button id="buttonForgot" class="btn btn-lg btn-primary btn-block js-submit-form" disabled="disabled" type="submit" name="Reset Password">Reset Password</button> 2694 <div class="login-forgot__notice"> 2695 <span>*</span> 2696 <span>Please note that this form cannot be used to reset your Google <br>or Facebook password. Visit <a href='https://accounts.google.com/'>Google</a> or <a href=https://www.facebook.com/>Facebook</a> to do that.</span> 2697 </div> 2698 </form> 2699 </div> 2700 </div> 2701 2702 <!-- Step 2, where user enters 6-digit code, which comes to his email --> 2703 <div class="login-forgot__step-2"> 2704 <div class="login-body__title">Reset your password</div> 2705 <div class="login-form__wrapper"> 2706 <form class="login-form recovery-code-form" method=post> 2707 <label for="codeInputReset">An email has been sent to <span id=restoreEmail></span> with a<br> recovery code. Please enter it below:</label> 2708 <div class="recovery-code__wrapper"> 2709 <input type="number" min="0" max="9" maxlength="1" class="recovery-code__input" autocomplete="off" aria-label="Validation Code"> 2710 <input type="number" min="0" max="9" maxlength="1" class="recovery-code__input" autocomplete="off" aria-label="Validation Code"> 2711 <input type="number" min="0" max="9" maxlength="1" class="recovery-code__input" autocomplete="off" aria-label="Validation Code"> 2712 <input type="number" min="0" max="9" maxlength="1" class="recovery-code__input" autocomplete="off" aria-label="Validation Code"> 2713 <input type="number" min="0" max="9" maxlength="1" class="recovery-code__input" autocomplete="off" aria-label="Validation Code"> 2714 <input type="number" min="0" max="9" maxlength="1" class="recovery-code__input" autocomplete="off" aria-label="Validation Code"> 2715 </div> 2716 <button class="btn btn-lg btn-primary btn-block js-submit-form" type="submit" id='buttonRecoveryCode' disabled="disabled" name="Submit">Proceed</button> 2717 </form>
2718 <button class="btn resend-code-btn" id="resend-code-btn"><span>Resend code</span></button> 2719 </div> 2720 </div> 2721 2722 <!-- User enters his new password --> 2723 <div class="login-forgot__step-3"> 2724 <div class="login-body__title">Enter new password</div> 2725 <form class="login-form new-password-form" method=post> 2726 <label for="passwordReset" class="screen-reader-only">Enter new password</label> 2727 <div class="password-input-wrapper"> 2728 <input type="password" class="form-control js-validate-password js-password" id="passwordReset" placeholder="Enter Password" pattern=".*" required aria-label="Password" aria-describedby="pass-error_login-forgot"> 2729 <i class="view-password-button" tabindex="0" aria-live="assertive" role="button" name="Show or hide password" aria-pressed="false" onclick="inline.utility.showPassword( 'reset' )"></i> 2730 <span class="error-message error-message__password" id="pass-error_login-forgot" aria-live="assertive" role="alert"></span> 2731 </div> 2732 <label for="confirmPasswordReset" class="screen-reader-only">Confirm Password</label> 2733 <input type="password" class="form-control js-password js-password-confirm" id="confirmPasswordReset" placeholder="Confirm Password" pattern=".*" required aria-label="Confirm entered password" aria-describedby="pass-confirm-error_forgot-form"> 2734 <span class="error-message error-message__password-confirm" id="pass-confirm-error_forgot-form" aria-live="assertive" role="alert"></span> 2735 2736 <div class="password-requirements"> 2737 <p class="password-requirements__title">Your password must include:</p> 2738 <ul class="password-requirements__list"> 2739 <li class="password-requirements__list-item pswd-length">Min 8 characters</li> 2740 <li class="password-requirements__list-item pswd-lowercase">Min 1 lowercase character</li> 2741 <li class="password-requirements__list-item pswd-uppercase">Min 1 uppercase character</li> 2742 <li class="password-requirements__list-item pswd-number">Min 1 number</li> 2743 </ul> 2744 </div> 2745 <button id="buttonRestore" class="btn btn-lg btn-primary btn-block js-submit-form" type="submit" disabled="disabled" name="Submit">Submit</button> 2746 </form> 2747 </div> 2748 2749 <span class="already-have-acc">Or get back to the <a id="signin-go-back" class="signin-go-back" role="button" name="Sign In" tabindex="0">Sign In</a></span> 2750 </div> 2751</div> 2752</div>
2753<script> 2754 2755 2756 2757 <!-- INLINE JS START --> 2758 var inline;!function(){var e={317:function(e){e.exports=XMLHttpRequest}},o={};function t(n){var s=o[n];if(void 0!==s)return s.exports;var r=o[n]={exports:{}};return e[n](r,r.exports,t),r.exports}t.d=function(e,o){for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]})},t.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};!function(){"use strict";t.r(n),t.d(n,{browser:function(){return e},greeter:function(){return i},prompt:function(){return o},ssoBroker:function(){return r},state:function(){return c},utility:function(){return a}});var e={is3rdPartyCookieSet(){return!!localStorage.getItem(a.getPrefix()+"3rd_party_cookie")},set3rdPartyCookie(e){this.setLocalStorageItem(a.getPrefix()+"3rd_party_cookie",e,31536e3)},get3rdPartyCookie(){return this.getLocalStorageItem(a.getPrefix()+"3rd_party_cookie")},socialNetworkAuth(e){console.log("AA1 socialNetworkAuth",e);let o=window._cognito.ssoServer+"/?back_to="+window.location.protocol+"//"+window.location.host+"/";window._cognito.is_shopify||this.get3rdPartyCookie()||(o+="?sso_login");const t=encodeURIComponent(o),n=window._cognito.poolUrl+"/oauth2/authorize?identity_provider="+e+"&redirect_uri="+t+"&response_type=CODE&client_id="+window._cognito.clientId+"&scope=aws.cognito.signin.user.admin email openid profile";if("/"!==location.pathname){const e=location.protocol+"//"+location.host+location.pathname;console.log("AA2 socialNetworkAuth setting back url to ",e),localStorage.setItem(a.getPrefix()+"ipa",e),window.location.href=n}else console.log("AA3 socialNetworkAuth",n),window.location.href=n;return!0},getTokenFromLocalStorage(){const e=window.localStorage.getItem(a.getPrefix()+"accessToken"),o=window.localStorage.getItem(a.getPrefix()+"refreshToken");return"null"==e||null==e||"null"==o||null==o?{accessToken:null,refreshToken:null,idToken:null}:{accessToken:e,refreshToken:o,idToken:window.localStorage.getItem(a.getPrefix()+"idToken")}},setLocalStorageItem(e,o,t){if(-1==e.indexOf("3rd_party_cookie")&&-1==e.indexOf("consent")&&-1==e.indexOf("a360-non_commerce-variant")&&-1==e.indexOf("a360-spanish-variant")&&-1==e.indexOf("a360-commerce-variant")&&-1==e.indexOf("a360-recipe-variant")&&!this.isConsent())return void console.log("AA refusing to store "+e+" because there is no consent");const n={value:o,expiry:t?Date.now()+1e3*t:null};localStorage.setItem(e,JSON.stringify(n))},getLocalStorageItem(e){let o=localStorage.getItem(e);return o?(o=JSON.parse(o),o.expiry&&Date.now()>o.expiry?(localStorage.removeItem(e),null):o.value):null},removeLocalStorageItem(e){localStorage.removeItem(e)},setUserInLocalStorage(e){this.isConsent()?window.localStorage.setItem(a.getPrefix()+"user",JSON.stringify(e)):console.log("AA refusing to store user in ls because there is no consent",window.OnetrustActiveGroups)},getUserFromLocalStorage(){const e=window.localStorage.getItem(a.getPrefix()+"user");return e?JSON.parse(e):null},setTokenInLocalStorage(e,o,t){if(!this.isConsent())return void console.log("AA refusing to store tokens in ls because there is no consent",window.OnetrustActiveGroups);const n="cognito_"+window._cognito.clientId+"_";if(window.localStorage.setItem(n+"accessToken",e),window.localStorage.setItem(n+"refreshToken",o),window.localStorage.setItem(n+"idToken",t),t&&"undefined"!==t){console.log("AA viafoura broadcasting 'id_token_defined' event");const e=new CustomEvent("id_token_defined",{detail:{idToken:t}});document.dispatchEvent(e)}},hasSSO(){return!!localStorage.getItem("cognito_"+window._cognito.clientId+"_last")},setLastInLocalStorage(e){const o="cognito_"+window._cognito.clientId+"_last";if(!e)return console.log("AA removing 'last' from local storage"),void window.localStorage.removeItem(o);this.isConsent()?window.localStorage.setItem(o,e):console.log("AA refusing to store 'last' in ls because there is no consent",window.OnetrustActiveGroups)},removeTokens(){const e=a.getPrefix();["accessToken","refreshToken","idToken","user","synced","subscriptions","3rd_party_cookie","celebs","shows"].forEach((o=>localStorage.removeItem(e+o)))},isLoggedIn(){return null!==this.getTokenFromLocalStorage().accessToken},getCookieByName(e){const o=document.cookie.split(";");for(const t of o){const o=t.trim();if(o.startsWith(e+"="))return o.substring(e.length+1)}return null},isCM(){return["firstforwomen"].some((e=>window.location.hostname.includes(e)))},isOsano(){return window.location.hostname.includes("bargainhunter")},isOsanoNoFilters(){return!!document.body.classList.contains("ami-osano")&&["usmagazine","lifeandstylemag","womansworld","soapoperadigest"].some((e=>window.location.hostname.includes(e)))},isConsent(){return!!this.isOsanoNoFilters()||!!window._cognito.is_shopify||!(!window.location.href.includes("/digital-editions/")&&!window.location.href.includes("/library/si-swim/"))||(this.isCM()||this.isOsano()?this.havePurposeStorageConsent():!!window.OnetrustActiveGroups&&window.OnetrustActiveGroups.includes(",C0003,"))},havePurposeStorageConsent_v2(){const e=window.cmpConsentPurposes;return void 0!==e&&"string"==typeof e&&e.includes(",1,")},hasTargetingConsent_v2(){if(!window.cmpConsentPurposes)return!1;for(let e=2;e<=11;e++)if(!window.cmpConsentPurposes.includes(","+e+","))return!1;return!0},havePurposeStorageConsent(){let e=this.getLocalStorageItem(a.getPrefix()+"consent");return!(!e||e.length<2)&&e[0]},hasTargetingConsent(){let e=this.getLocalStorageItem(a.getPrefix()+"consent");return!(!e||e.length<2)&&e[1]},saveTCFConsent(){const e=(window.cmpConsentPurposes||"").split(",").filter(
2758Boolean).map(Number),o=e.includes(1);let t=!0;for(let o=2;o<=11;o++)if(!e.includes(o)){t=!1;break}const n=[o,t];console.log("AA TCF saveTCFConsent",n),this.setLocalStorageItem(`${a.getPrefix()}consent`,n,31536e3)},saveOsanoConsent(){const e=Osano.cm.getConsent(),o=["ACCEPT"===e.STORAGE,"ACCEPT"===e.MARKETING];console.log("AA TCF saveOsanoConsent",o),this.setLocalStorageItem(`${a.getPrefix()}consent`,o,31536e3)},saveTCFConsent_v1(e){const o=e?.purpose?.consents||{},t=o[1]||!1;let n=!0;for(let e=2;e<=11;e++)if(!o[e]){n=!1;break}const s=[t,n];console.log("AA TCF saveTCFConsent",s),this.setLocalStorageItem(`${a.getPrefix()}consent`,s,31536e3)}},o={popUp:function(){return document.querySelector(".alert__popup")},confirmBtn:function(){return document.querySelector(".alert__confirm-btn")},cancelBtn:function(){return document.querySelector(".alert__cancel-btn")},closePopUpBtn:function(){return document.getElementById("alert__close-btn")},popTitle:function(){return document.querySelector(".js-alert-title")},subTitle:function(){return document.querySelector(".js-alert-subtitle")},alertUsNow(o){o.addEventListener("click",(()=>{if(console.log("AA usNow 000"),!e.isLoggedIn())return console.log("AA usNow 1"),void window.open("https://"+window._cognito.shopifyStore);this.popTitle().textContent="You are leaving "+window.location.hostname+" for UsNow",this.subTitle().textContent="Do you want to be automatically logged in there?",this.cancelBtn().textContent="No, thanks",this.confirmBtn().textContent="Yes, please",this.popUp().classList.add("active"),s()}));let t=e=>{const o=window._cognito.ssoServer+"?checkout="+encodeURIComponent("https://"+window._cognito.shopifyStore);e.preventDefault(),console.log("AA1.0 window.open with "+o),window.open(o,"_blank"),this.popUp().classList.remove("active")},n=e=>{e.preventDefault(),window.open("https://"+window._cognito.shopifyStore,"_blank"),this.popUp().classList.remove("active")},s=()=>{this.confirmBtn().addEventListener("click",t),this.cancelBtn().addEventListener("click",n)};this.closePopUpBtn().addEventListener("click",(()=>{this.popUp().classList.remove("active"),this.cancelBtn().removeEventListener("click",n),this.confirmBtn().removeEventListener("click",t)}))},customConfirm(e,o,t="OK",n="Cancel",s=!0){this.popTitle().textContent=e,this.subTitle().textContent=o,this.confirmBtn().textContent=t,this.cancelBtn().textContent=n,s&&this.closePopup();let r=this;return new Promise((e=>{function o(t){t.preventDefault(),r.popUp().classList.remove("active"),r.cancelBtn().removeEventListener("click",o),r.closePopUpBtn().removeEventListener("click",o),e(!1)}r.popUp().classList.add("active"),r.confirmBtn().addEventListener("click",(function t(n){n.preventDefault(),r.popUp().classList.remove("active"),r.confirmBtn().removeEventListener("click",t),r.closePopUpBtn().removeEventListener("click",o),e(!0)})),r.cancelBtn().addEventListener("click",o),r.closePopUpBtn().addEventListener("click",o)}))},customMessage(e="",o){this.popUp().classList.add("active"),this.cancelBtn().style.display="none",this.popTitle().textContent=e,this.subTitle().textContent=o;let t=this;return new Promise((e=>{function o(n){n.preventDefault(),t.cancelBtn().style.display="block",t.popUp().classList.remove("active"),t.confirmBtn().removeEventListener("click",o),t.closePopUpBtn().removeEventListener("click",o),e(!0)}t.confirmBtn().addEventListener("click",o),t.closePopUpBtn().addEventListener("click",o)}))},closePopup(){document.getElementById("login-body").style.display="none",document.body.style.overflow=""}},s={post(e,o={}){return new Promise(((n,s)=>{const r=t(317),i=new r;i.onreadystatechange=function(){i.readyState===r.DONE&&(200===this.status?(console.log(`AA XHR [${e}] HTTP[200]`),n(this.responseText)):(console.log(`AA XHR [${e}] HTTP[non-200] [${this.status}] [${this.statusText}]`),s(`Call to [${e}] failed with [${this.status}] [${this.statusText}]`)))},i.open("POST",window._cognito.ssoServer+"/"),i.withCredentials=!0,i.setRequestHeader("Content-Type","application/json");let a="";if(window.inline&&window.inline.browser){const e=window.inline.browser.getTokenFromLocalStorage();a=e?e.accessToken:""}const c={action:e,token:a,...o};i.send(JSON.stringify(c))}))},externalPost(e,o={}){return new Promise(((n,s)=>{const r=t(317),i=new r;i.onreadystatechange=function(){i.readyState===r.DONE&&(200===this.status?n(this.responseText):(console.log(`AA XHR HTTP[non-200] [${this.status}] [${this.statusText}]`),s(`Call failed with [${this.status}] [${this.statusText}]`)))},i.open("POST",e),i.setRequestHeader("Content-Type","application/json"),i.send(JSON.stringify(o))}))}},r={probe(){let o=this;console.log("AAP start SETTING probe cookie"),o.setProbe().then((function(t){console.log("AAP1 end SETTING probe cookie, success",t),console.log("AAP2 start GETTING probe cookie"),o.getProbe().then((function(o){console.log("AAP3 end GETTING probe cookie, success",o),e.set3rdPartyCookie(o.probe)})).catch((function(o){console.log("AAP3 end GETTING probe cookie, error",o),e.set3rdPartyCookie(!1)}))})).catch((e=>console.log("AAP3 end SETTING probe cookie, error",e)))}
2758,pullTokensFromCache(e){return console.log("AA SSOBroker.pullTokensFromCache by code: "+e),s.post("pullTokensFromCache",{code:e})},setTokensViaRedirect(o="",t="",n="",r="",i=!1){t&&!i&&e.setLastInLocalStorage(Math.floor(Date.now()/1e3));let a=[];window.location.href.includes("/library/si-swim/")?(console.log("AA PWA SI: no 3rd party, setting cookie via redirect. setting 'redirecing' flag"),inline.state.redirecting_pwa=!0):o&&o&&a.push("sso_msg="+o),r||(r=window.location.href),(r=r.split("?")[0]).endsWith("viafoura-comments")&&(console.log("AA setTokensViaRedirect: dropping viafoura-comments from the end of the back_to",r),r=r.slice(0,-17)),r=r.replace(/#/g,""),a.length&&(r+=encodeURIComponent("?"+a.join("&")));let c=window._cognito.ssoServer+"?sso=set";c=c+"&back_to="+r,i&&(c+="&last=remove"),console.log("AA setting tokens via redirect",c),s.post("pushTokensToCache",{accessToken:t,refreshToken:n}).then((e=>{console.log("AA SSBroker.setTokensViaRedirect pushed tokens to remote memcache, got code back "+e+", redirecting to",c+"&auth_code="+e),window.location.href=c+"&auth_code="+e})).catch((e=>{console.log("AA setting tokens via redirect on remote memcache",e)}))},getTokensViaRedirect(){let e=window.location.href.split("?")[0];e.endsWith("viafoura-comments")&&(console.log("AA getTokensViaRedirect: dropping viafoura-comments from the end of the back_to",e),e=e.slice(0,-17)),e=e.replace(/#/g,"");let o=window._cognito.ssoServer+"?sso=get&back_to="+e;console.log("AA getting tokens via redirect",o),window.location.href=o},async setProbe(){return new Promise((function(e,o){var n=new(t(317));n.open("POST",window._cognito.ssoServer+"/"),n.onload=function(){200==n.status?e(n.response):o({status:n.status,statusText:n.statusText})},n.onerror=function(){o({status:n.status,statusText:n.statusText})},n.withCredentials=!0,n.setRequestHeader("Content-Type","application/json"),n.send(JSON.stringify({action:"setProbe"}))}))},async getProbe(){return new Promise((function(e,o){var n=new(t(317));n.open("POST",window._cognito.ssoServer+"/"),n.onload=function(){if(200==n.status){if(!n.responseText)return console.log("AA2.0 SSBroker get no probe found, browser does not support 3rd party cookies"),void o({status:0,statusText:"Probe Not Found"});var t=JSON.parse(n.responseText);return""===t.probe?(console.log("AA2.1 SSBroker get no probe found, browser does not support 3rd party cookies"),void o({status:0,statusText:"Probe Not Found"})):(console.log("AA3 SSBroker get probe found (browser supports 3rd part cookie):"+t.probe),void e({probe:t.probe}))}console.log("AA4 SSBroker probe returned non-200 code: "+n.status+" "+n.statusText),o({status:n.status,statusText:n.statusText})},n.onerror=function(){console.log("AA5 SSBroker probe returned non-200 code: "+n.status+" "+n.statusText),o({status:n.status,statusText:n.statusText})},console.log("AAP0 sending get probe request"),n.open("POST",window._cognito.ssoServer+"/"),n.withCredentials=!0,n.setRequestHeader("Content-Type","application/json"),n.send(JSON.stringify({action:"getProbe"}))}))},async setTokenOnSSO(o=null,n=null,s=!1){if(e.isConsent())return!s&&o&&e.setLastInLocalStorage(Math.floor(Date.now()/1e3)),new Promise((function(e,r){var i=new(t(317));i.open("POST",window._cognito.ssoServer+"/"),i.onload=function(){200==i.status?e(i.response):r({status:i.status,statusText:i.statusText})},i.onerror=function(){r({status:i.status,statusText:i.statusText})},i.withCredentials=!0,i.setRequestHeader("Content-Type","application/json");const a={action:"set",accessToken:o,refreshToken:n};s&&(a.deleteEverLastingCookie=!0),i.send(JSON.stringify(a))}));console.log("AA refusing to store tokens on SSO server because there is no consent")},async getTokenFromSSO(){return new Promise((function(e,o){var n=new(t(317));n.open("POST",window._cognito.ssoServer+"/"),n.onload=function(){if(200==n.status){if(!n.responseText)return console.log("AA1 SSBroker get No Tokens Found"),void o({status:0,statusText:"Tokens Not Found"});var t=JSON.parse(n.responseText);return""!==t.accessToken&&t.accessToken?(console.log("AA3 SSBroker get Tokens Found!!!"),void e({accessToken:t.accessToken,refreshToken:t.refreshToken,last:t.last})):(console.log("AA2.1 SSBroker get No Tokens Found"),void o({status:0,statusText:"Tokens Not Found"}))}console.log("AA4 SSBroker returned non-200 code: "+n.status+" "+n.statusText),o({status:n.status,statusText:n.statusText})},n.onerror=function(){console.log("AA5 SSBroker returned non-200 code: "+n.status+" "+n.statusText),o({status:n.status,statusText:n.statusText})},n.open("POST",window._cognito.ssoServer+"/"),n.withCredentials=!0,n.setRequestHeader("Content-Type","application/json"),n.send(JSON.stringify({action:"get"}))}))}},i={populateFromBlueConicEmail(o){const t=document.getElementsByClassName("bcMedium textInput");if(t&&t.length>0){const n=t[0].value;n&&document.getElementById("emailInputRegister")&&(document.getElementById(o).value=n,e.setLocalStorageItem("BCDialogueCandidate",!0,300))}},showSignIn(e=!0){document.getElementById("login").style.display="flex",document.getElementById("profile").style.display="none",document.getElementById("login-body").style.display="flex",document.getElementById("register").style.display="none",document.getElementById("forgot").style.display="none",document.getElementById("profile").style.display="none",document.querySelector(".login-forgot__step-2").classList.remove("active"),document.querySelector(".login-forgot__step-3").classList.remove("active"),document.querySelector(".login-forgot__step-1").classList.add("active"),void 0!==this.populateFromBlueConicEmail?this.populateFromBlueConicEmail("inputUsername"):window.inline&&window.inline.greeter.populateFromBlueConicEmail("inputUsername"),e&&a.feedback(),a.showOverlay()},show(){if(e.isConsent())"showSignIn"!=window.cognito_popupOpener.name||e.get3rdPartyCookie()?window.cognito_popupOpener():r.getTokensViaRedirect();
2758else{const t='This website uses cookies in order to make the "Preference Center" section work. Please click the shield badge at the bottom left and consent to "Functional Cookies" to access your preferences and then reload this page.',n='This website uses cookies in order to make the "Preference Center" section work. Please click on the "Update Privacy Preferences" link at the bottom of the home page and consent to "Store and/or access information on a device" purpose to access your preferences.',s='This website uses cookies in order to make the "Preference Center" section work. Please click on the "Cookie Preferences" link at the bottom of the home page and consent to "Storage" purpose to access your preferences.',r=e.isCM()?n:e.isOsano()?s:t;o.customMessage(void 0,r).then((()=>{}))}},setLoginLink(e,o){window.cognito_isLoginLinkSet=!0,window._cognito.timeout&&clearTimeout(window._cognito.timeout),window.cognito_popupOpener=o,e&&document.body.classList.add("sso-logged-in"),document.querySelectorAll(".js-cognito-login").forEach((o=>{e?(o.classList.remove("user-logged-out"),o.classList.add("user-logged-in"),o.setAttribute("aria-label","Account")):(o.classList.remove("user-logged-in"),o.classList.add("user-logged-out"),o.setAttribute("aria-label","Login"))})),e&&window.cognito_user&&window.cognito_user.picture&&this.setAvatar(window.cognito_user.picture)},setAvatar(e){let o=e.replace("s96-c","s300-c"),t=document.getElementById("sso-logo-wrapper");t.classList.add("sso-user-avatar"),t.innerHTML="<img width='300' src='"+o+"'/>"},closeProfilePopup(){document.getElementById("login-body").style.display="none",document.body.style.overflow="",a.hideOverlay(),window._cognito.is_shopify&&"function"==typeof go_back_to_checkout&&go_back_to_checkout();const e=new CustomEvent("closeProfilePopup",{bubbles:!0,detail:{timestamp:Date.now()}});document.dispatchEvent(e)},showForgotPassword(){document.getElementById("login").style.display="none",document.getElementById("register").style.display="none",document.getElementById("forgot").style.display="flex",a.feedback()},showSignUp(){console.log("AA85 running inline.greeter.showSignUp()"),document.getElementById("profile").style.display="none",document.getElementById("login-body").style.display="flex",document.getElementById("login").style.display="none",document.getElementById("register").style.display="flex",a.feedback(),void 0!==this.populateFromBlueConicEmail?this.populateFromBlueConicEmail("emailInputRegister"):window.inline&&window.inline.greeter.populateFromBlueConicEmail("emailInputRegister"),a.showOverlay()},showRestorePassword(e){document.getElementById("login").style.display="none",document.getElementById("register").style.display="none",document.querySelector(".login-forgot__step-1").classList.remove("active"),document.querySelector(".login-forgot__step-2").classList.add("active"),document.querySelectorAll(".recovery-code__input").forEach((e=>e.value="")),document.getElementById("passwordReset").value="",document.getElementById("confirmPasswordReset").value="",document.getElementById("restoreEmail").innerHTML=e,a.feedback()}},a={showPassword(e){let o;switch(e){case"signin":o=document.querySelector("#inputPassword");break;case"signup":o=document.querySelector("#passwordInputRegister");break;case"reset":o=document.querySelector("#passwordReset")}let t=o.closest(".login-form"),n=t.querySelector(".view-password-button");if("password"===o.getAttribute("type")){let e=t.querySelectorAll(".js-password");for(let o of e)o.setAttribute("type","text");n.setAttribute("aria-pressed","true"),n.style.setProperty("--eye","none"),n.style.setProperty("--eye-crossed","block")}else{let e=t.querySelectorAll(".js-password");for(let o of e)o.setAttribute("type","password");n.setAttribute("aria-pressed","false"),n.style.setProperty("--eye","block"),n.style.setProperty("--eye-crossed","none")}},doze(e){var o=1e3*e,t=new Date,n=null;console.log((new Date).toLocaleTimeString()+" AA starting to doze for "+e);do{n=new Date}while(n-t<o);console.log((new Date).toLocaleTimeString()+" AA done dozing for "+e)},extractCognitoAttrName(e){return(e.match(/(.*)\{/)||[e])[1]},extractKey(e){return(e.match(/\{(.*)\}/)||[e])[1]},setInputValue(e,o){const t=document.getElementById(e);if(t)if("INPUT"===t.tagName)"checkbox"===t.getAttribute("type")?t.checked=!("Y"!==o&&"on"!==o):t.value=o;else if("SELECT"===t.tagName)for(let e=0;e<t.length;e++){let n=t[e];n&&n.value==o&&(n.selected=!0)}},setTextValue(e,o){const t=document.getElementById(e);t&&(t.innerText=o)},getPrefix(){return"cognito_"+window._cognito.clientId+"_"},feedback(e=null,o=!1){const t=document.getElementById("feedback-wrapper");if(null==e)return void(t.innerHTML="");let n={'"Incorrect username or password."':"Incorrect email or password.",'"Attributes updated."':"Your changes were saved",'"New password is set successfully"':"Your password was reset","Account Deleted":"Your account has been deleted","Enter a valid phone number":"Your changes were saved. Please note that we were unable to propagate phone number to Shopify account because of its restrictive phone number policies.","country - is required":"This service is available only in the U.S.","province is not val
2758id":"This service is available only in the U.S.","province - is not valid":"This service is available only in the U.S.","signature - has already been taken":"Sorry, something went wrong","base - Customer address cannot be blank.":"Customer address cannot be blank","address blank":"Customer address cannot be blank","address removed":"Address has been removed","address remove failed":"Address has not been removed due to error","unsubscribed all":"You have been unsubscribed from all subscriptions","Maximal address number":"The maximal address number is 5",InvalidParameterException:"One or more fields have an error. Please check and try again.",InvalidCreditCard:"Please fill in a correct payment card details",SubscriptionFailed79:"Something went wrong. Please contact Subscription Customer Service at [email protected].\nPlease be sure to include your full name, complete mailing address, and description of your inquiry/problem that youâre experiencing so that customer service is able to look up your subscription account file and assist you properly.",SubscriptionFailed80:"Something went wrong. Please contact Subscription Customer Service at [email protected].\nPlease be sure to include your full name, complete mailing address, and description of your inquiry/problem that youâre experiencing so that customer service is able to look up your subscription account file and assist you properly."},s=e;if("object"==typeof e&&(s=e.message||JSON.stringify(e)),s in n&&(s=n[s]),s.indexOf("TypeError")>-1)return void console.log("AA random TypeError message, ignoring",(new Error).stack);let a=document.createElement("span");if(a.classList.add("active","feedback-message"),a.innerHTML=s,o?a.classList.add("feedback-success"):a.classList.add("feedback-error"),setInterval((()=>{a.classList.remove("active"),setInterval((()=>{a.remove()}),1500)}),7e3),s.indexOf("Refresh Token has expired")>-1||s.indexOf("User does not exist")>-1||s.indexOf("Error Removing Account")>-1||window.location.href.indexOf("a360-force-logout")>-1)return window.location.href.indexOf("a360-force-logout")>-1?console.log("AAE Forcing logout because url is "+window.location.href):console.log("AAE Fatal error message, logging user out",s),inline.browser.get3rdPartyCookie()?(inline.browser.removeTokens(),r.setTokenOnSSO(null,null).then((e=>{console.log("AA tokens on sso server were forcefully removed "+e)})),i.setLoginLink(!1,i.showSignIn),void inline.greeter.showSignIn()):(inline.browser.removeTokens(),void r.setTokensViaRedirect());t.append(a)},updateSubmitButtonState(e){const o=e.querySelector(".js-submit-form");e.querySelectorAll(".error").length>0?o.setAttribute("disabled","disabled"):o.removeAttribute("disabled")},validatePassword(e){const o=e.querySelector(".js-validate-password"),t=e.querySelector(".password-requirements"),n=e.querySelector(".error-message__password");if(!o)return;let s=!1;const r=e=>e.length>=8,i=e=>/[a-z]/.test(e),a=e=>/[A-Z]/.test(e),c=e=>/[0-9]/.test(e),l=()=>{const l=o.value.trim();if(t){const o=e.querySelector(".pswd-length"),t=e.querySelector(".pswd-lowercase"),n=e.querySelector(".pswd-uppercase"),s=e.querySelector(".pswd-number");o.classList.toggle("validation-success",r(l)),t.classList.toggle("validation-success",i(l)),n.classList.toggle("validation-success",a(l)),s.classList.toggle("validation-success",c(l))}const d=r(l)&&i(l)&&a(l)&&c(l);s&&(d?(o.classList.remove("error"),n.textContent=""):(o.classList.add("error"),n.textContent="Password must be at least 8 characters long and contain at least one lowercase letter, one uppercase letter, and one digit."),this.updateSubmitButtonState(e))};o.addEventListener("input",(()=>{s&&l()})),o.addEventListener("blur",(()=>{s=!0,l()}))},validatePasswordMatch(e){const o=e.querySelector(".js-validate-password"),t=e.querySelector(".js-password-confirm");let n=e.querySelector(".error-message__password-confirm");if(!t)return;let s=!1;const r=()=>{const r=o.value.trim(),i=t.value.trim(),a=r===i&&i.length>0;s&&(a?(t.classList.remove("error"),n.textContent=""):(t.classList.add("error"),n.textContent="Passwords do not match."),this.updateSubmitButtonState(e))};t.addEventListener("input",(()=>{s&&r()})),t.addEventListener("blur",(()=>{s=!0,r()}))},validateEmail(e){const o=e.querySelector(".js-validate-email");let t=e.querySelector(".error-message__email");if(!o)return;let n=!1;const s=()=>{const s=(r=o.value,/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/.test(r));var r;n&&(s?(o.classList.remove("error"),t.textContent=""):(o.classList.add("error"),t.textContent="Please enter a valid email address."),this.updateSubmitButtonState(e))};o.addEventListener("input",(()=>{n&&s()})),o.addEventListener("blur",(()=>{n=!0,s()}))},validateNameField(e){const o=e.querySelector(".js-validate-name");let t=e.querySelector(".error-message__name");if(!o)return;let n=!1;const s=()=>
2758{const s=o.value.trim(),r=/^[a-zA-Z]+([-\s]?[a-zA-Z]+)*$/.test(s);n&&(r?(o.classList.remove("error"),t.textContent=""):(o.classList.add("error"),t.textContent="Please enter a valid name (letters, spaces, or hyphens only)."),this.updateSubmitButtonState(e))};o.addEventListener("input",(()=>{n&&s()})),o.addEventListener("blur",(()=>{n=!0,s()}))},showOverlay(){document.getElementById("profile-popup-overlay").classList.add("active"),document.body.classList.add("overlay-active"),["wheel","touchmove"].forEach((e=>{document.getElementById("login-body").addEventListener(e,this.stopWheelPropagation,!0)}))},hideOverlay(){document.getElementById("profile-popup-overlay").classList.remove("active"),document.body.classList.remove("overlay-active"),["wheel","touchmove"].forEach((e=>{document.getElementById("login-body").removeEventListener(e,this.stopWheelPropagation,!0)}))},stopWheelPropagation(e){e.stopPropagation()},subsGoToStep1(){document.querySelector(".subscriptions-wrapper").classList.remove("active-step-2")},subsGoToStep2(){document.querySelector(".subscriptions-wrapper").classList.add("active-step-2")},goToTab(e){document.querySelectorAll(".account-menu__item").forEach((e=>{e.classList.remove("active")})),document.querySelectorAll(".account-info__tab").forEach((e=>{e.classList.remove("active")})),document.querySelector(`[data-target-tab="${e}"]`).classList.add("active"),document.querySelector(`[data-tab="${e}"]`).classList.add("active")},openSubscriptionPlans(e,o="digital",t="US"){const n=document.getElementById("subscription-plans__list"),s=n.querySelectorAll(".subscription-plan"),r=n.querySelectorAll(`.subscription-plan[data-subscription-target="${e}-${o}-${t}"]`);s.forEach((e=>{e.classList.remove("visible"),e.querySelector("input").removeAttribute("checked")})),r.forEach(((e,o)=>{e.classList.add("visible"),0===o&&e.querySelector("input").setAttribute("checked","checked")})),inline.utility.subsGoToStep2()},openDigitalSubscriptionOptions(e=33){try{console.log("AA PWA openDigitalSubscriptionOptions 33"),this.showOverlay(),this.goToTab("subscription"),this.openSubscriptionPlans(e),document.getElementById("login-body").style.display="flex"}catch(e){console.log("AA PWA Trying to call openDigitalSubscription, something went wrong:",e)}}},c={return_url:!1,subsCurrentProductId:79,currentIssueRegion:"US",subsCurrentIssueBundleId:"",subsShippingAddress:"",subsBillingAddress:"",subsAddressesChanged:!1,onConsentChanged(e){setTargettingCookie(e.detail.includes("C0004"))}};if("#ipa"===window.location.hash||"#ipa_with_popup"===window.location.hash){if(history.pushState("",document.title,window.location.pathname+window.location.search),localStorage.getItem(a.getPrefix()+"ipa")){let e=localStorage.getItem(a.getPrefix()+"ipa");localStorage.removeItem(a.getPrefix()+"ipa"),console.log("AA4 socialNetworkAuth got back URL",e),"#ipa_with_popup"===window.location.hash&&(e+="#ipa_with_popup"),window.location.href=e}}else localStorage.removeItem(a.getPrefix()+"ipa");if(window._cognito.is_shopify=-1!==window.location.host.indexOf(".myshopify.com")||-1!==window.location.host.indexOf("usnow.com")||"magazineshop.us"==window.location.host||-1!==window.location.search.indexOf("is_shopify"),window.cognito_isLoginLinkSet=!1,window.location.search&&window.location.search.indexOf("sso_show_signin")>-1){console.log("AA LAST about to set"),window.location.search.indexOf("last")>-1&&(console.log("AA LAST setting to local storage"),e.setLastInLocalStorage(Math.floor(Date.now()/1e3)));let o=window.location.href.split("?")[0];history.pushState(null,null,o),document.body.classList.contains("single-games")||document.body.classList.contains("premium-template-post")?i.showSignUp():e.getLocalStorageItem(a.getPrefix()+"subsForceProductId")||i.showSignIn()}if(window.location.href.indexOf("sso_msg=")>-1){console.log("AA1 sso_msg",window.location.href);let e=new URLSearchParams(window.location.search).get("sso_msg"),o=window.location.href.split("?")[0];history.pushState(null,null,o),console.log("AA2 sso_msg",e),e&&(a.feedback(decodeURIComponent(e),!0),console.log("AA3 sso_msg"),"Account Created"==e&&i.setLoginLink(!0,i.showSignIn))}var l=window.localStorage.getItem("cognito_"+window._cognito.clientId+"_accessToken");if("null"==l&&(l=null),null===l)if(console.log("AAU0 js user logged in? "+(null!==l),(new Date).toLocaleTimeString()),window.location.search.indexOf("auth_code")>-1){const e=new URLSearchParams(window.location.search).get("auth_code");
2758r.pullTokensFromCache(e).then((o=>{let t=JSON.parse(o);if(console.log(`AA [head embedded code] exchanged code ${e} with tokens`,t),t.accessToken&&t.refreshToken){let o=t.accessToken,n=t.refreshToken;console.log(`AA2 [head embedded code] got tokens from remote cache by code ${e}`),window.localStorage.setItem("cognito_"+window._cognito.clientId+"_accessToken",o),window.localStorage.setItem("cognito_"+window._cognito.clientId+"_refreshToken",n),window.cognito_pop_account=!0}else console.log(`AA [head embedded code] error exchanging code with tokens ${e}`,t),d()})).catch((o=>{console.log(`AA3 [head embedded code] error exchanging code with tokens ${e}`,o),d()}));let o=window.location.href.split("?")[0];"#ipa"===window.location.hash&&(o+="#ipa_with_popup"),history.pushState(null,null,o)}else d();function d(){console.log("AAU01 js creating ssoBroker.getTokenFromSSO() promise and starting to wait on it",(new Date).toLocaleTimeString()),window.cognito_token_promise=r.getTokenFromSSO(),window.cognito_token_promise.then((o=>{o.last&&e.setLastInLocalStorage(o.last),localStorage.getItem(a.getPrefix()+"3rd_party_cookie")||r.getProbe().then((o=>{console.log("AAP3 end GETTING probe cookie, success",o),e.set3rdPartyCookie(o.probe)})).catch((o=>{console.log("AAP3 end GETTING probe cookie, error",o),e.set3rdPartyCookie(!1)}));let t=o.accessToken,n=o.refreshToken;if(!t)return console.log("AAU01 js wait for window.cognito_token_promise is over. Token NOT found",(new Date).toLocaleTimeString()),e.removeTokens(),void(window._sso_uid_reject&&window._sso_uid_reject({"reason:":"AAU07 wait is over"}));console.log("AAU02 inline.js token found",(new Date).toLocaleTimeString()),e.setTokenInLocalStorage(t,n)})).catch((o=>{console.log("AAU03 js token NOT found",(new Date).toLocaleTimeString(),o),localStorage.getItem(a.getPrefix()+"3rd_party_cookie")||r.getProbe().then((o=>{console.log("AAP03 end GETTING probe cookie, success",o),e.set3rdPartyCookie(o.probe)})).catch((o=>{console.log("AAP03 end GETTING probe cookie, error",o),e.set3rdPartyCookie(!1)})),e.removeTokens(),i.setLoginLink(!1,i.showSignIn),window._sso_uid_reject({"reason:":"AAU03 wait is over"})}))}document.addEventListener("DOMContentLoaded",(function(e){window._cognito.timeout=setTimeout((function(){window.cognito_isLoginLinkSet||i.setLoginLink(!1,i.showSignIn)}),1e3),window.cognito_popupOpener=i.showSignIn}))}(),inline=n}(); 2759 2760 document.addEventListener('DOMContentLoaded', () => { 2761 2762 setTimeout(() => { 2763 2764 //console.log("AA SSO init delayed for 0.5 second."); 2765 2766 var dashboard = document.createElement('script'); 2767 2768 let dashboard_path = '/sso-dashboard.js'; 2769 2770 dashboard.src = dashboard_path+"?v30f9455b14df028f0ed2f43e642ee8e06q"; 2771 2772 2773 document.head.appendChild(dashboard); 2774 2775 2776 }, 500); 2777 2778 }, false); 2779 <!-- INLINE JS END --> 2780</script>
2780 2781
2781<script type="text/html" id="tmpl-global-alert"> 2782 <div class="alert generic" data-alert="{{ data.id }}" id="alert"> 2783 <# if( data.url ) { #> 2784 <a href="{{ data.url }}" class="alert-link" target="_blank"> 2785 <# } #> 2786 <p class="alert-hed"> 2787 <span class="alert-hed-title">{{ data.text }}</span> 2788 <span class="alert-learn-more"> 2789 - Learn More <svg width="18" height="18" class="arrow-icon" viewBox="0 0 18 18"><path d="M18 9C18 6.61305 17.0518 4.32387 15.364 2.63604C13.6761 0.948212 11.3869 0 9 0C7.8181 0 6.64778 0.232792 5.55585 0.685084C4.46392 1.13738 3.47177 1.80031 2.63604 2.63604C1.80031 3.47177 1.13738 4.46392 0.685084 5.55585C0.232792 6.64778 4.76837e-07 7.8181 4.76837e-07 9C4.76837e-07 11.3869 0.948212 13.6761 2.63604 15.364C4.32387 17.0518 6.61305 18 9 18C10.1819 18 11.3522 17.7672 12.4442 17.3149C13.5361 16.8626 14.5282 16.1997 15.364 15.364C17.0518 13.6761 18 11.3869 18 9ZM3.6 8.1H10.8L7.65 4.95L8.928 3.672L14.256 9L8.928 14.328L7.65 13.05L10.8 9.9H3.6V8.1Z" fill="white"/></svg> 2790 </span> 2791 </p> 2792 <# if( data.url ) { #> 2793 </a> 2794 <# } #> 2795 <# if( data.iframe ) { #> 2796 <iframe src="{{ data.iframe }}" width="1" height="1" style="position:absolute;visibility:hidden"></iframe> 2797 <# } #> 2798 </div> 2799 </script>
2799 2800
2800<script type="text/javascript" id="wp-util-js-extra"> 2801/* <![CDATA[ */ 2802var _wpUtilSettings = {"ajax":{"url":"/wp-admin/admin-ajax.php"}}; 2803//# sourceURL=wp-util-js-extra 2804/* ]]> */ 2805</script>
vendor: 1 bytes, line 2805
2805
2806<script type="text/javascript" id="main-js-js-extra"> 2807/* <![CDATA[ */ 2808var ajaxurl = "/wp-admin/admin-ajax.php"; 2809var obj = {"templateUrl":"https://www.lifeandstylemag.com/wp-content/themes/ami-bauer","restEndpoint":"https://www.lifeandstylemag.com/wp-json/ami/v1/"}; 2810//# sourceURL=main-js-js-extra 2811/* ]]> */ 2812</script>
vendor: 1 bytes, line 2812
2812
2813<script type="text/javascript" src="https://www.lifeandstylemag.com/_static/??/wp-includes/js/underscore.min.js,/wp-includes/js/wp-util.min.js,/wp-content/themes/ami-bauer/assets/build/js/main.bundle.js?m=1790258563j" ></script>
2813<script type="text/javascript" src="https://static.adsafeprotected.com/vans-adapter-google-ima.js" id="ami-googleima-js"></script>
vendor: 1 bytes, line 2813
2813
2814<script type="text/javascript" id="ami-global-alerts-js-extra"> 2815/* <![CDATA[ */ 2816var agal10n = {"rest_endpoint_alerts":"https://www.lifeandstylemag.com/wp-json/ami/v1/global-alerts","server_timezone":"-4","time_increments":{"second":"second","minute":"minute","hour":"hour","day":"day","week":"week","month":"month","year":"year","pluralizer":"s"}}; 2817//# sourceURL=ami-global-alerts-js-extra 2818/* ]]> */ 2819</script>
vendor: 1 bytes, line 2819
2819
2820<script type="text/javascript" src="https://www.lifeandstylemag.com/_static/??-eJydzD0OwjAMBtALkRoqlZ8BIa7AwpwmVnDkJlU+B8TtYWNnetuj1+pCLcbFKKh8cUt3q/YkBYSHbxzJA2ygDIoCo/rkpv594yAt3CUmtmHuJSoPGRv6Y0xaZ69X5Wb4VZflvDuctuN0nPZj/gCc2j7t" ></script>
2820<script id="wp-emoji-settings" type="application/json"> 2821{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://www.lifeandstylemag.com/wp-includes/js/wp-emoji-release.min.js?ver=6.9.9"}} 2822</script>
vendor: 1 bytes, line 2822
2822
2823<script type="module"> 2824/* <![CDATA[ */ 2825/*! This file is auto-generated */ 2826var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); 2827//# sourceURL=https://www.lifeandstylemag.com/wp-includes/js/wp-emoji-loader.min.js 2828/* ]]> */ 2829</script>
2829 2830
2830<script> 2831 // US-1872 Call AJAX from windows.onload 2832 ( function( $ ) { 2833 $( window ).load( () => { 2834 2835 const cachedId = localStorage.getItem( 'perClientId' ); 2836 2837 if ( null === cachedId || "" === cachedId ) { 2838 const clientId = Date.now() + Math.random(); 2839 2840 if ( window.location.hostname.indexOf( 'usmagazine' ) !== -1 && !!window.Worker ) { 2841 2842 //console.log("WWW creating worker for permutive button "); 2843 var worker = new Worker( '/wp-content/themes/ajax-onload.js' ); 2844 worker.onmessage = function( ev ) { 2845 2846 const newClientId = ev.data; 2847 2848 console.log( '%c Got via Worker: ' + newClientId, 'background: #27ae60; color: #000; padding: 2px 10px 2px 5px' ); 2849 2850 if ( newClientId ) { 2851 localStorage.setItem( 'perClientId', newClientId ); 2852 let identities = [{ 2853 "id": newClientId, 2854 "tag": "publisherUserId", 2855 "priority": 0 2856 }]; 2857 2858 try { 2859 if ( undefined !== window.cognito_user ) { 2860 identities.push( { 2861 "id": window.cognito_user.hash_email, 2862 "tag": "email_sha256", 2863 "priority": 1 2864 } ); 2865 } else { 2866 let cognito_user = localStorage.getItem( 'cognito_'+window._cognito.clientId+'_user' ); 2867 if ( null != cognito_user ) { 2868 let cognito_user_json = JSON.parse(cognito_user); 2869 identities.push( { 2870 "id": cognito_user_json.hash_email, 2871 "tag": "email_sha256", 2872 "priority": 1 2873 } ); 2874 } 2875 } 2876 if ( undefined !== window.cognito_user ) { 2877 identities.push({ 2878 "id": window.cognito_user.id, 2879 "tag": "mylo_username", 2880 "priority": 2 2881 }); 2882 } else { 2883 let cognito_user = localStorage.getItem( 'cognito_'+window._cognito.clientId+'_user' ); 2884 if ( null != cognito_user ) { 2885 let cognito_user_json = JSON.parse(cognito_user); 2886 identities.push( { 2887 "id": cognito_user_json.id, 2888 "tag": "mylo_username", 2889 "priority": 1 2890 } ); 2891 } 2892 } 2893 2894 } catch ( e ) { 2895 console.log( 'permutive identity: ', e ); 2896 } 2897 2898 console.log( 'identity', identities ); 2899 } 2900 }; 2901 worker.postMessage( ['permutive', clientId] ); 2902 } else { 2903 2904 $.ajax( { 2905 url: '/wp-admin/admin-ajax.php?action=get_client_id&clientId=' + clientId 2906 } ).done( ( ajaxResponse ) => { 2907 const parsedResponse = JSON.parse( ajaxResponse ); 2908 2909 console.log( '%c Got: ' + parsedResponse.clientId, 'background: #27ae60; color: #000; padding: 2px 10px 2px 5px' ); 2910 2911 if ( parsedResponse.hasOwnProperty( 'clientId' ) ) { 2912 localStorage.setItem( 'perClientId', parsedResponse.clientId ); 2913 let identities = [{ 2914 "id": parsedResponse.clientId, 2915 "tag": "publisherUserId", 2916 "priority": 0 2917 }]; 2918 2919 try { 2920 if ( undefined !== window.cognito_user ) { 2921 identities.push( { 2922 "id": window.cognito_user.hash_email, 2923 "tag": "email_sha256", 2924 "priority": 1 2925 } ); 2926 } else { 2927 let cognito_user = localStorage.getItem( 'cognito_'+window._cognito.clientId+'_user' ); 2928 if ( null != cognito_user ) { 2929 let cognito_user_json = JSON.parse(cognito_user); 2930 identities.push( { 2931 "id": cognito_user_json.hash_email, 2932 "tag": "email_sha256", 2933 "priority": 1 2934 } ); 2935 } 2936 } 2937 if ( undefined !== window.cognito_user ) { 2938 identities.push({ 2939 "id": window.cognito_user.id, 2940 "tag": "mylo_username", 2941 "priority": 2 2942 }); 2943 } else { 2944 let cognito_user = localStorage.getItem( 'cognito_'+window._cognito.clientId+'_user' ); 2945 if ( null != cognito_user ) { 2946 let cognito_user_json = JSON.parse(cognito_user); 2947 identities.push( { 2948 "id": cognito_user_json.id, 2949 "tag": "mylo_username", 2950 "priority": 1 2951 } ); 2952 } 2953 } 2954 2955 } catch ( e ) { 2956 console.log( 'permutive identity: ', e ); 2957 } 2958 if ( window.permutive ) { 2959 window.permutive.identify( identities ); 2960 console.log( 'identity', identities ); 2961 } 2962 } 2963 2964 } ); 2965 } 2966 } else { 2967 let identities = [{ 2968 "id": cachedId, 2969 "tag": "publisherUserId", 2970 "priority": 0 2971 }]; 2972 try { 2973 if ( undefined !== window.cognito_user ) { 2974 identities.push( { 2975 "id": window.cognito_user.hash_email, 2976 "tag": "email_sha256", 2977 "priority": 1 2978 } ); 2979 } else {
2980 let cognito_user = localStorage.getItem( 'cognito_'+window._cognito.clientId+'_user' ); 2981 if ( null != cognito_user ) { 2982 let cognito_user_json = JSON.parse(cognito_user); 2983 identities.push( { 2984 "id": cognito_user_json.hash_email, 2985 "tag": "email_sha256", 2986 "priority": 1 2987 } ); 2988 } 2989 } 2990 if ( undefined !== window.cognito_user ) { 2991 identities.push({ 2992 "id": window.cognito_user.id, 2993 "tag": "mylo_username", 2994 "priority": 2 2995 }); 2996 } else { 2997 let cognito_user = localStorage.getItem( 'cognito_'+window._cognito.clientId+'_user' ); 2998 if ( null != cognito_user ) { 2999 let cognito_user_json = JSON.parse(cognito_user); 3000 identities.push( { 3001 "id": cognito_user_json.id, 3002 "tag": "mylo_username", 3003 "priority": 1 3004 } ); 3005 } 3006 } 3007 3008 } catch ( e ) { 3009 console.log( 'permutive identity: ', e ); 3010 } 3011 if ( window.permutive ) { 3012 window.permutive.identify( identities ); 3013 console.log( 'identity', identities ); 3014 } 3015 } 3016 } ); 3017 } )( jQuery ); 3018 </script>
3018 3019 3020 </body> 3021</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.