>

All products featured on Glamour are independently selected by our editors. However, when you buy something through our retail links, we may earn an affiliate commission.

Karla Souza used to be the kind of person who hated waking up early to spend hours getting camera-ready. Now, 13 months into the pandemic, the former How to Get Away With Murder actor says it’s one of the highlights of her day.  

“After a year of not having any makeup, any hair, any anything, I was so happy to get someone to literally give me a proper hair trim and have clothes on that weren’t pajamas or sweatpants,” she says. “And then to put makeup on me again, I was like, Oh, it’s still there, it just takes 15 people and a lot of products to look a certain way.”

While 5 a.m. wake-up calls might draw the occasional “ugh” from the 35-year-old, she’s more than grateful to be back at work, starring in ABC’s newest sitcom, Home Economics (premiering Wednesday, April 7). She plays a mom of three opposite Topher Grace, who plays her onscreen husband. The series is a mix between Modern Family and Life in Pieces in that it focuses on a trio of siblings, one who is part of the wealthy 1%, another who is middle-class, and one who’s barely holding it together.  

“There’s a lot of Karla in my character, Marina,” Souza tells Glamour. “She has three kids; I have two kids under three. She’s exhausted; I’m exhausted. She wishes she could have a glass of wine for every diaper she changes. And when she says she’s taking a long shower, she’s actually napping on the bathmat. It’s just so much of me.”

But it’s more than just fiction mimicking real life on the parenting front. The Mexican-born actress speaks Spanish on the show and points to two of the show’s Latina writers, Jess Piñeda and Ashly Perez, for helping to make Marina a fully realized character. “I feel very seen and supported by that. It’s a great collaboration,” Souza says, adding that it also extends to the wardrobe department. “I pushed to have Marina wear clothes from Latin-owned companies and brands, and they did. I’m so glad we were able to have that representation onscreen through my wardrobe, too.”

Off-screen, Souza is just as committed to what she wears, especially when it comes to makeup and skin care. In between filming and breastfeeding, she filled us in on the products she can’t live without for another round of Glamour’s Big Beauty Questions.

Instagram content

This content can also be viewed on the site it originates from.

What’s one beauty trend you’re obsessed with right now?

I might be totally behind on this, but I love different colors on my nails. I remember watching Promising Young Woman and seeing [Carrie Mulligan’s character] had that. I don’t know if that’s been happening for three years, but that’s a trend that I’m liking a lot right now! And that taking care of your skin is more important right now than makeup. I know that beauty can sometimes be enhancing what you have, but I definitely feel like if it is coming from taking care of ourselves, then that’s the holistic approach—in my view—to beauty. 

What beauty rule do you think is B.S.?

Words like antiaging. Why are people using that? I am aging! Or concealer. I’m like, Do I have to conceal something? Why can’t we find loving self-care words to name these things? I mean, you wouldn’t say anti-breathing. So let’s find different words for that.

What’s the best beauty advice you’ve received?

Growing up in Mexico and the U.S. and France, I went through three different cultures as a young girl and as a teen, and saw so many different standards of beauty. In France, little to no makeup was the way to go. In Mexico, it was the opposite. So what that taught me was that I could make up my own standards because the standard is me. Now, with that said, I still grew up hearing things like, “be proper,” or “don’t speak your mind because it’s not attractive,” or “you better look a certain way or boys won’t like you,” because of how the culture works and the system works. But luckily, as an adult, I’ve been able to unlearn all these things. And my hope is that with my daughter I can pass on the freedom of loving who you are. As a mother, that’s what I look forward to more than anything.

Most PopularBeauty53 Cool Things to Do With Your Nails This Summer

StyleRita Ora Just Took Her Sheer Dress Obsession to the Next Level

StyleJennifer Lawrence Is Dressed Like Every Girl I Know in Bushwick

What skin-care products do you swear by?

Right now my situation is that I’m breastfeeding two kids, so I am as dry as the driest desert in the land! Not even Aquaphor does it for me. So I finally found a shea butter balm called Liha from Thirteen Lune. It’s a Black- and brown-owned company, everything is clean, and it comes from West Africa. You can put it on your face, on your hair, on your body, etc. But the trick for me is to put it on in the shower because the hot water helps make it easier to apply all over since it’s so thick. It helps with stretch marks, too. 

Something else I got at Thirteen Lune that I love is from Gloryscent Beauty—its Urbana elixir with edelweiss and ginseng. It’s one of those spraying, freshen-up kind of mists that I always take with me because I’m so dry. It revives my face, my mood, and smells lovely. And then I love anything from Beautycounter because the entire line is clean. I love their deodorant, which is all-natural. 

Health-FitnessIt’s Never Too Late to Learn How to Talk Dirty

EntertainmentOutlander Season 7: Get Ready for More Intimate Scenes with Jamie and Claire

Health-FitnessHow to Be—Or Find—A Sexual Unicorn

BeautyHow to Protect Your Skin From Poor Air Quality, According to Dermatologists

iframe”);t&&!n.length&&e(!0),n.length&&e(!1)}function connectionBait(e,t){const n=new XMLHttpRequest;n.open(“GET”,”https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js”,!0),n.onreadystatechange=function(){4===n.readyState&&0===n.status&&e(!0),4===n.readyState&&200===n.status&&(t||e(!1))},n.send()}function detect(e,t){let n=!1;const r={},o={};function i(){return function(t){n||(n=!0,cleanUp(o,r),e(t))}}function s(){setTimeout((()=>{cosmeticBait(i(),r,o)}),1)}function a(){setTimeout((()=>{adServerLoaded(i(),t)}),4e3)}connectionBait(i(),t),”complete”===document.readyState?(s(),a()):”interactive”===document.readyState?(s(),window.addEventListener(“load”,a,!1)):(window.addEventListener(“DOMContentLoaded”,s,!1),window.addEventListener(“load”,a,!1))}function AdBlockDetect(e,t){const n=t.getSingleInstance().getPageDefinition().slotNames;detect((t=>{t?e.emit(“ads.environment.adblock.detected”):e.emit(“ads.environment.adblock.notdetected”),set$1(window,”cns.pageContext.adBlock”,t),sparrowCollector.onAdBlockDetected(t),snowplowCollector.onAdBlockDetected(t)}),(null==n?void 0:n.length)>0)}function isPlainObject(e){return!!e&&e.constructor===Object}function concatUniques(e){if(!(e=e.filter(Array.isArray)).length)return[];const t=e.shift();return Array.from(new Set(t.concat.apply(t,e)))}function mergeBase(e,t,n,r){let o;if(isPlainObject(t)?o=e.filter((e=>isPlainObject(e[n]))):Array.isArray(t)&&(o=e.filter((e=>Array.isArray(e[n])))),o&&o.length){t=merge(o.map((e=>e[n])),r)}return t}function merge(e,t){const n=e.filter((e=>!!e));if(n<2)return e[0];const r=concatUniques(n.filter((e=>!!e)).map(Object.keys)),o=n[0];return r.reduce(((e,r)=>{let o=n.filter((e=>void 0!==e[r]));if(t){let n=!1,i=o[0][r];for(let e=1;e=0;o–){let i=n[o][r];if(void 0!==i)return e[r]=mergeBase(n,i,r,t),e}return e}),o)}function mergeViewportSizes(e,t){const n={};return Object.keys(e).forEach((r=>{if(n[r]=e[r]||[],t&&void 0!==t[r])if(!1===t[r]||!t[r]&&!1===e[r])n[r]=!1;else{n[r]=concatUniques([e[r],t[r]]);const o=n[r].filter((e=>e&&”-“===e[0])),i=o.map((e=>e.slice(1))),s=o.concat(i);n[r]=difference(n[r],s)}})),n}function mergeObjectsOfArrays(e){return concatUniques(e.map(Object.keys)).reduce(((t,n)=>{const r=e.map((e=>e[n])).filter(Array.isArray);return r.length&&(t[n]=concatUniques(r)),t}),{})}const isRunningOnClient=”undefined”!=typeof window;function isObject(e){return”object”==typeof e&&e.constructor===Object}function getRender(e){return pick(e,[“desktop”,”tablet”,”mobile”,”constellation”,”slot”])}function stringToFunction(string){return eval(“(“+string+”)”)}function updateSlotBlock(e){e.when&&(e.when=isRunningOnClient&&stringToFunction(e.when)||e.when.toString()),e.in&&e.in.el&&e.in.when&&(e.in.when=isRunningOnClient&&stringToFunction(e.in.when)||e.in.when.toString())}function slotComplexRenderPreProcessor(e){Object.values(e||{}).forEach((e=>{isObject(e)&&e.every&&e.el&&updateSlotBlock(e)}))}function slotComplexRenderProcessor(e){e&&(e.slot?slotComplexRenderPreProcessor(e.slot):Object.values(e).forEach((e=>{slotComplexRenderPreProcessor(e.slot)})))}function mergePlugins(e,t){return Object.keys(t).reduce(((n,r)=>{const o=merge([{},e[r],t[r]],((e,t)=>{if(!1!==e&&!0===t)return e}));return o&&(n[r]=o),n}),{})}function mergeSlotTypeDefinitions(e,t){return Object.keys(t).reduce(((n,r)=>{const o=mergeAdTechConfigs(e[r],t[r]);return o&&(n[r]=o),n}),{})}const specialKeys={types:(e,t)=>{if(isObject(e))return mergeSlotTypeDefinitions(e,t)},groups:(e,t)=>e?isObject(e)?concatUniques([e,t]):void 0:t,targeting:(e,t)=>e?isObject(e)?mergeObjectsOfArrays([e,t]):void 0:t,position:(e,t)=>e?isObject(e)?mergeObjectsOfArrays([e,t]):void 0:t,content_type:(e,t)=>e?isObject(e)?mergeObjectsOfArrays([e,t]):void 0:t,sizes:(e,t)=>{if(isObject(e))return mergeViewportSizes(e,t)},render:(e,t)=>(slotComplexRenderProcessor(e),slotComplexRenderProcessor(t),getRender(e?t||e:t)),plugins:mergePlugins};function adConfigMerger(e,t,n){let r;return specialKeys[n]?r=specialKeys[n](e,t):Array.isArray(e)&&Array.isArray(t)&&(r=t),r}function mergeAdTechConfigs(e,t){return merge([{},e,t],adConfigMerger)}const errorMessage=”Ads — Ad unit path generation error : “,matcher$1=”[^A-Za-z0-9]”;function dashSlugify(e){const t=new RegExp(matcher$1,”g”);return e&&e.toString().toLowerCase().replace(t,”-“).replace(/-+/g,”-“).replace(/(^-|-$)/g,””)}function evalPath(fnString,options){try{const pathFn=eval(“(“+fnString+”)”);if(“function”==typeof pathFn)return pathFn(options);error$1(`${errorMessage} generation function is not a function`)}catch(e){error$1(`${errorMessage} generation function cannot be evaluated`)}}function searchMap(e,t){return Object.keys(e).reduce(((n,r)=>find$1(e[r],(e=>e===t))?r:n),!1)}function findCategory(e){let t=e.channel,n=t?dashSlugify(t):”misc”;return n=”home”===n?”homepage”:n,n}function findContentType(e){const t=get$1(e,”adUnit.map.contentType”);t||error$1(`${errorMessage} Content type map is missing in the config`);const n=searchMap(t,e.templateType);return n||error$1(`${errorMessage} contentType is undefined`),n}function matchAdUnitPathComponent(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:””;t.sort(((e,t)=>{const n=Array.isArray(e)?e[0].length:e.length;return(Array.isArray(t)?t[0].length:t.length)-n}));for(let n=0;n{e[t]=e[t]||0;const n=e[t];return e[t]++,n},this.current=t=>e[t]||0},PositionCounter=function(){let e={};this.next=t=>{e[t]=e[t]||1;const n=e[t];return e[t]++,n}},Store=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=new Map(Object.entries(e));this.getState=e=>t.has(e)?t.get(e):{},this.setState=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=t.has(e)?t.get(e):{},o=Object.freeze(_objectSpread2(_objectSpread2({},r),n));return t.set(e,o),o},this.getStore=()=>t},SlotStore=function(){const e=new Store,t=new Set;this.getSlotState=t=>e.getState(t),this.setSlotState=(t,n)=>e.setState(t,n),this.isSpacerCreative=e=>t.has(e),this.setSpacerCreativeId=e=>{t.add(e)},this.getStore=()=>e.getStore()},matcher=”[^A-Za-z0-9]”;function slugify(e){const t=new RegExp(matcher,”g”);return e.toString().toLowerCase().replace(t,”_”).replace(/_+/g,”_”).replace(/(^_|_$)/g,””)}function defineReadOnlyProperties(e,t){const n=Object.keys(t),r={};for(let e=0;e{!n&&e[t]&&(n=e[t])})),n||e._default||e.__default}function getSpecificityPattern(e){let t=e.slug,n=e.channel,r=e.subChannel,o=e.templateType;return[t,`${n}_${r}_${o}`,`${n}_${o}`,`${o}`]}function getSlotNamesForPage(e,t){const n=getSpecificityPattern(e);return matchVariantPattern(get$1(t,”slot.sets”),n)}function getConfig(){return get$1(window,”cns.config.config”)}function getBrandAdUnitId(){return get$1(getConfig(),”slot.__auid_one”)}function getAdUnit(){const e=get$1(window,”cns.config.config.ad_unit”)||{};return{generatePath:e.generate_path,categoryMatch:e.category_match,contentTypeMatch:e.content_type_match,map:{contentType:get$1(e,”map.content_type”)}}}function getNetwork(){return get$1(window,”cns.config.config.network”)}function getViewportRange(e,t,n){const r=getConfig()[n],o=r&&matchVariantPattern(r,e);return o&&o[t]||o||0}function getPathOverride(){return queryParameters&&queryParameters.ao_iu}function getVersoFlag(e){const t=get$1(e,”keywords.platform”)||[];return!!(t.length&&”verso”===t[0])}function getOverrideVpRange(e,t){return get$1(t,`request_vp_range.${e}`)}function getPageRefreshTime(){return getConfig().refresh}function CompleteDefiner(e,t,n){const r=new SlotCounter,o=new PositionCounter,i=new SlotStore,s=getSpecificityPattern(e),a=getConfig(),c=a.slot.types,l=getSlotNamesForPage(e,a),d=c._default||{},u=(a||{}).useBlueprintTargeting,g=getTargetingKeyTranslator(void 0!==u&&u),p=”for_children”,f=”static_refresh_size”,m=”can_be_hidden”,y=”insert_after_react_ready”,b=”is_sticky”,h=”required_targeting”,w=”wait_for_oop”;function $(e){const t=e.render;return t&&(t.slot||t[n]&&t[n].slot)}function S(e,t,r,o){e||warn(`Invalid sizes: unable to define ‘${r}’ on ${n}.`,{definition:o,slotName:r}),t||warn(`Invalid render: unable to define: ‘${r}’ on ${n}`,{definition:o,slotName:r})}const v=freeze(l.reduce(((e,r)=>{const o=mergeAdTechConfigs(d,c[r]._default),i=function(e){const n=matchVariantPattern(c[e],s);return t?mergeAdTechConfigs(n,t):n}(r),a=mergeAdTechConfigs(o,i);return function(e,t,n){const r=t.sizes,o=r&&r[n]&&r[n].length,i=r&&!1===r[n],s=$(t),a=o&&!i;return!!t.isOutOfPage||(S(a,s,e,t),o&&!i&&s)}(r,a,n)&&(e[r]=freeze(a)),e}),{})),T=freeze(Object.keys(v));const P=new function(){defineReadOnlyProperties(this,{slug:e.slug,server:e.server,keywords:e.keywords,channel:e.channel||”misc”,subChannel:e.subChannel,subSubChannel:e.subSubChannel,device:n,templateType:e.templateType,contentType:e.contentType,forChildren:e[p],slotNames:T,network:getNetwork(),brand:getBrandAdUnitId(),requestViewportRange:getViewportRange(s,n,”request_vp_range”),adUnit:getAdUnit(),isVerso:getVersoFlag(e),useRoadblock:getConfig().useRoadblock,lazyloadSettings:getViewportRange(s,n,”lazyload_settings”),pageRefresh:getPageRefreshTime()}),freeze(this)};function A(t){const i=v[t]?v[t]:{sizes:{}};function s(e,n){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e=void 0!==e?e:r.next(t);const s=`${t}_${e}`;n=void 0!==n?n:o.next(this.position);const a=this.position&&slugify(this.position),c=`${a}_${n}`;defineReadOnlyProperties(this,{id:s,slotCount:e,positionCount:n,positionId:c,data:i}),this.getAdUnitPath=()=>getAdUnitPath(this,P),freeze(this)}this.getRenderBlock=()=>$(i),this.getSizes=()=>i.sizes[n],this.getSizesArray=()=>sizesToArray(i.sizes[n]),this.getSizeMapping=()=>{const e=window.googletag.sizeMapping();return e.addSize([1024,0],sizesToArray(i.sizes.desktop)).addSize([768,0],sizesToArray(i.sizes.tablet)).addSize([0,0],sizesToArray(i.sizes.mobile)),e.build()},this.shouldWaitUntilVisibleBeforeDisplay=()=>!i[m],this.getCustomData=()=>i.data,s.prototype=this,this.getSlotDefinition=function(){for(var e=arguments.length,t=new Array(e),n=0;n{const t=g(“pos_instance”),n=g(“ctx_slot_instance”),r=parseInt(e.getTargeting(t)[0],10);return new s(parseInt(e.getTargeting(n)[0],10),r)},this.getSlotRefreshTime=(e,t,n)=>{let r;return r=void 0!==t?t:e,r&&r[n]&&(r=r[n]),r},defineReadOnlyProperties(this,{slotName:t,isOutOfPage:!!i.isOutOfPage,refresh:this.getSlotRefreshTime(P.pageRefresh,i.refresh,n),isSticky:isStickyDeviceEnabled(i[b],n),hasStaticRefreshSize:!!i[f],suffix:i.suffix,channel:e.channel,subChannel:e.subChannel,subSubChannel:e.subSubChannel,templateType:e.templateType,override:getPathOverride(),brand:getBrandAdUnitId(),network:getNetwork(),shouldWaitForOOP:i[w],shouldWaitForReact:!!i[y],requiredTargeting:i[h]||[],position:i.position,overrideRequestViewportRange:getOverrideVpRange(n,i)}),freeze(this)}this.getSlotTypeDefinition=e=>new A(e),this.getSlotDefinitionFromGPTSlot=e=>{const t=e.getSlotElementId().split(“_”);t.pop();return new A(t.join(“_”)).getSlotDefinitionFromGPTSlot(e)},this.getSlotStateStore=()=>i,this.getPageDefinition=()=>P,freeze(this)}const reactReadyEvent=”react.ready”;function onReactReady(){set$1(window,”_cne.pageCreated”,!0)}function enableCNE(e){if(e.history(reactReadyEvent).length)return onReactReady();e.on(reactReadyEvent,onReactReady)}const eval2=eval;function getText(e){let t=””;const n=e.childNodes;for(let e=0;ee.previousSibling,above:e=>e.previousSibling,after:e=>e.nextSibling,below:e=>e.nextSibling,prepend:e=>e.firstElementChild,append:e=>e.lastElementChild};function getInsertionTarget(e,t){if(insertionMethods[t])return insertionMethods[t](e)}function alreadyExists(e,t){const n=getInsertionTarget(e,t),r=n&&n.classList&&n.classList.contains(“cns-ads-stage”),o=n&&n.firstChild,i=o&&o.classList&&o.classList.contains(“cns-ads-stage”);return!(!r&&!i)}function checkEvery(e){let t=e.injectionBlock,n=e.index;return”number”==typeof t.every&&!!t.every&&”number”==typeof n}function checkCustomCondition(e){return”function”==typeof e.customConditionFn}const shouldAddSlotConditions=[{name:”every”,check:checkEvery,fn:e=>(e.index+1)%e.injectionBlock.every==0},{name:”custom condition”,check:checkCustomCondition,fn:e=>(0,e.customConditionFn)(e.domNode,e.meta)}];function shouldAddSlot(e){for(let t=0;t{const r=e[n];let o;return”string”==typeof r?o=findAll(r):isValidComplexInjection(r)?o=getDomNodesForInjectionBlock(r):(o=[],error$1(“invalid”,r)),n=normalizeMethod(n),o=o.filter((e=>!alreadyExists(e,n))),o&&o.length&&(t[n]=o),t}),{})}const PromiseLock=function(){let e;return function(t){return function(){for(var n=arguments.length,r=new Array(n),o=0;ot(…r)));return e=n.then((()=>{})),n}return e=t(…r),e}}};function createContainerEl(e,t,n){const r=createElement(“div”,{id:`${e}_${t}`});return addClasses(r,[“cns-ads-container”]),setStyle(r,{margin:”0px auto”,boxSizing:”content-box”}),n&&setElementData(r,n),r}function createAdDivs(e,t,n,r){const o=”cns-ads-slot-type-“,i=e.replace(new RegExp(“_”,”g”),”-“).toLowerCase(),s=createElement(“div”,{id:`${o}${i}-${t}`});addClasses(s,[“cns-ads-stage”,o+i,`${o+i}-${t}`]),setElementData(s,{name:`${e}_${t}`,”slot-type”:e}),r||setStyle(s,{fontSize:0,lineHeight:0,overflow:”hidden”}),”_out_of_page”===e&&addClasses(s,[“cns-ads-slot-type-out-of-page”]);const a=createElement(“div”);return addClasses(a,[“cns-ads-flex-sizer”]),s.appendChild(a),s.appendChild(createContainerEl(e,t,n)),s}function InjectRefreshDisplayInjectionStrategy(e,t,n,r){window.googletag=window.googletag||{};const o=window.googletag,i={after:(e,t)=>e.parentNode.insertBefore(t,e.nextSibling),prepend:(e,t)=>e.insertBefore(t,e.children[0]),append:(e,t)=>e.appendChild(t),before:(e,t)=>e.parentNode.insertBefore(t,e)};this.insertSlot=function(s,a,c,l,d){fastdom.mutate((()=>{const u=createAdDivs(a.slotName,a.slotCount,_objectSpread2(_objectSpread2({},a.getCustomData()),a.data),r);!function(e,t,n){i[t]?i[t](e,n):e[t](n)}(c,l,u),d(u,a,(()=>{((r,i)=>{const s=t.getSingleInstance().getPageDefinition();e([“refreshLC-serviceLT”],{pageDefinition:s},(t=>(applyTargeting(o.pubads(),t),e([“refresh”],{slotDefinition:i,slot:r,pageDefinition:s},(e=>{e?(applyTargeting(r,e),n.reset(i),get$1(window,”cns.config.config.useRoadblock”)||o.pubads().refresh([r],{changeCorrelator:!1}),debug$1(`refreshing.${r.getSlotElementId()}`)):error$1(“slot targeting is missing”,s,i)})))))})(s,a)}))}))}}const allowedIntersectionOptions=[“threshold”,”rootMargin”],defaultIntersectionObserverOptions={threshold:0,rootMargin:”0px 0px”},_EventEmitter=new EventEmitter(“VisibilityObserver”),debug=_EventEmitter.debug,error=_EventEmitter.error;function isIntersecting(e){return any(e,(e=>e.isIntersecting))}function hasHigherIntersectionRatio(e,t){return void 0===e||any(t,(t=>t.intersectionRatio>=(e||0)))}function getIntersectionObserverOptions(e){return Object.assign({},defaultIntersectionObserverOptions,pick(e,allowedIntersectionOptions))}function observeEvents(e,t,n,r){fastdom.measure((()=>{try{const r=new IntersectionObserver((o=>{hasHigherIntersectionRatio(t.intersectionRatio,o)&&isIntersecting(o)?(debug(“visible”,{el:e,entries:o}),n(!0,r)):(debug(“notVisible”,{el:e,entries:o}),n(!1,r))}),getIntersectionObserverOptions(t));r.observe(e)}catch(e){r(e)}}))}function onIntersection(e,t,n){observeEvents(e,t,(e=>n(e)),(e=>error(“onIntersection”,e)))}function onceVisible(e,t){return new Promise(((n,r)=>{observeEvents(e,t,((e,t)=>{e&&(n(),t.disconnect())}),r)}))}function reactRule(e,t){return!e||t}function targetingRule(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const r=Object.keys(t);return all(e,(e=>find$1(n,(t=>t===e))||find$1(r,(t=>t===e))))}function canRequest(e){let t=e.slotTypeDefinition,n=e.pageTargeting,r=e.slotTargeting,o=e.reactReady,i=e.oopHasRendered,s=e.excludedPositions;const a=!!r,c=targetingRule(t.requiredTargeting,r,n),l=reactRule(t.shouldWaitForReact,o),d=t.shouldWaitForOOP,u=t.position,g=s.has(u);let p=a&&c&&l&&!g&&!(d&&!i);return debug$1(`canRequest.${t.slotName}.${p}`,{slotTypeDefinition:t,pageTargeting:n,slotTargeting:r,reactReady:o,oopHasRendered:i,excludedPositions:s}),p}function UnassumingInsert(e,t,n,r){window.googletag=window.googletag||{};const o=window.googletag,i=t.withTargeting,s=r.getSingleInstance().getPageDefinition().isVerso,a=new InjectRefreshDisplayInjectionStrategy(i,r,n,s),c=new Set;let l=!1,d=!1;function u(e,t){let n;return r.getSingleInstance().getSlotStateStore().setSlotState(e.id,{nodeId:e.data&&e.data[“node-id”]}),n=t?o.defineOutOfPageSlot(e.getAdUnitPath(),e.id):o.defineSlot(e.getAdUnitPath(),e.getSizesArray(),e.id).defineSizeMapping(e.getSizeMapping()),n}function g(e,t){return(n,r,i)=>{const s=function(e){if(e.shouldWaitUntilVisibleBeforeDisplay())return onceVisible}(r),a=()=>{const e=r.id;debug$1(“insert.display”,e),o.display(e),i()},c=e.requestViewportRange,l=t.overrideRequestViewportRange;if(s)return s(n,{rootMargin:`${void 0!==l?l:c}% 0%`}).then(a);a()}}const p=(new PromiseLock)((e=>{const t=e.getSingleInstance().getPageDefinition();return i([“service”],{pageDefinition:t},(n=>{if(n)return applyTargeting(o.pubads(),n),Promise.all(t.slotNames.map((r=>{const s=e.getSingleInstance().getSlotTypeDefinition(r);return function(e,t){let n;const r=e.getRenderBlock();return n=getCandidateElementsFromRenderBlock(r),Promise.all(Object.keys(n).map((r=>(debug$1(“candidatesByMethod.”+e.slotName,{method:r,els:n[r],definition:e}),Promise.all(n[r].map((e=>t(e,r))))))))}(s,((e,r)=>i([“slot”],{pageTargeting:n,slotTypeDefinition:s,reactReady:d,el:e},(p=>{if(!p)return void error$1(“slot type targeting is missing”,t,s);const f=o.pubads().getTargetingKeys();if(!canRequest({slotTypeDefinition:s,pageTargeting:f,slotTargeting:p,reactReady:d,oopHasRendered:l,excludedPositions:c}))return void debug$1(`${s.slotName}.notRequestable`,s,d,n,p);const m=e.dataset.nodeId,y=s.getSlotDefinition(void 0,void 0,_objectSpread2({},m&&{“node-id”:m})),b=y.isOutOfPage,h=u(y,b);if(!h)return void error$1(“the slot cannot be defined”,y,h);h.addService(window.googletag.pubads()),b&&h.addService(window.googletag.companionAds());const w=_objectSpread2({},p);h.updateTargetingFromMap(w),i([“define”],{slot:h,slotDefinition:y},(e=>{applyTargeting(h,e)})),a.insertSlot(h,y,e,r,g(t,s))}))))})));error$1(“page targeting is missing”,t)})).catch(handlePromiseError(“insert error”)).then((()=>new Promise((e=>fastdom.mutate((()=>setTimeout(e,1e3))))))).catch(handlePromiseError(“impossible mutate error”))}));var f;f=()=>{d=!0},e.history(“react.ready”).length?f():e.on(“react.ready”,f),function(){const t=e.on(“#.slotRenderEnded.#”,((n,r)=>{r.topic&&r.topic.includes(“out_of_page”)&&(l=!0,t(),e.emit(“ads.componentDidUpdate”))}))}(),e.on(“ads.excludePositions”,(e=>{e.forEach(c.add,c)})),this.insert=t=>{!function(t){o.pubadsReady?t():e.on(“ads.pubadsReady”,t)}((()=>{p(t),function(t){e.on(“react.ready”,t),e.on(“#.componentDidMount.#”,t),e.on(“#.componentDidUpdate.#”,t)}(debounce((()=>p(t)),500))}))}}function UniqueTimerStore(){const e={};function t(t){const n=e[t];n&&(clearTimeout(n),e[t]=null)}this.startTimer=function(n,r,o){t(n),e[n]=setTimeout((()=>{t(n),r()}),o)},this.endTimer=t}function KeyCounter(){let e={};this.increment=t=>{e[t]||(e[t]=0),e[t]+=1},this.remove=t=>{e[t]&&delete e[t]},this.getCount=t=>e[t]||0}function RefreshControl(e,t){const n=t.withTargeting,r=new EventEmitter(“RefreshControl”).debug,o=new KeyCounter,i=new KeyCounter,s=new Set,a=new Set,c=new Set,l=new UniqueTimerStore,d=[[“aged”,e=>s.has(e)],[“impressions”,e=>i.getCount(e)],[“visible”,e=>c.has(e)]],u=e=>`${e}.refresh_${o.getCount(e)}`,g=t=>e.getSingleInstance().getSlotDefinitionFromGPTSlot(t);function p(t){const i=e.getSingleInstance().getPageDefinition(),s=getSlotById(t),a=g(s);r(`setTargeting.${u(t)}`);const c=getConfig$1(window).config.useBlueprintTargeting,l=getTargetingKeyTranslator(void 0!==c&&c)(“ctx_slot_rn”);return s.setTargeting(l,o.getCount(t)),n([“refreshLC-serviceLT”],{pageDefinition:i},(e=>(applyTargeting(window.googletag.pubads(),e),n([“refresh”],{pageDefinition:i,slotDefinition:a,slot:s},(e=>{applyTargeting(s,e)})))))}function f(e){return void 0===e?3e4:!Number.isNaN(parseInt(e,10))&&e>0?e:0}const m=cumulativeArgumentDebounce((e=>{const t=uniq(e.map((e=>e[0])));if(window.cns.flags.shouldNotRefresh)r(“window.cns.flags.shouldNotRefresh”);else if(r(`refreshing.${t.map((e=>u(e))).join(“,”)}`),t.forEach((e=>h(g(getSlotById(e))))),!get$1(window,”cns.config.config.useRoadblock”)){const e=t.map(getSlotById);window.googletag.pubads().refresh(e,{changeCorrelator:!1})}}),100);function y(e){r(`onChange.${e}.(${d.map((t=>t[0]+”:”+t[1](e))).join(“,”)})`),all(d,(t=>t[1](e)))&&p(e).then((()=>{m(e)}))}function b(e,t){0===(t=f(t))?y(e):l.startTimer(e,(()=>{s.add(e),y(e)}),t),r(`willRefreshIn.${e}.${t}`)}function h(e){const t=e.id;i.remove(t),s.delete(t),b(t,e.refresh)}function w(e){return!e.isOutOfPage&&!window.cns.flags.shouldNotRefresh&&!1!==e.refresh}this.reset=function(e){w(e)?h(e):r(`slotNotRefreshable.${e.id}`)},this.onSlotRenderEnded=function(e){const t=e.slot,n=g(t).id;o.increment(n)},this.onImpressionViewable=function(e){const t=e.slot.getSlotElementId();i.increment(t),r(`${t}.impressionIncremented`),y(t),w(g(e.slot))&&function(e){if(!a.has(e)){const t=getElementById(e);a.add(e),onIntersection(t,{},(t=>{t?(c.add(e),y(e)):c.delete(e)}))}}(t)},this.disableRefresh=function(e){l.endTimer(e)},this.delayRefresh=b,this.normalizeRefreshTimeout=f}function ShareOfVoice(){let e=!1,t=””;this.getTargeting=function(){const e={};return t&&(e.ctx_line_items=[t]),e},this.onSlotRenderEnded=function(n){e||(e=!0,t=n.lineItemId)}}function cnsMetricsApi(){return e=>{e({emit:pixel})}}var updateRefresh=e=>{let t=e.refreshControl;return e=>{let n=e.slotName,r=e.refresh;”number”==typeof r&&r>0?t.delayRefresh(n,r):t.disableRefresh(n)}};function CNSAdsAPI(e,t,n,r){function o(e){let t=e.device,n=void 0===t?”desktop”:t,r=e.server,o=void 0===r?”staging”:r;return new Promise(((e,t)=>{o&&n||t(),e()}))}function i(){return!0===get$1(window,”cns.pageContext.adBlock”)}const s=updateRefresh({refreshControl:t});function a(e,t){const n=e.frameElement.parentElement.parentElement.id;s({slotName:n,refresh:t})}function c(e){const t=window.cns.pageContext,o=new CompleteDefiner(Object.assign({},t,e),null,getViewportTemplate());n.reset((()=>o)),r.insert(n)}function l(){resetUserData(),window.googletag.cmd.push((()=>{window.googletag.pubads().clear(),window.googletag.destroySlots()})),fastdom.mutate((()=>{const e=document.querySelectorAll(“.cns-ads-stage”);for(let t=0;t{}),”adblock.installed”),blocked:deprecated(i,”adblock.blocked”)},pages:{create:c,destroy:l,get:()=>({slots:{add:deprecated(d,”slots.add”),get:deprecated((()=>{}),”slots.get”),refresh:deprecated((()=>{}),”slots.refresh”),destroy:deprecated((()=>{}),”slots.destroy”)}})}})}}function CNSShim(e,t,n,r){const o=new CNSAdsAPI(e,t,n,r);var i;i={ads:o.executeCallback,metrics:cnsMetricsApi()},window.cns.async=function(e,t){i[e](t)},window.cns.queue.forEach((e=>{let t=e.service,n=e.callback;window.cns.async(t,n)})),delete window.cns.queue}var spacerCreative=e=>{let t=e.definer;return e=>{let n=e.creativeId;const r=t.getSingleInstance().getSlotStateStore();r.setSpacerCreativeId(n);const o=r.getStore();window.cnBus&&Array.from(o.values()).forEach((e=>{let t=e.creativeId,r=e.nodeId;r&&t&&n===t&&window.cnBus.emit(`ads.creative.${r}.spacer`,{})}))}};function SafeFrameMessageListener(e){const t=function(t){const n=new Map(Object.keys(t).map((n=>[n,t[n](e)])));return e=>{const t=e.data,r=t.cnsAdEvent,o=t.payload;if(r&&n.has(r)){return n.get(r)(o,e)}}}({updateRefresh:updateRefresh,”ads.creative.spacer”:spacerCreative});window.addEventListener(“message”,t)}function SourceOfTruth(e){let t;this.getSingleInstance=function(){return t||(t=e()),t},this.reset=function(n){t=n?n():e()}}const _window=window,cns=_window.cns,cnBus=_window.cnBus;function about(){return{buildDate:cns.buildDate,fastAdsHead:cns.fastAdsHead,fastAdsFooter:cns.fastAdsFooter,runtimeId:queryParameters.runtimeId||runtimeId}}function attachListeners(e,t){const n=getConfig$1(window),r=new ShareOfVoice,o=new TargetingLifecycle(n,r),i=new RefreshControl(t,o),s=new UnassumingInsert(e,o,i,t);new CNSShim(e,i,t,s),new GPTRouter(t,i,r,e),new SafeFrameMessageListener({refreshControl:i,definer:t}),emitBoomPixel(“adsReady”),cns.addTargeting=o.register,AdBlockDetect(e,t);s.insert(t),sparrowCollector.onRoadblockRendered(cnBus),snowplowCollector.onRoadblockDetected(cnBus)}function initAdsLibrary(){sendBoomerangAdLibraryInformation();const e=new SourceOfTruth((()=>{const e=getViewportTemplate();return new CompleteDefiner(getPageContext(window),null,e)}));setupPermutive(),attachListeners(cnBus,e),enableCNE(cnBus)}function startFooter(){if(addDefaultSubscriptions(cnBus,featureFlags.bus_log),”info”===queryParameters.ao_tools&&append({src:`https://ad-tools.condenastdigital.com/ads-${queryParameters.ao_tools}/prod/index.js`,targ:document.head}),!queryParameters.ap_noads){if(hasPII())return sparrowCollector.onPIIDetected(),void snowplowCollector.onPIIDetected();setupIAS(),setupMoat(),til((()=>cns.pageContext),(()=>{shouldWaitForConsent()?onConsent(initAdsLibrary):initAdsLibrary()}))}}set$1(window,”cns.buildDate”,getConfig$1(window).buildDate),set$1(window,”cns.fastAdsFooter”,version),set$1(window,”cns.runtimeId”,queryParameters.runtimeId||runtimeId),set$1(window,”cns.about”,about),set$1(window,”cns.timing.footerStart”,Date.now()),set$1(window,”cns.addTargeting”,(()=>{})),startFooter()})();